GNOME Bugzilla – Bug 575684
Desktop launcher properties window disappears when $HOME is on NFS
Last modified: 2009-03-20 07:48:49 UTC
Please describe the problem: Forwarded from https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/224642/ "To reproduce: * create a desktop launcher called test with command /bin/true * right click on the launcher and choose "properties" * select the "launcher" tab After about a second the properties window should then disappear. The launcher still works, and a workaround is to edit ~/Desktop/test.desktop directly using any text editor." this appears to happen only if $HOME is on NFS and the mount supports locking (ie. using userspace nfs doesn't have this problem). Steps to reproduce: Actual results: Expected results: Does this happen every time? Other information:
Weird. Would be cool if someone could reproduce this in gdb, with a breakpoint at fm-properties-window.c:real_destroy(). That way we could get a backtrace when this happens and see whats causing it.
Tried that, but it didn't seem to catch it (or I did something wrong): Breakpoint 1 (fm-properties-window.c:real_destroy()) pending. (gdb) cont Continuing. [New Thread 0x7fdbf4c6b950 (LWP 9052)] [Thread 0x7fdbf4c6b950 (LWP 9052) exited] [New Thread 0x7fdbf4c6b950 (LWP 9055)] [New Thread 0x7fdbf7f3b950 (LWP 9056)] [Thread 0x7fdbf7f3b950 (LWP 9056) exited] [New Thread 0x7fdbf7f3b950 (LWP 9059)] [Thread 0x7fdbf7f3b950 (LWP 9059) exited] [Thread 0x7fdbf4c6b950 (LWP 9055) exited]
Some further irc debugging shows that this happens because clicking on the text-fields will cause the file to be rewritten, which will replace the old file with a new one. And for some reason Timo gets a DELETED notification event from the directory monitor when this happens, which makes nautilus close the property window for the file. When run here on ext3 I don't get a DELETED event though.
Results from mv temp.txt foobar On NFS: Directory Monitor Event: Child = /mnt/data/temp/foobar Event = DELETED Directory Monitor Event: Child = /mnt/data/temp/temp.txt Event = DELETED Directory Monitor Event: Child = /mnt/data/temp/foobar Event = CREATED On ext3: Directory Monitor Event: Child = /tmp/x/temp.txt Event = DELETED Directory Monitor Event: Child = /tmp/x/foobar Event = CREATED This is IMHO bogus behaviour from NFS. At no time is the "foobar" file not visible, so it should IMHO not be reported as deleted.
I commited a fix so that the file is not rewritten when the text fields don't actually change, but the problem still exists if they do.
Created attachment 130974 [details] [review] a proposed patch for the kernel I already got a propose fix for it (kernel/nfs), but can't test before tomorrow. Attaching here for reference.
I've verified that the attached kernel patch works, so this bug can be closed :)