Bug 149523 - Problem getting a lock in NFS home directory (linux client/solaris server)
Summary: Problem getting a lock in NFS home directory (linux client/solaris server)
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: nfs-utils
Version: 4.0
Hardware: i386
OS: Linux
medium
medium
Target Milestone: ---
: ---
Assignee: Steve Dickson
QA Contact: Ben Levenson
URL:
Whiteboard:
Depends On:
Blocks: 154907
TreeView+ depends on / blocked
 
Reported: 2005-02-23 19:39 UTC by Need Real Name
Modified: 2007-11-30 22:07 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2005-06-21 16:53:26 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
snoop data on solaris server of Linux client (610.00 KB, text/plain)
2005-03-01 20:01 UTC, Need Real Name
no flags Details

Description Need Real Name 2005-02-23 19:39:57 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5)
Gecko/20041107 Firefox/1.0

Description of problem:
We recently upgraded our Linux workstations from RHEL 3 to RHEL 4 and
we began noticing NFS locking problems. Users are unable to get locks
on files from their NFS mounted home directories being served from a
SUN Solaris server. 

When the machine was rolled back to RHEL 3U4 the problem goes away.
Nothing has changed on the server side, the same NFS home directory is
being mounted.

Version-Release number of selected component (if applicable):


How reproducible:
Always

Steps to Reproduce:
1. export KRB5CCNAME=/<nfs mounted home>/krb-ticket.cache
2. /usr/kerberos/bin/kinit

At this point the kinit freezes and the following in noticed in an
xterminal window running top:

top - 12:16:36 up  1:39,  5 users,  load average: 0.30, 0.14, 0.10
Tasks: 109 total,   2 running, 106 sleeping,   0 stopped,   1 zombie
Cpu(s):  4.8% us,  4.5% sy,  0.0% ni, 88.4% id,  0.0% wa,  0.0% hi, 
2.3% si
Mem:   1034156k total,   354408k used,   679748k free,     7372k buffers
Swap:  2097136k total,   165728k used,  1931408k free,   181128k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 2228 rpc       15   0  2560  412  336 S 10.6  0.0   0:04.83 portmap
 5002 joeuser   15   0 58116  18m 8844 S  4.3  1.8   0:10.74
gnome-terminal
 3310 root      16   0  207m  36m 5052 S  2.7  3.6   1:51.17 X
 2308 root      15   0     0    0    0 S  1.7  0.0   0:00.87 lockd
 3755 joeuser   16   0 19808 1744 1556 S  0.3  0.2   0:00.47
gnome-settings-

Notice that portmap and lockd are running and continue to run until
the kinit is killed/terminated.

The following is output from an strace of the portmap command:

munmap(0xb7fff000, 4096)                = 0
open("/etc/hosts.deny", O_RDONLY)       = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=347, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7fff000
read(6, "#\n# hosts.deny\tThis file describ"..., 4096) = 347
read(6, "", 4096)                       = 0
close(6)                                = 0
munmap(0xb7fff000, 4096)                = 0
write(5, "\200\0\0\34GG\261\335\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0"...,
32) = 32
poll([{fd=3, events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=4,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND}, {fd=5,
events=POLLIN|POLLPRI|POLLRDNORM|POLLRDBAND,
revents=POLLIN|POLLRDNORM}], 3, -1) = 1
poll([{fd=5, events=POLLIN, revents=POLLIN}], 1, 35000) = 1
read(5, "\200\0\0TGG\261\337\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2"...,
400) = 88
open("/etc/hosts.allow", O_RDONLY)      = 6
fstat64(6, {st_mode=S_IFREG|0644, st_size=161, ...}) = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xb7fff000
read(6, "#\n# hosts.allow\tThis file descri"..., 4096) = 161
read(6, "", 4096)                       = 0
close(6)                                = 0
munmap(0xb7fff000, 4096) 

3. export KRB5CCNAME= or export KRB5CCNAME=/<local file system>

Unexport the KRB5CCNAME variable, it will normally default to /tmp
which is a local file system.

4)joeuser: /usr/kerberos/bin/kinit
  Password for joeuser:
  joeuser:

I am also able to reproduce this problem with evolution. Apparently
evolution is trying to get locks and it exhibits the same behavior.

Additional info:

Comment 1 Need Real Name 2005-03-01 20:01:55 UTC
Created attachment 111548 [details]
snoop data on solaris server of Linux client

The attached tar file contains network snoops of three different machines. In
our environment our home directories are nfs mounted, I logged into three
different machines RH9/RHEL3/RHEL4 and did the same export/kinit command. On
the RH9 and RHEL3 machine I was successful but on the RHEL4 machine the command
failed.

Comment 3 Steve Dickson 2005-04-16 17:28:54 UTC
Please updated to RHEL4 U1. The fix for this problem is in that 
release

Comment 5 Steve Dickson 2005-06-21 09:35:39 UTC
Has U1 fixed this issue?  If not what version of Solairs was were
you using and what was the mount command that was being used.

Comment 6 Need Real Name 2005-06-21 12:56:58 UTC
Yes U1 has appeared to fix the NFS locking problem that we were noticing. Thanks
for you help in resolving this critical issue.

Comment 7 Jay Turner 2005-06-21 16:53:26 UTC
Closing this bug out based on comment 6.


Note You need to log in before you can comment on or make changes to this bug.