Bug 149523 - Problem getting a lock in NFS home directory (linux client/solaris server)
Problem getting a lock in NFS home directory (linux client/solaris server)
Status: CLOSED CURRENTRELEASE
Product: Red Hat Enterprise Linux 4
Classification: Red Hat
Component: nfs-utils (Show other bugs)
4.0
i386 Linux
medium Severity medium
: ---
: ---
Assigned To: Steve Dickson
Ben Levenson
: Regression
Depends On:
Blocks: 154907
  Show dependency treegraph
 
Reported: 2005-02-23 14:39 EST by Need Real Name
Modified: 2007-11-30 17:07 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2005-06-21 12:53:26 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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

  None (edit)
Description Need Real Name 2005-02-23 14:39:57 EST
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@domain.com:
  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 15:01:55 EST
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 13:28:54 EDT
Please updated to RHEL4 U1. The fix for this problem is in that 
release
Comment 5 Steve Dickson 2005-06-21 05:35:39 EDT
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 08:56:58 EDT
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 12:53:26 EDT
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.