NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
kern/41152: netbsd-3 inetd fails with netbsd-5 kernel (kqueue issue ?)
>Number: 41152
>Category: kern
>Synopsis: netbsd-3 inet fails with netbsd-5 kernel (kqueue issue ?)
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Apr 05 20:10:01 +0000 2009
>Originator: Manuel Bouyer
>Release: NetBSD 5.0_RC3
>Organization:
>Environment:
System: NetBSD horn 5.0_RC3 NetBSD 5.0_RC3 (DISCODEBUG) #34: Sun Apr 5 21:37:10
MEST 2009 bouyer@disco:/home/bouyer/src-5/src/sys/arch/i386/compile/DISCODEBUG
i386
Architecture: i386
Machine: i386
>Description:
With a up to date netbsd-5 kernel and a netbsd-3 userland,
inetd fails to properly run rpc/udp programs multiple time.
For example, with
rstatd/1-3 dgram rpc/udp wait:100 nobody:kmem /usr/libexec/rpc.rstatd
rpc.rstatd
the first query will be properly handled, but next ones stay
in the socket's recv queue (as shown by netstat).
A ktrace of inetd shows:
1398 inetd RET kevent 1
1398 inetd CALL gettimeofday(0x8054118,0)
1398 inetd RET gettimeofday 0
1398 inetd CALL fork
1398 inetd RET fork 1265/0x4f1
1398 inetd CALL kevent(3,0x804f7e0,1,0xbfbfe138,0x40,0)
1265 inetd EMUL "netbsd"
1265 inetd RET fork 0
1265 inetd CALL __sigaction_sigtramp(0xe,0xbfbfe090,0xbfbfe070,0xbbb624ec,
1)
1265 inetd RET __sigaction_sigtramp 0
1265 inetd CALL __sigaction_sigtramp(1,0xbfbfe090,0xbfbfe070,0xbbb624ec,1)
1265 inetd RET __sigaction_sigtramp 0
1265 inetd CALL __sigaction_sigtramp(0x14,0xbfbfe090,0xbfbfe070,0xbbb624ec
,1)
1265 inetd RET __sigaction_sigtramp 0
1265 inetd CALL __sigaction_sigtramp(0xf,0xbfbfe090,0xbfbfe070,0xbbb624ec,
1)
1265 inetd RET __sigaction_sigtramp 0
1265 inetd CALL __sigaction_sigtramp(2,0xbfbfe090,0xbfbfe070,0xbbb624ec,1)
1265 inetd RET __sigaction_sigtramp 0
1265 inetd CALL __sigaction_sigtramp(0xd,0xbfbfe090,0xbfbfe070,0xbbb624ec,
1)
1265 inetd RET __sigaction_sigtramp 0
1265 inetd CALL __stat13(0xbbbb1a65,0xbfbfdc10)
1265 inetd NAMI "/etc/nsswitch.conf"
1265 inetd RET __stat13 0
1265 inetd CALL open(0xbbbb1a65,0,0x1b6)
1265 inetd NAMI "/etc/nsswitch.conf"
1265 inetd RET open 3
1265 inetd CALL __fstat13(3,0xbfbfda60)
1265 inetd RET __fstat13 0
1265 inetd CALL read(3,0x8072000,0x2000)
1265 inetd GIO fd 3 read 598 bytes
"# $NetBSD: nsswitch.conf,v 1.5 1999/10/24 12:36:52 lukem Exp $
[...]
1265 inetd CALL setgroups(1,0xbfbfdcd0)
1265 inetd RET setgroups 0
1265 inetd CALL setuid(0x7fff)
1265 inetd RET setuid 0
1265 inetd CALL fcntl(5,2,0)
1265 inetd RET fcntl 0
1265 inetd CALL dup2(5,0)
1265 inetd RET dup2 0
1265 inetd CALL close(5)
1265 inetd RET close 0
1265 inetd CALL dup2(0,1)
1265 inetd RET dup2 1
1265 inetd CALL dup2(0,2)
1265 inetd RET dup2 2
1265 inetd CALL execve(0x8050080,0x8054040,0xbfbfe8c0)
1265 inetd NAMI "/usr/libexec/rpc.rstatd"
1265 inetd NAMI "/usr/libexec/ld.elf_so"
1265 rpc.rstatd EMUL "netbsd"
1265 rpc.rstatd RET syscall JUSTRETURN
1265 rpc.rstatd CALL mmap(0,0x8000,3,0x1002,0xffffffff,0,0,0)
1265 rpc.rstatd RET mmap -1145131008/0xbbbeb000
1265 rpc.rstatd CALL open(0xbbbfc188,0,0)
1265 rpc.rstatd NAMI "/etc/ld.so.conf"
[...]
1265 rpc.rstatd RET pread 492/0x1ec
1265 rpc.rstatd CALL setitimer(0,0xbfbfdc50,0xbfbfdc40)
1265 rpc.rstatd RET setitimer 0
1265 rpc.rstatd CALL __sigaction_sigtramp(0xe,0xbfbfe110,0xbfbfe0f0,0xbbb6d4e
c,1)
1265 rpc.rstatd RET __sigaction_sigtramp 0
1265 rpc.rstatd CALL setitimer(0,0xbfbfe130,0xbfbfe120)
1265 rpc.rstatd RET setitimer 0
1265 rpc.rstatd CALL sendto(0,0x804f000,0x80,0,0x8053070,0x10)
1265 rpc.rstatd USER "msghdr: 48, 7030050810000000d4fc3ece0100000000000000060
0000000000000"
1265 rpc.rstatd USER "sockargs: 36, 1002ffc884e33f7e0000000000000000"
1265 rpc.rstatd GIO fd 0 wrote 128 bytes
"\M^G-ay\0\0\0\^A\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\^A\0\0\0\0\0\0\0\
\M-'\M-p\0\^By\M^S\0\^B\^]\M-&\0\^B\M-^\M-H\0\0\M-!\M^M\0\0\M-%'\0\^Bd\
\M-r\0\0\0\0\0\0\0\b\0\0\0\^X\0\^Qh\M-.\0Q\^]\^Y\0\0\0\0\0\0\0\0\0\0\0\
\0\0\M^D\M-S\M-1\0\0\b\M-?\0\0\aK\0\0\^E%I\M-Y\b\M-]\0\^C\^C\M^]I\M-Y\
\r\"\0\b\M-t\M-N\0Q\M-i\M-Q"
1265 rpc.rstatd RET sendto 128/0x80
1265 rpc.rstatd CALL exit(0)
The initial inetd process (1398) is never woken up.
>How-To-Repeat:
see above
>Fix:
unknown
Home |
Main Index |
Thread Index |
Old Index