#231593 ypbind[4164]: broadcast: RPC: Can't encode arguments. (on alpha)

#231593#5
Date:
2004-02-07 17:27:46 UTC
From:
To:
After what looks like to be exactly 30 minutes from restarting Nis, I get
$subject in syslog, and nis stops working.
Currently using kernel 2.6.2, but same happens on 2.4.18.

quordlepleen:~# ypcat passwd
YPBINDPROC_DOMAIN: Domain not bound
No such map passwd.byname. Reason: Can't bind to server which serves this domain

#231593#10
Date:
2004-04-24 12:44:02 UTC
From:
To:
tag 231593 + moreinfo
thanks

Could you please check this with a 3.11 version of the NIS package and
see if the problem persists?  There are some potentially relevant
changes to ypbind which *may* fix the problem.

Thanks.

#231593#17
Date:
2004-05-31 22:49:31 UTC
From:
To:
time to reconnect that machine again. I did install current nis (3.11-2)
and tried it again. No change. Then I upgraded all its direct
dependencies, and finally the full system. Still no change.

FYI, this I can always reproduce:

quordlepleen:~# /etc/init.d/nis restart ; date ; while ypcat passwd &>/dev/null; do sleep 2 ; done ; date
Starting NIS services: ypbind
Mon May 31 22:15:14 CEST 2004
Mon May 31 22:45:14 CEST 2004

When I do get
YPBINDPROC_DOMAIN: Domain not bound
No such map passwd.byname. Reason: Can't bind to server which serves this domain
it often recovers the second time I try it.
As you see, this doesn't happen the first 30 minutes after (re)starting
nis, but happens several times after those 30 minutes.

In case I haven't mentioned it: the nis server is also a Debian Unstable
machine, just like another nis client. They both are i386, while this
machine is alpha.

#231593#24
Date:
2004-06-13 14:29:15 UTC
From:
To:
Oh, that's interesting...

Is there any chance you could invoke ypbind in debug mode (by running
ypbind -debug)?  This will cause it to start in the foreground but will
also cause it to display more information about what it's up to.

#231593#29
Date:
2004-07-21 12:13:07 UTC
From:
To:
options combined, it instantly fails (not after 30 minutes).

quordlepleen:~# ypbind -debug -broadcast
add_server() domain: dontpanic, broadcast
[Welcome to ypbind-mt, version 1.17.2]

do_broadcast() for domain 'dontpanic' is called
broadcast: RPC: Can't encode arguments.
leave do_broadcast() for domain 'dontpanic'
ypbindproc_domain_2_svc (dontpanic)
Pinging all active server.
do_broadcast() for domain 'dontpanic' is called
broadcast: RPC: Can't encode arguments.
leave do_broadcast() for domain 'dontpanic'
trylock = success
do_broadcast() for domain 'dontpanic' is called
broadcast: RPC: Can't encode arguments.
leave do_broadcast() for domain 'dontpanic'
Status: YPBIND_FAIL_VAL

(up to the first leave do_broadcast is what is printed at startup, the
remaining part is its response to the 'ypcat passwd' pasted below)

quordlepleen:~# ypcat passwd
YPBINDPROC_DOMAIN: Domain not bound
No such map passwd.byname. Reason: Can't bind to server which serves this domain

#231593#34
Date:
2005-02-18 16:59:01 UTC
From:
To:

#231593#39
Date:
2005-06-13 07:35:24 UTC
From:
To:
Now that Sarge has been released, I've run into the same bug again and
would like to give some update.
As some others already have found, ypbind -debug -broadcast would stop
working completely - if started as a daemon there at least is a chance
that YP requests are answered if retried often enough.

/etc/yp.conf reads

domain NISDOMAIN broadcast

I ran ypbind under strace (until it forks...) and got: (sorry for the
sheer length, see lines marked XXX)


Script started on Mon Jun 13 09:09:51 2005
HOSTNAME:~# strace ypbind -debug
execve("/usr/sbin/ypbind", ["ypbind", "-debug"], [/* 17 vars */]) = 0
uname({sys="Linux", node="HOSTNAME.DOMAIN", ...}) = 0
brk(0)                                  = 0x12001b3b0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x20000018000
open("/etc/ld.so.preload", O_RDONLY)    = -1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=61944, ...}) = 0
mmap(NULL, 61944, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2000002a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/usr/lib/libslp.so.1", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0&\220\1\0\0\0`E\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=75024, ...}) = 0
mmap(NULL, 73320, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2000003a000
mmap(0x2000004a000, 8192, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x2000004a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libpthread.so.0", O_RDONLY)  = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0&\220\1\0\0\0\340d\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=116345, ...}) = 0
mmap(NULL, 693784, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x2000004c000
mprotect(0x2000005e000, 620056, PROT_NONE) = 0
mmap(0x2000006c000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x2000006c000
mmap(0x20000072000, 538136, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000072000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libnsl.so.1.1", O_RDONLY)    = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0&\220\1\0\0\0 X\0\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=111432, ...}) = 0
mmap(NULL, 183208, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x200000f6000
mprotect(0x2000010e000, 84904, PROT_NONE) = 0
mmap(0x20000116000, 49152, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x20000116000
mmap(0x20000122000, 2984, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x20000122000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libc.so.6.1", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0&\220\1\0\0\0@\217\2"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0755, st_size=1586880, ...}) = 0
mmap(NULL, 1660312, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x20000124000
mprotect(0x2000028a000, 193944, PROT_NONE) = 0
mmap(0x20000294000, 139264, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x160000) = 0x20000294000
mmap(0x200002b6000, 13720, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x200002b6000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libm.so.6.1", O_RDONLY)      = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0&\220\1\0\0\0\200o\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=516360, ...}) = 0
mmap(NULL, 579800, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x200002ba000
mprotect(0x20000330000, 96472, PROT_NONE) = 0
mmap(0x2000033a000, 57344, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x70000) = 0x2000033a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/libresolv.so.2.1", O_RDONLY) = 3
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0&\220\1\0\0\0\340E\0"..., 640) = 640
fstat(3, {st_mode=S_IFREG|0644, st_size=89136, ...}) = 0
mmap(NULL, 162648, PROT_READ|PROT_EXEC, MAP_PRIVATE, 3, 0) = 0x20000348000
mprotect(0x2000035c000, 80728, PROT_NONE) = 0
mmap(0x20000368000, 24576, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0x10000) = 0x20000368000
mmap(0x2000036e000, 7000, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2000036e000
close(3)                                = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000001a000
munmap(0x2000002a000, 61944)            = 0
getxpid()                               = 8269
rt_sigaction(SIGRT_0, {0x20000057200, [], 0}, NULL, 8, 0xffffffffffffffff) = 0
rt_sigaction(SIGRT_1, {0x20000057280, [], 0}, NULL, 8, 0xffffffffffffffff) = 0
rt_sigaction(SIGRT_2, {0x200000573d0, [], 0}, NULL, 8, 0xffffffffffffffff) = 0
osf_sigprocmask(0x1, 0x80000000, 0)     = 2147483648
osf_sigprocmask(0x2, 0x100000000, 0)    = 2147483648
sysctl({{CTL_KERN, KERN_VERSION}, 2, 0x11ffff910, 31, (nil), 0}) = 0
brk(0)                                  = 0x12001b3b0
brk(0x12003d3b0)                        = 0x12003d3b0
brk(0)                                  = 0x12003d3b0
brk(0x12003e000)                        = 0x12003e000
uname({sys="Linux", node="HOSTNAME.DOMAIN", ...}) = 0
getxuid()                               = 0
stat("/var/yp", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
stat("/var/yp/binding", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
chdir("/var/yp/binding")                = 0
open("/etc/yp.conf", O_RDONLY)          = 3
write(2, "parsing config file", 19parsing config file)     = 19
write(2, "\n", 1
)                       = 1
fstat(3, {st_mode=S_IFREG|0644, st_size=164, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2000001c000
read(3, "# $Header: /export/raida/cvs/fai"..., 8192) = 164
write(2, "Trying entry: domain NISDOMAIN "..., 41Trying entry: domain NISDOMAIN broadcast) = 41
write(2, "\n", 1
)                       = 1
write(2, "parsed domain \'NISDOMAIN\' broad"..., 36parsed domain 'NISDOMAIN' broadcast) = 36
write(2, "\n", 1
)                       = 1
write(2, "add_server() domain: NISDOMAIN,"..., 42add_server() domain: NISDOMAIN, broadcast) = 42
write(2, "\n", 1
)                       = 1
read(3, "", 8192)                       = 0
close(3)                                = 0
munmap(0x2000001c000, 8192)             = 0
open("/dev/null", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = -1 ENOTDIR (Not a directory)
open("/var/yp/binding", O_RDONLY|O_NONBLOCK|O_DIRECTORY) = 3
fstat(3, {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
fcntl(3, F_SETFD, FD_CLOEXEC)           = 0
getdents64(3, /* 2 entries */, 8192)    = 48
getdents64(3, /* 0 entries */, 8192)    = 0
brk(0)                                  = 0x12003e000
brk(0)                                  = 0x12003e000
brk(0x12003c000)                        = 0x12003c000
brk(0)                                  = 0x12003c000
close(3)                                = 0
write(2, "[Welcome to ypbind-mt, version 1"..., 37[Welcome to ypbind-mt, version 1.18]
) = 37
write(2, "\n", 1
)                       = 1
write(2, "ping interval is 20 seconds\n", 28ping interval is 20 seconds
) = 28
write(2, "\n", 1
)                       = 1
osf_sigprocmask(0x1, 0x84407, 0)        = 2147483648
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0
pipe([536869248, 1])                    = 3
clone(child_stack=0x12001fb90, flags=CLONE_VM|CLONE_FS|CLONE_FILES|CLONE_SIGHAND) = 8270
write(4, "p\327\0\0\0\2\0\0\5\0\0\0\1\0\0\0\320\372\377\37\1\0\0"..., 168) = 168
osf_sigprocmask(0x1, 0, 0x11ffff978)    = 2148025351
write(4, "@\340\6\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0@9\0 "..., 168) = 168
osf_sigprocmask(0x1, 0, 0x11ffff890)    = 2148025351
sigsuspend([TRAP FPE SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO] <unfinished ...>
--- SIGRT_0 (Unknown signal 32) @ 0 (0) ---
<... sigsuspend resumed> )              = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [HUP INT QUIT SEGV TERM CHLD])
sigsuspend([EMT KILL SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO] <unfinished ...>
--- SIGRT_0 (Unknown signal 32) @ 0 (0) ---
<... sigsuspend resumed> )              = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [HUP INT QUIT SEGV TERM CHLD])
sigsuspend(~[HUP INT QUIT ILL KILL BUS SEGV USR1 USR2] <unfinished ...>
--- SIGRT_0 (Unknown signal 32) @ 0 (0) ---
<... sigsuspend resumed> )              = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [HUP INT QUIT SEGV TERM CHLD])
close(2)                                = 54
osf_syscall(0x6, 0x8912, 0x11ffff930, 0, 0, 0x5) = 54
osf_syscall(0x6, 0x8913, 0x11ffff940, 0, 0, 0x5) = 6
osf_syscall(0x6, 0x8913, 0x11ffff940, 0, 0, 0x5) = -1 ERRNO_359 (Unknown error 359)

XXX - osf_syscall() is indeed Alpha specific and apparently the culprit.
	Since I suppose that in the ypbind code there's nothing specific
	to particular platforms, it might be libc who is to be blamed...
	but I leave this to the maintainer.
	What puzzles me is that apparently the *same* syscall is
	repeated twice, first successfully, then producing an ERR

osf_syscall(0x11ffff890, 0, 0x1, 0, 0, 0x11ffff9c0) = 97
close(2)                                = 20
bind(6, {sa_family=AF_INET, sin_port=htons(813), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
ioctl(6, FIONBIO, [1])                  = 0
setsockopt(6, SOL_IP, IP_RECVERR, [8589934593], 4) = 0
sendto(6, "\200\337J\276\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0"..., 56, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = 56
poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(6, "\200\337J\276\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 28
close(6)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 6
ioctl(6, 0x8912, {120, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("IPADDRESS")}}, {"eth1", {AF_INET, inet_addr("IPADDRESS-PRIVATE")}}}}) = 0
ioctl(6, 0x8913, 0x11ffff940)           = 0
close(6)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 6
bind(6, {sa_family=AF_INET, sin_port=htons(814), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
ioctl(6, FIONBIO, [1])                  = 0
setsockopt(6, SOL_IP, IP_RECVERR, [8589934593], 4) = 0
sendto(6, "\30\237d\7\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\2"..., 56, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = 56
poll([{fd=6, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(6, "\30\237d\7\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 28
close(6)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 6
bind(6, {sa_family=AF_INET, sin_port=htons(815), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
getsockname(6, {sa_family=AF_INET, sin_port=htons(815), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
setsockopt(6, SOL_IP, IP_PKTINFO, [1], 4) = 0
getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 7
ioctl(7, 0x8912, {120, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("IPADDRESS")}}, {"eth1", {AF_INET, inet_addr("IPADDRESS-PRIVATE")}}}}) = 0
ioctl(7, 0x8913, 0x11ffff8e0)           = 0
close(7)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(816), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
ioctl(7, FIONBIO, [1])                  = 0
setsockopt(7, SOL_IP, IP_RECVERR, [8589934593], 4) = 0
sendto(7, "0*\357\17\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\1\0"..., 56, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = 56
poll([{fd=7, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(7, "0*\357\17\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 28
close(7)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 7
ioctl(7, 0x8912, {120, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("IPADDRESS")}}, {"eth1", {AF_INET, inet_addr("IPADDRESS-PRIVATE")}}}}) = 0
ioctl(7, 0x8913, 0x11ffff8e0)           = 0
close(7)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(817), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
ioctl(7, FIONBIO, [1])                  = 0
setsockopt(7, SOL_IP, IP_RECVERR, [8589934593], 4) = 0
sendto(7, "\10\223o{\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\1\0"..., 56, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = 56
poll([{fd=7, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(7, "\10\223o{\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 28
close(7)                                = 0
socket(PF_INET, SOCK_STREAM, IPPROTO_TCP) = 7
bind(7, {sa_family=AF_INET, sin_port=htons(818), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
getsockname(7, {sa_family=AF_INET, sin_port=htons(818), sin_addr=inet_addr("0.0.0.0")}, [16]) = 0
listen(7, 2)                            = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 8
ioctl(8, 0x8912, {120, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("IPADDRESS")}}, {"eth1", {AF_INET, inet_addr("IPADDRESS-PRIVATE")}}}}) = 0
ioctl(8, 0x8913, 0x11ffff8e0)           = 0
close(8)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 8
bind(8, {sa_family=AF_INET, sin_port=htons(819), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
ioctl(8, FIONBIO, [1])                  = 0
setsockopt(8, SOL_IP, IP_RECVERR, [8589934593], 4) = 0
sendto(8, "2;\"\251\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\1\0"..., 56, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = 56
poll([{fd=8, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(8, "2;\"\251\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 400, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 28
close(8)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_IP) = 8
ioctl(8, 0x8912, {120, {{"lo", {AF_INET, inet_addr("127.0.0.1")}}, {"eth0", {AF_INET, inet_addr("IPADDRESS")}}, {"eth1", {AF_INET, inet_addr("IPADDRESS-PRIVATE")}}}}) = 0
ioctl(8, 0x8913, 0x11ffff8e0)           = 0
close(8)                                = 0
socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP) = 8
bind(8, {sa_family=AF_INET, sin_port=htons(820), sin_addr=inet_addr("0.0.0.0")}, 16) = 0
ioctl(8, FIONBIO, [1])                  = 0
setsockopt(8, SOL_IP, IP_RECVERR, [8589934593], 4) = 0
sendto(8, "8?z!\0\0\0\0\0\0\0\2\0\1\206\240\0\0\0\2\0\0\0\1\0\0\0"..., 56, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, 16) = 56
poll([{fd=8, events=POLLIN, revents=POLLIN}], 1, 5000) = 1
recvfrom(8, "8?z!\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1", 400, 0, {sa_family=AF_INET, sin_port=htons(111), sin_addr=inet_addr("127.0.0.1")}, [16]) = 28
close(8)                                = 0
osf_sigprocmask(0x1, 0, 0x11ffff978)    = 2148025351
write(4, "@\340\6\0\0\2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0P\201"..., 168) = 168
osf_sigprocmask(0x1, 0, 0x11ffff890)    = 2148025351
sigsuspend([TRAP FPE SYS PIPE ALRM TERM URG STOP TSTP CONT CHLD TTIN TTOU IO XCPU XFSZ VTALRM PROF WINCH INFO]do_broadcast() for domain 'NISDOMAIN' is called
broadcast: RPC: Can't encode arguments.
leave do_broadcast() for domain 'NISDOMAIN'
 <unfinished ...>
--- SIGRT_0 (Unknown signal 32) @ 0 (0) ---
<... sigsuspend resumed> )              = -1 EINTR (Interrupted system call)
sigreturn()                             = ? (mask now [HUP INT QUIT SEGV TERM CHLD])
exit(4831950672)                        = ?

sending ypwhich requests from another shell would result in:

ypbindproc_domain_2_svc (NISDOMAIN)
Pinging all active server.
do_broadcast() for domain 'NISDOMAIN' is called
broadcast: RPC: Can't encode arguments.
leave do_broadcast() for domain 'NISDOMAIN'
trylock = success
do_broadcast() for domain 'NISDOMAIN' is called
broadcast: RPC: Can't encode arguments.
leave do_broadcast() for domain 'NISDOMAIN'
Status: YPBIND_FAIL_VAL

HOSTNAME:~# Signal (2) for quitting program arrived.

Script done on Mon Jun 13 09:12:55 2005


So since the culprit seems to be some strange handling of two osf_syscall()s
with identical arguments, it looks reasonable to reassign this bug to
libc instead, but nevertheless I'd like to see a pointer in the bug list
for the nis package as well. Would this mean to file a completely new
bug against libc? Please advise...

 Cheers,
  Steffen Grunewald

#231593#44
Date:
2005-06-21 22:49:21 UTC
From:
To:
reassign 231593 glibc
thanks
obviously platform specific, no compiler warnings are going off and it
works fine on other Debian architectures as far as I can tell.  I don't
know if the osf_syscall()s in particlar are a problem but I'm fairly
sure there's something platform specific that's upsetting glibc.

I have seen beheviour like this from older libcs caused by glibc failing
to set up thread specific data (that it decides to use off it's own
back) but that's just wild guesswork - it's a pretty generic error code
that ONC RPC is kicking back.