[BUG] server-state-recovery branch fails to mount on x86_64

Bryce Harrington bryce at osdl.org
Fri Oct 20 15:54:28 EDT 2006


Bruce,

We're seeing a new failure in recent git branches, that results in our
64-bit xeons being unable to mount with nfsv4.  Mounting with nfsv3
seems to work okay, and nfsv4 on our 32-bit x86 boxes are okay.

Here is one of the runs exhibiting this problem:

   http://crucible.osdl.org/runs/2543/

You can see in the nfs13.log file, when it starts running newpynfs it
gets the error "mount: nfs12:/: can't read superblock".

Looking at other runs, I suspect this problem may also be present on the
server-cluster-locking-api and now also on the latest nfs-client-stable
branch (linux-2.6.19-rc2-ebfa15f-nfs-client-stable) from 10/19/2006.
We're running the nfs-server-stable branch now.

Jason collected an strace of failing nfsv4 mount on 64-bit xeon (emt64)
(below):

nfs13 ~ # strace mount -tnfs4 -o hard,intr nfs12:/ /mnt/nfs12
execve("/bin/mount", ["mount", "-tnfs4", "-o", "hard,intr", "nfs12:/", "/mnt/nfs12"], [/* 30 vars */]) = 0
uname({sys="Linux", node="nfs13", ...}) = 0
brk(0)                                  = 0x555555674000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c78369000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34406, ...}) = 0
mmap(NULL, 34406, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3c7836a000
close(3)                                = 0
open("/lib/libblkid.so.1", O_RDONLY)    = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\2003\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0755, st_size=42448, ...}) = 0
mmap(NULL, 1088232, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3c7846a000
mprotect(0x2b3c78473000, 1051368, PROT_NONE) = 0
mmap(0x2b3c78572000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x8000) = 0x2b3c78572000
close(3)                                = 0
open("/lib/libuuid.so.1", O_RDONLY)     = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\17\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0755, st_size=15000, ...}) = 0
mmap(NULL, 1060968, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3c78574000
mprotect(0x2b3c78577000, 1048680, PROT_NONE) = 0
mmap(0x2b3c78676000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2000) = 0x2b3c78676000
close(3)                                = 0
open("/lib/tls/libc.so.6", O_RDONLY)    = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\372\306"..., 640) = 640
lseek(3, 64, SEEK_SET)                  = 64
read(3, "\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0"..., 616) = 616
lseek(3, 680, SEEK_SET)                 = 680
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\6\0\0\0"..., 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=1262160, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c78678000
lseek(3, 64, SEEK_SET)                  = 64
read(3, "\6\0\0\0\5\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0\0\0\0@\0\0\0\0"..., 616) = 616
mmap(NULL, 2248584, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3c78679000
mprotect(0x2b3c78795000, 1085320, PROT_NONE) = 0
mmap(0x2b3c78894000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11b000) = 0x2b3c78894000
mmap(0x2b3c7889a000, 16264, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3c7889a000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7889e000
mprotect(0x2b3c78894000, 12288, PROT_READ) = 0
mprotect(0x2b3c78676000, 4096, PROT_READ) = 0
mprotect(0x2b3c78572000, 4096, PROT_READ) = 0
mprotect(0x2b3c78468000, 4096, PROT_READ) = 0
arch_prctl(ARCH_SET_FS, 0x2b3c7889e6e0) = 0
munmap(0x2b3c7836a000, 34406)           = 0
open("/dev/urandom", O_RDONLY)          = 3
read(3, "j\326>\341\334\360\301\343", 8) = 8
close(3)                                = 0
brk(0)                                  = 0x555555674000
brk(0x555555695000)                     = 0x555555695000
open("/dev/null", O_RDWR)               = 3
close(3)                                = 0
getuid()                                = 0
geteuid()                               = 0
getgid()                                = 0
getegid()                               = 0
prctl(0x3, 0x2b3c7889a718, 0x48, 0xffffffffffffffff, 0x4) = 1
open("/etc/blkid.tab", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=106, ...}) = 0
fcntl(3, F_GETFL)                       = 0x8000 (flags O_RDONLY|O_LARGEFILE)
fstat(3, {st_mode=S_IFREG|0644, st_size=106, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7836a000
lseek(3, 0, SEEK_CUR)                   = 0
read(3, "<device DEVNO=\"0x0802\" TIME=\"114"..., 4096) = 106
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x2b3c7836a000, 4096)            = 0
getuid()                                = 0
geteuid()                               = 0
lstat("/etc/mtab", {st_mode=S_IFREG|0644, st_size=942, ...}) = 0
stat("/sbin/mount.nfs4", 0x7fff32753b40) = -1 ENOENT (No such file or directory)
getpid()                                = 9915
open("/etc/resolv.conf", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=92, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7836a000
read(3, "# Generated by dhcpcd for interf"..., 4096) = 92
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x2b3c7836a000, 4096)            = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
socket(PF_FILE, SOCK_STREAM, 0)         = 3
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
connect(3, {sa_family=AF_FILE, path="/var/run/nscd/socket"}, 110) = -1 ENOENT (No such file or directory)
close(3)                                = 0
open("/etc/nsswitch.conf", O_RDONLY)    = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=503, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7836a000
read(3, "# /etc/nsswitch.conf:\n# $Header:"..., 4096) = 503
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x2b3c7836a000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34406, ...}) = 0
mmap(NULL, 34406, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3c7836a000
close(3)                                = 0
open("/lib/libnss_files.so.2", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\220#\0\0"..., 640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=44088, ...}) = 0
mmap(NULL, 1090536, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3c7889f000
mprotect(0x2b3c788a9000, 1049576, PROT_NONE) = 0
mmap(0x2b3c789a8000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x9000) = 0x2b3c789a8000
close(3)                                = 0
mprotect(0x2b3c789a8000, 4096, PROT_READ) = 0
munmap(0x2b3c7836a000, 34406)           = 0
open("/etc/host.conf", O_RDONLY)        = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=1302, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7836a000
read(3, "# /etc/host.conf:\n# $Header: /va"..., 4096) = 1302
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x2b3c7836a000, 4096)            = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=45, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7836a000
read(3, "#\n127.0.0.1\tlocalhost localhost."..., 4096) = 45
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x2b3c7836a000, 4096)            = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=34406, ...}) = 0
mmap(NULL, 34406, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2b3c7836a000
close(3)                                = 0
open("/lib/libnss_dns.so.2", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`\23\0\0"..., 640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=18896, ...}) = 0
mmap(NULL, 1064984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3c789aa000
mprotect(0x2b3c789ae000, 1048600, PROT_NONE) = 0
mmap(0x2b3c78aad000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x3000) = 0x2b3c78aad000
close(3)                                = 0
open("/lib/libresolv.so.2", O_RDONLY)   = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0`9\0\0\0"..., 640) = 640
lseek(3, 624, SEEK_SET)                 = 624
read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32
fstat(3, {st_mode=S_IFREG|0755, st_size=77544, ...}) = 0
mmap(NULL, 1132896, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2b3c78aaf000
mprotect(0x2b3c78ac0000, 1063264, PROT_NONE) = 0
mmap(0x2b3c78bc0000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x11000) = 0x2b3c78bc0000
mmap(0x2b3c78bc2000, 6496, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2b3c78bc2000
close(3)                                = 0
mprotect(0x2b3c78aad000, 4096, PROT_READ) = 0
munmap(0x2b3c7836a000, 34406)           = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.254.1")}, 28) = 0
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
sendto(3, "7\0\1\0\0\1\0\0\0\0\0\0\5nfs12\5nfsv4\3pdx\4osd"..., 42, 0, NULL, 0) = 42
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [76])                = 0
recvfrom(3, "7\0\205\200\0\1\0\1\0\1\0\0\5nfs12\5nfsv4\3pdx\4osd"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.254.1")}, [16]) = 76
close(3)                                = 0
uname({sys="Linux", node="nfs13", ...}) = 0
open("/etc/hosts", O_RDONLY)            = 3
fcntl(3, F_GETFD)                       = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
fstat(3, {st_mode=S_IFREG|0644, st_size=45, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2b3c7836a000
read(3, "#\n127.0.0.1\tlocalhost localhost."..., 4096) = 45
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x2b3c7836a000, 4096)            = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 3
connect(3, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.254.1")}, 28) = 0
fcntl(3, F_GETFL)                       = 0x2 (flags O_RDWR)
fcntl(3, F_SETFL, O_RDWR|O_NONBLOCK)    = 0
poll([{fd=3, events=POLLOUT, revents=POLLOUT}], 1, 0) = 1
sendto(3, "\f$\1\0\0\1\0\0\0\0\0\0\5nfs13\5nfsv4\3pdx\4osd"..., 42, 0, NULL, 0) = 42
poll([{fd=3, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
ioctl(3, FIONREAD, [76])                = 0
recvfrom(3, "\f$\205\200\0\1\0\1\0\1\0\0\5nfs13\5nfsv4\3pdx\4osd"..., 1024, 0, {sa_family=AF_INET, sin_port=htons(53), sin_addr=inet_addr("192.168.254.1")}, [16]) = 76
close(3)                                = 0
rt_sigprocmask(SIG_BLOCK, ~[TRAP SEGV RTMIN RT_1], NULL, 8) = 0
mount("nfs12:/", "/mnt/nfs12", "nfs4", MS_POSIXACL|MS_ACTIVE|MS_NOUSER|0xec0000, 0x555555670b80 <unfinished ...>



----- End forwarded message -----


More information about the NFSv4 mailing list