Bug 161569

Summary: no panel icons/menus when using a NFS mounted $HOME
Product: [Fedora] Fedora Reporter: Jeff Buhrt <buhrt>
Component: gnome-panelAssignee: Mark McLoughlin <markmc>
Status: CLOSED WORKSFORME QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 4   
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-06-29 07:32:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
test-recent-file-locking.c
none
stack trace from gnome panel (w/o any icons/menus)
none
strace of gnome panel
none
The 'real' problem: lockf(...F_TLOCK, 0) is blocking none

Description Jeff Buhrt 2005-06-24 15:18:59 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511

Description of problem:
When using an NFS mounted home directory, no panel icons, menus, etc. will be displayed. Having the same files locally works fine. This used to work fine from FC1 to FC3.

If .recently-used is made as a sym-link to a file on the local disk, everything works fine. 

Version-Release number of selected component (if applicable):
gnome-panel-2.10.1-10

How reproducible:
Always

Steps to Reproduce:
1. Create a dummy user with a home not on NFS, login, note panel icons/menus are fine.
2. NFS mount /home, create an empty directory owned by the dummy user, again login as the dummy user, note the panels are empty
3. Move ~dummy/.recently-used to /tmp, then: ln -s /tmp/.recently-used ~dummy
4. log back in and note the panel icons/menus/etc. are fine again
  

Actual Results:  Panel icons/menus/etc work fine when .recently-used is in a local filesystem, but not when on NFS. At first I thought it was the .gconf/.gconfd NFS lock problem, but those directories are fine both as local and NFS mounted.

Expected Results:  A new user shouldn't have to move a file local just to use a NFS mount home directory.

Additional info:

Comment 1 Mark McLoughlin 2005-06-27 16:34:20 UTC
It could well be an NFS lock issue (but nothing to do with gconf). Could you
make sure NFS lockd is running on the server?

Comment 2 Jeff Buhrt 2005-06-27 17:10:36 UTC
lockd is running. I also verified by manually running:
/etc/rc.d/rc5.d/S14nfslock restart

Comment 3 Mark McLoughlin 2005-06-28 12:37:19 UTC
Okay, need the following:

  1) Get a backtrace of the panel when its showing no icons:

     $> gdb gnome-panel $(pid-of-panel)
     (gdb) thread apply all bt full

  2) Get an strace of the panel:

     $> gnome-session-remove gnome-panel
     $> GNOME_PANEL_DEBUG=1 strace gnome-panel >t.log 2>&1

  3) Compile the program I'm going to attach. If it runs successfully, then
     locking ~/.recently-used is working fine. Otherwise its an NFS locking
     configuration issue of some sort on your side

Comment 4 Mark McLoughlin 2005-06-28 12:38:31 UTC
Created attachment 116058 [details]
test-recent-file-locking.c

Comment 5 Jeff Buhrt 2005-06-28 18:22:54 UTC
Created attachment 116075 [details]
stack trace from gnome panel (w/o any icons/menus)

Comment 6 Jeff Buhrt 2005-06-28 18:24:50 UTC
Created attachment 116076 [details]
strace of gnome panel

Comment 7 Jeff Buhrt 2005-06-28 18:41:24 UTC
Created attachment 116077 [details]
The 'real' problem: lockf(...F_TLOCK, 0) is blocking

The problem isn't that it isn't locking ;), it is that lockf() with F_TLOCK is
blocking (which the man page says shouldn't block). I changed
test-recent-file-locking.c to open just a local file "dummy". Running on a NFS
drive lockf() hangs, on a local disk it runs fine.

A developer here noted he updated this Fedora Core3 box this morning and had
the same problem. Moving and symlinking .recently-used fixed the problem.

Comment 8 Mark McLoughlin 2005-06-29 07:32:32 UTC
lockf(F_TLOCK) will only not block in the case where another program is holding
the lock.

Its obviously blocking here because it can't contact lockd on the server or
something along those lines. Its a configuration issue rather than a panel bug.
Somewhere like fedora-list would be a good place to get help with the problem.