GNOME Bugzilla – Bug 102941
nautilus exists when unmount is done on a mount point
Last modified: 2004-12-22 21:47:04 UTC
Nautilus is exiting with 0 when unmount is done on a mount point with name starting with "#" (ex: #test). Steps to reproduce: - Log in to GNOME, nautilus desktop comes up. - Create a directory with name "/tmp/#test" - mount something to /tmp/#test from command line - Now run "unmount /tmp/#test" from the command line. Nautilus exists with exit value 0. The problem is seen on Solaris also. I found that fm_desktop_icon_view_finalize is being called, because of which nautilus desktop view exists with 0. I will attach the code flow seen from dbx later.
Created attachment 13446 [details] back race seen from dbx
When unmount is done on a mount point, nautilus deletes the entries it has created earlier(while mounting) under ~/.gnome-desktop/ directory. And then it tries to notify the parent directory(~/.gnome-desktop/) about the removal of an entry. In that process, it gets file name and the parent directory of the removed icon. Since the file that was removed has a '#' in the beginning, it gets wrong parent directory and wrong file name resulting in nautilus desktop exit. Solution: - Don't unescape the path that was passed to the function which takes care of notifying the parent directory once an icon entry is removed. - volume_unmount_callback() is also called for mounts which do not have icons created on the desktop. So do not call unlink_and_notify() if a mount does not have an entry in ~/.gnome-desktop. I will attach a patch soon.
Created attachment 14252 [details] [review] Patch fixes the problem of nautilus exit when a mount point is unmounted
Hi, Could you pls. have a look at this patch? Thanks, Narayana
Looks like the patched function is gone from the source now. Is the problem still there?
Yeah. It is fixed with the changes went into 2.4. Marking the bug as resolved.