Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 262856 - unmount of flash fails in kde with org.freedesktop.hal.storage.unmount-others no <-- (privilege,result)
Summary: unmount of flash fails in kde with org.freedesktop.hal.storage.unmount-others...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] KDE (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-17 22:45 UTC by Sergei Danilov
Modified: 2010-06-19 16:01 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
This is how the error looks in dolphin (unmount-others_error_dolphin.png,11.72 KB, image/png)
2009-03-17 22:46 UTC, Sergei Danilov
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Sergei Danilov 2009-03-17 22:45:24 UTC
I have got unmount error when trying to unmount flash card from mount plasmoid or dolphin safe remove.
This is mostly happens when 2 kde user session started at parallel.
Rarery it happens for single user session


Reproducible: Sometimes

Steps to Reproduce:
On my pc it's reproduces this way almost always (4 of 5 times):
0.Run your kde session
1.Insert flash card
2.with ctrl-alt-ins start you use existing session of different user
3.Open dolphin for this user and click on flash icon to mount it (or use plasmoid for this)
4.Try to unmount flash then through dolphin right-click on safely-remove
->this is the the place where error comes.

Actual Results:  
1. In dolphin I see the error message  .
org.freedesktop.Hal.Device.PermissionDeniedByPolicy
org.freedesktop.hal.storage.unmount-others no <-- (privilege,result)
/var/log/messages and .Xsession-erros do not product any valuable info
2. Through unmount plasmoid plasma just stucks and only restart helps.


Expected Results:  
unmount should work normally when 2 users are logged on

What I already did is 
1. modified /etc/PolicyKit/PolicyKit.conf and added :

<match action="org.freedesktop.hal.storage.*"> 
                        <return result="yes"/> 
 </match>

2.Added new policy to /usr/share/PolicyKit/policy , which looks like:
  <action id="org.freedesktop.hal.storage.unmount-others">
    <description>Unmount file systems mounted by other users.</description>
    <message>System policy prevents unmounting media mounted by other users</message>
    <defaults>
      <allow_inactive>no</allow_inactive>
      <allow_active>yes</allow_active>
    </defaults>
  </action>
but it does not solve the problem. 
output of polkit-action for both users looks:
geonix@geonix-laptop /media $ polkit-action
org.freedesktop.policykit.read
org.freedesktop.policykit.revoke
org.freedesktop.policykit.grant
org.freedesktop.policykit.modify-defaults
org.freedesktop.hal.storage.mount-fixed
org.freedesktop.hal.storage.mount-removable
org.freedesktop.hal.storage.unmount-others
org.freedesktop.hal.storage.eject
org.freedesktop.hal.storage.crypto-setup


I have the versions:
 sys-auth/policykit-0.9 
 sys-apps/hal-0.5.11-r8
 kde 4.2.1
 QT 4.5
I would be glad  for any workaround of solution for this issue
Comment 1 Sergei Danilov 2009-03-17 22:46:39 UTC
Created attachment 185354 [details]
This is how the error looks in dolphin
Comment 2 Robert Piasek (RETIRED) gentoo-dev 2009-03-19 13:37:00 UTC
Hi Sergei,

I should close this ticket as invalid because you're not using gentoo's default hal (gentoo's hal doesn't have policykit enabled).

Could you please provide emerge --info as well?

Comment 3 Sergei Danilov 2009-03-19 20:11:09 UTC
Hi Robert, 
I'am using default gentoo hal (and do not use policykit as I know now :).I mentioned Policykit things because googling pointed me to the similar problems caused to policykit usage  
Comment 4 Sergei Danilov 2009-03-19 20:11:58 UTC
here is my emerge --info
Portage 2.2_rc23 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.28-gentoo-r3 x86_64)                                                                       
=================================================================                           
System uname: Linux-2.6.28-gentoo-r3-x86_64-Intel-R-_Core-TM-2_CPU_T5500_@_1.66GHz-with-glibc2.2.5                                                                                      
Timestamp of tree: Sun, 15 Mar 2009 11:30:01 +0000                                          
app-shells/bash:     4.0_p10-r1                                                             
dev-java/java-config: 1.3.7-r1, 2.1.7                                                       
dev-lang/python:     2.5.4-r2                                                               
dev-python/pycrypto: 2.0.1-r8                                                               
dev-util/cmake:      2.6.3                                                                  
sys-apps/baselayout: 2.0.0                                                                  
sys-apps/openrc:     0.4.3-r1                                                               
sys-apps/sandbox:    1.6                                                                    
sys-devel/autoconf:  2.13, 2.63                                                             
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.2               
sys-devel/binutils:  2.19.51.0.3                                                            
sys-devel/gcc-config: 1.4.1                                                                 
sys-devel/libtool:   2.2.6a                                                                 
virtual/os-headers:  2.6.28-r1                                                              
ACCEPT_KEYWORDS="amd64 ~amd64"                                                              
CBUILD="x86_64-pc-linux-gnu"                                                                
CFLAGS="-O2 -march=native -mtune=native -pipe"                                              
CHOST="x86_64-pc-linux-gnu"                                                                 
CONFIG_PROTECT="/etc /usr/kde/4.2/env /usr/kde/4.2/share/config /usr/kde/4.2/shutdown /usr/share/config"                                                                                
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/udev/rules.d"                                                                   
CXXFLAGS="-O2 -march=native -mtune=native -pipe"                                            
DISTDIR="/usr/portage/distfiles"                                                            
FEATURES="autoaddcvs digest distlocks fixpackages metadata-transfer parallel-fetch prelink preserve-libs protect-owned sfperms strict unmerge-orphans userfetch"                        
GENTOO_MIRRORS="ftp://ftp.ds.karen.hj.se/gentoo/ http://ftp.linux.ee/pub/gentoo/distfiles/ http://mirror.gentoo.no/ http://mirror.cambrium.nl/pub/os/linux/gentoo/ http://ftp.ds.karen.hj.se/gentoo/"                                                                               
LANG="en_US.UTF-8"                                                                          
LC_ALL=""                                                                                   
LDFLAGS="-Wl,-O1"                                                                           
LINGUAS="en"                                                                                
PKGDIR="/usr/portage/packages"                                                              
PORTAGE_CONFIGROOT="/"                                                                      
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"                                                                                      
PORTAGE_TMPDIR="/mnt/data/temp"                                                             
PORTDIR="/usr/portage"                                                                      
PORTDIR_OVERLAY="/usr/local/portage"                                                        
SYNC="rsync://rsync.gentoo.org/gentoo-portage"                                              
USE="7zip X a52 aac acl acpi aiglx alsa amd64 amr apache2 archive asf async automount avahi bluetooth branding bzip2 c++ cairo cdr chroot cjk cli cpudetection cracklib curl dbus device-mapper divx4linux dri dts dvd dvdnav dvdr dvdread dxr2 dxr3 emboss encode evo exo fam fb fbcondecor ffmpeg firefox fortran freetype fuse gdbm gif glib glitz gpm hal hashstyle iconv imagemagick imap ipwxgtk1 isdnlog ithreads javascript jpeg kde kdeenablefinal kdeprefix kdexdeltas kipi ldap libnotify linuxthreads-tls mad mikmod mmap mmx mmxext mng mp3 mp4 mpeg mplayer mudflap multilib musepack ncurses network newspr nls nptl nptlonly nsplugin nv nvidia oggopengl openmp pam panel-plugin pcre pdf perl plasma png posix ppds pppd python qt3support qt4 quicktime rar readline reflection samba sdl session smb smbmount smp sndfile spl sse sse2sse3 ssl ssse3 startup-notification svg sysfs syslog tcpd threads thunar-vfs tiff truetype unicode usb userlocales utf utf8 vorbis wavpack wma wma123 xcb xcomposite xforms xine xinerama xml xorg xulrunner xv xvid xvmc zip zlib" ALSA_CARDS="hda-intel usb-audio" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse synaptics evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nvidia vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 5 Sergei Danilov 2009-03-19 20:13:27 UTC
Also I have hal build with the following options:
USE="X acpi crypt debug disk-partition laptop -apm-dell -doc (-selinux)" 0 kB
Comment 6 Robert Piasek (RETIRED) gentoo-dev 2009-03-20 10:23:21 UTC
hmm.. that's strange. I've checked hal ebuild and policykit is disabled by default. Also

polkit-action | grep hal

give me nothing.

Can you please try to reisntall your hal and try again than? It shouldn't install any PK files and should use group based authentication. Also make sure you're in plugdev group.


Thanks,
Rob
Comment 7 Sergei Danilov 2009-03-20 17:49:41 UTC
ok , I reinstalled hal and removed all policy kit modifications I mentioned in description.
Now polkit-action returns
org.freedesktop.policykit.read
org.freedesktop.policykit.revoke
org.freedesktop.policykit.grant
org.freedesktop.policykit.modify-defaults
Also I have chechked : both users are in plugdev group.
Could I use some kind of tracing or debug messages?Hal do not have any such use flags
Comment 8 Robert Piasek (RETIRED) gentoo-dev 2009-03-20 23:28:42 UTC
Well I understand it still doesn't work yet right?

Try reinstalling solid. Restart kde and try if it works.

R
Comment 9 Sergei Danilov 2009-03-21 10:54:29 UTC
Done with reinstalling solid - it still does not work
also reinstalled dolphin with use flag debug - no any info displayed when error appears
btw for single user session i also could repruduce this issue 
Comment 10 Sergei Danilov 2009-03-21 12:14:16 UTC
Also I would add that it's purely kde umount bug , 
because pumount from console works just ok
Comment 11 Robert Piasek (RETIRED) gentoo-dev 2009-03-23 18:32:40 UTC
I was trying to find more information about it, but so far without a success.

On my own setup I use policykit (custom ebuild) for hal. All works fine. I will keep looking and if I find some clues about this problem.


Thanks,
Rob
Comment 12 Sergei Danilov 2009-03-23 21:42:48 UTC
Thanks, 
I would be glad also to try your custom ebuild
Comment 13 Sergei Danilov 2009-03-24 05:14:32 UTC
Ok , I changed following line in the hal ebuild to enable policy kit 
--enable-policy-kit \
Now umount works fine.For me it's ok now
but of course for gentoo it sounds like a workaround at a moment
Comment 14 Robert Piasek (RETIRED) gentoo-dev 2009-03-24 10:37:21 UTC
(In reply to comment #13)
> Ok , I changed following line in the hal ebuild to enable policy kit 
> --enable-policy-kit \
> Now umount works fine.For me it's ok now
> but of course for gentoo it sounds like a workaround at a moment
> 

Currently it is a workaround. I'm working on bringing policykit support for all packages - which hopefully should eliminate problems like this in the future.

For now I will change this bug status for LATER, as it works for you and more proper solution should be introduced once policykit gets better support.
Comment 15 Sergei Danilov 2009-03-24 19:42:33 UTC
sounds ok for me.
thanks for help :)
Comment 16 Tomáš Chvátal (RETIRED) gentoo-dev 2009-08-09 11:49:00 UTC
bugzie.
Comment 17 Tomáš Chvátal (RETIRED) gentoo-dev 2009-08-09 11:49:41 UTC
I tested the connecting/disconnecting in 4.3.0 and looks like our polkit+hal looks fine again :]
Comment 18 Sergei Danilov 2009-08-10 13:22:37 UTC
yep,
I can confirm that in kde 4.3 connect/disconnect works fine.
I'am using sys-apps/hal-0.5.13-r2 with policykit enabled use flag