Re: [SSI-devel] strange inetd/tftp behavior
Brought to you by:
brucewalker,
rogertsang
From: Christian L. <ly...@po...> - 2003-01-24 21:35:35
|
Last try today... c3sl2:/boot# /usr/sbin/inetd -d /etc/inetd.conf=20 ADD : smtp proto=3Dtcp, wait.max=3D0.40, user.group=3Dmail.(null) builtin= =3D0=20 server=3D/usr/sbin/exim ADD : tftp proto=3Dudp, wait.max=3D1.40, user.group=3Dnobody.(null) built= in=3D0=20 server=3D/usr/sbin/tcpd someone wants tftp 73103 execl /usr/sbin/tcpd 73103 reaped, status 0 <--- transfer ok them inetd never saw other connection (but of course there are other trie= s!).=0D c3sl2:/boot# strace /usr/sbin/inetd -d /etc/inetd.conf [...] rt_sigaction(SIGPIPE, {SIG_IGN}, NULL, 8) =3D 0 select(6, [4 5], NULL, NULL, NULL) =3D 1 (in [5]) write(2, "someone wants tftp\n", 19someone wants tftp ) =3D 19 rt_sigprocmask(SIG_BLOCK, [HUP ALRM CHLD], NULL, 8) =3D 0 gettimeofday({1043443741, 445557}, NULL) =3D 0 fork() =3D 73122 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) =3D 0 select(6, [4], NULL, NULL, NULL73122 execl /usr/sbin/tcpd ) =3D ? ERESTARTNOHAND (To be restarted) --- SIGCHLD (Child exited) --- wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0], WNOHANG, NULL) =3D 7= 3122 write(2, "73122 reaped, status 0\n", 2373122 reaped, status 0 ) =3D 23 wait4(-1, 0xbffff870, WNOHANG, NULL) =3D -1 ECHILD (No child processes= ) sigreturn() =3D ? (mask now []) select(6, [4], NULL, NULL, NULL <unfinished ...> <---crtl+c tcpdump -i eth0 shows that are others tftp requests but inetd couldnt see= =20 them =09Any clues? On Friday 24 January 2003 19:11, you wrote: > Christian Lyra wrote: > > HI, > > > >>Everytime a node joins (actually changes its membership state), > >>SIGCLUSTER (stolen from one of the realtime signals) gets sent to all > >>the processes on the system. (This was a holdover from the UnixWare > >>implementation.) Aneesh suspects your inetd is dying because of this.= If > >>you strace your inetd and it is dying because it is receiving a signa= l > >>(49 I believe) then Aneesh is correct. > > > > =09Thanks for the explanation, but I think the problem is not with > > SIGCLUSTER, because I can reproduce the problem using just the master > > node, and another (non-cluster) machine with a tftp client (of course= , > > all other nodes are turned offf)! So there's no SIGCLUSTER signals. F= tpd > > dies(?) after the first transfer. I try to setup a telnetd just to se= e if > > it die too but this not happens! just tftpd die :-( > > The ftp/tftp transfer completes successfully and then the daemon dies? > Or does the daemon die partway through thr transfer. > > The daemon dying after a successful transfer may not be bad. Most inetd > sub-daemons do if they don't receive another request after a given time= =2E > > If inetd is running and the tftpd is dead, then a new tftpd should be > spawned. The problem then might be inetd is not seeing its children die= =2E > If you run strace on inetd during the successful operation followed b= y > the failure maybe we could figure out what is going wrong. > > John Byrne > --=20 Christian Lyra POP-PR - RNP Who can tell the secrets of their hearts and minds?=20 The answer exists only in Tao.=20 =09=09=09=09=09=09The Tao Of Programing |