RPCPROG_MNT: RPC: Timed out / receiving NFS error when trying to mount NFS file system after make world

Martin nakal at web.de
Mon Jun 15 22:08:05 UTC 2009


Am Mon, 15 Jun 2009 16:20:59 -0400 (EDT)
schrieb Rick Macklem <rmacklem at uoguelph.ca>:

> Are you using a recently built userland? I ask because there have been
> some recent changes to the rpc routines in libc related to routing 
> replies.
> 
> One of them used a uint32_t argument to _setsockopt() until it
> was changed to "int" on May 28.
> 
> The changes I put in nfsd.c had nothing to do with the "-h" option
> or use of rpcbind(), so I don't think my changes would be the culprit.
> 
> rick

Hi Rick,

I've rebuilt the userland, of course.

# ls -l /lib/libc.so*
-r--r--r--  1 root  wheel  1234432 Jun 15 01:04 /lib/libc.so.7
# ls -l /boot/kernel/kernel
-r-xr-xr-x  1 root  wheel  12010608 Jun 15 01:38 /boot/kernel/kernel


Further info to diagnose the problem:

I've got 3 NICs on 35, 135 and 235 (different subnets).
Netmasks are:
- xx.xx.xx.35/25
- xx.xx.xx.135/26
- xx.xx.xx.235/26

Client is xx.xx.xx.150/26. But you can try it with a single server.
A mount on 127.0.0.1 won't work either.

Here relevant part of rc.conf:
nfs_server_flags="-t -n 4 -h xx.xx.xx.35 -h xx.xx.xx.135"
mountd_flags="-l -r -h xx.xx.xx.35 -h xx.xx.xx.135"

/etc/exports:
/usr/export/src -maproot=root -ro -network xx.xx.xx.128 -mask 255.255.255.192

And here what I changed (rpcbind_flags) and the effects.
Notice, I executed rpcinfo each time before restarting nfsd and mountd.
Maybe I don't understand the rpcinfo output, because it differs from sockstat.

------------------------------

rpcbind_flags="-h xx.xx.xx.35 -h xx.xx.xx.135"

# rpcinfo
   program version netid     address                service    owner
    100000    4    tcp       xx.xx.xx.35.0.111    rpcbind    superuser
    100000    3    tcp       xx.xx.xx.35.0.111    rpcbind    superuser
    100000    2    tcp       xx.xx.xx.35.0.111    rpcbind    superuser
    100000    4    udp       xx.xx.xx.35.0.111    rpcbind    superuser
    100000    3    udp       xx.xx.xx.35.0.111    rpcbind    superuser
    100000    2    udp       xx.xx.xx.35.0.111    rpcbind    superuser
    100000    4    tcp6      ::1.0.111              rpcbind    superuser
    100000    3    tcp6      ::1.0.111              rpcbind    superuser
    100000    4    udp6      ::1.0.111              rpcbind    superuser
    100000    3    udp6      ::1.0.111              rpcbind    superuser
    100000    4    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    3    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    2    local     /var/run/rpcbind.sock  rpcbind    superuser

# sockstat | grep rpcbind
root     rpcbind    28763 4  udp6   *:*                   *:*
root     rpcbind    28763 5  stream /var/run/rpcbind.sock
root     rpcbind    28763 6  udp6   ::1:111               *:*
root     rpcbind    28763 7  udp6   *:1008                *:*
root     rpcbind    28763 8  tcp6   ::1:111               *:*
root     rpcbind    28763 9  udp4   127.0.0.1:111         *:*
root     rpcbind    28763 10 udp4   xx.xx.xx.135:111    *:*
root     rpcbind    28763 11 udp4   xx.xx.xx.35:111     *:*
root     rpcbind    28763 12 udp4   *:842                 *:*
root     rpcbind    28763 13 tcp4   127.0.0.1:111         *:*
root     rpcbind    28763 14 tcp4   xx.xx.xx.135:111    *:*
root     rpcbind    28763 15 tcp4   xx.xx.xx.35:111     *:*

client# mount_nfs -o ro,tcp,intr,soft,bg,nfsv3 xx.xx.xx.35:/usr/export/src /usr/src
[tcp] xx.xx.xx.35:/usr/export/src: RPCPROG_NFS: RPC: Port mapper failure - RPC: Timed out
mount_nfs: Cannot immediately mount xx.xx.xx.35:/usr/export/src, backgrounding

--------------------------------------

rpcbind_flags="-h xx.xx.xx.135 -h xx.xx.xx.35"

# rpcinfo
   program version netid     address                service    owner
    100000    4    tcp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    3    tcp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    2    tcp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    4    udp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    3    udp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    2    udp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    4    tcp6      ::1.0.111              rpcbind    superuser
    100000    3    tcp6      ::1.0.111              rpcbind    superuser
    100000    4    udp6      ::1.0.111              rpcbind    superuser
    100000    3    udp6      ::1.0.111              rpcbind    superuser
    100000    4    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    3    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    2    local     /var/run/rpcbind.sock  rpcbind    superuser

# sockstat | grep rpcbind
root     rpcbind    28591 4  udp6   *:*                   *:*
root     rpcbind    28591 5  stream /var/run/rpcbind.sock
root     rpcbind    28591 6  udp6   ::1:111               *:*
root     rpcbind    28591 7  udp6   *:825                 *:*
root     rpcbind    28591 8  tcp6   ::1:111               *:*
root     rpcbind    28591 9  udp4   127.0.0.1:111         *:*
root     rpcbind    28591 10 udp4   xx.xx.xx.35:111     *:*
root     rpcbind    28591 11 udp4   xx.xx.xx.135:111    *:*
root     rpcbind    28591 12 udp4   *:1009                *:*
root     rpcbind    28591 13 tcp4   127.0.0.1:111         *:*
root     rpcbind    28591 14 tcp4   xx.xx.xx.35:111     *:*
root     rpcbind    28591 15 tcp4   xx.xx.xx.135:111    *:*

client# mount_nfs -o ro,tcp,intr,soft,bg,nfsv3 xx.xx.xx.35:/usr/export/src /usr/src
[tcp] xx.xx.xx.35:/usr/export/src: RPCPROG_NFS: RPC: Port mapper failure - RPC: Timed out
mount_nfs: Cannot immediately mount xx.xx.xx.35:/usr/export/src, backgrounding

--------------------------------------

rpcbind_flags="-h xx.xx.xx.135 -h xx.xx.xx.35 -h xx.xx.xx.235"

# rpcinfo
   program version netid     address                service    owner
    100000    4    tcp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    3    tcp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    2    tcp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    4    udp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    3    udp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    2    udp       xx.xx.xx.135.0.111   rpcbind    superuser
    100000    4    tcp6      ::1.0.111              rpcbind    superuser
    100000    3    tcp6      ::1.0.111              rpcbind    superuser
    100000    4    udp6      ::1.0.111              rpcbind    superuser
    100000    3    udp6      ::1.0.111              rpcbind    superuser
    100000    4    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    3    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    2    local     /var/run/rpcbind.sock  rpcbind    superuser

# sockstat |grep rpcbind
root     rpcbind    28564 4  udp6   *:*                   *:*
root     rpcbind    28564 5  stream /var/run/rpcbind.sock
root     rpcbind    28564 6  udp6   ::1:111               *:*
root     rpcbind    28564 7  udp6   *:892                 *:*
root     rpcbind    28564 8  tcp6   ::1:111               *:*
root     rpcbind    28564 9  udp4   127.0.0.1:111         *:*
root     rpcbind    28564 10 udp4   xx.xx.xx.235:111    *:*
root     rpcbind    28564 11 udp4   xx.xx.xx.35:111     *:*
root     rpcbind    28564 12 udp4   xx.xx.xx.135:111    *:*
root     rpcbind    28564 13 udp4   *:630                 *:*
root     rpcbind    28564 14 tcp4   127.0.0.1:111         *:*
root     rpcbind    28564 15 tcp4   xx.xx.xx.235:111    *:*
root     rpcbind    28564 16 tcp4   xx.xx.xx.35:111     *:*
root     rpcbind    28564 17 tcp4   xx.xx.xx.135:111    *:*

client# mount_nfs -o ro,tcp,intr,soft,bg,nfsv3 xx.xx.xx.35:/usr/export/src /usr/src
[tcp] xx.xx.xx.35:/usr/export/src: RPCPROG_NFS: RPC: Port mapper failure - RPC: Timed out
mount_nfs: Cannot immediately mount xx.xx.xx.35:/usr/export/src, backgrounding

--------------------------------------

rpcbind_flags=""

# rpcinfo

   program version netid     address                service    owner
    100000    4    tcp       0.0.0.0.0.111          rpcbind    superuser
    100000    3    tcp       0.0.0.0.0.111          rpcbind    superuser
    100000    2    tcp       0.0.0.0.0.111          rpcbind    superuser
    100000    4    udp       0.0.0.0.0.111          rpcbind    superuser
    100000    3    udp       0.0.0.0.0.111          rpcbind    superuser
    100000    2    udp       0.0.0.0.0.111          rpcbind    superuser
    100000    4    tcp6      ::.0.111               rpcbind    superuser
    100000    3    tcp6      ::.0.111               rpcbind    superuser
    100000    4    udp6      ::.0.111               rpcbind    superuser
    100000    3    udp6      ::.0.111               rpcbind    superuser
    100000    4    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    3    local     /var/run/rpcbind.sock  rpcbind    superuser
    100000    2    local     /var/run/rpcbind.sock  rpcbind    superuser

# sockstat | grep rpcbind
root     rpcbind    28735 4  udp6   *:*                   *:*
root     rpcbind    28735 5  stream /var/run/rpcbind.sock
root     rpcbind    28735 6  udp6   *:111                 *:*
root     rpcbind    28735 7  udp6   *:718                 *:*
root     rpcbind    28735 8  tcp6   *:111                 *:*
root     rpcbind    28735 9  udp4   *:111                 *:*
root     rpcbind    28735 10 udp4   *:870                 *:*
root     rpcbind    28735 11 tcp4   *:111                 *:*

client# mount_nfs -o ro,tcp,intr,soft,bg,nfsv3 xx.xx.xx.35:/usr/export/src /usr/src
client# umount /usr/src
umount: xx.xx.xx.35: RPCMNT_UMOUNT: RPC: Timed out

---------------------------------

Hmm... the mount has been successful, but I wonder why umount still gets a time out...
Need more info?

--
Martin


More information about the freebsd-current mailing list