> Ok, this is what seems to die, god knows why ?
>
> 18238 socket(PF_UNIX, SOCK_STREAM, 0)   = 13
> 18238 connect(13, {sin_family=AF_UNIX,
> path="
>                                 /var/run/.nscd_socket"}, 110) = -1
> ECONNREFUSED (Connection refused)
> 18238 close(13)                         = 0

That should be a non-fatal error because the libc routines will try to use
the local name cache daemon first on a local UNIX domain socket. The
routines should then procede to try to DNS lookups themselves (assumed that
this is configured in /etc/nsswitch.conf and /etc/resolv.conf).

Is that happening in inetd or in tftpd ?   If it's inetd does it then go on
to fork() and then execve() tftpd ?  If it's tftpd then what causes the
process to exit() or fail (look for SEGV or similar) ?

My thoughts would be:

1) Search for the execve() of tftpd
2) If it's successful note the PID at that point, otherwise look for why it
failed.
3) If you've got a PID, use less to go to the end of the file and do a
reverse search (use the ? key) looking for that PID. You should then be at
the point where the process exits..

Good luck!
Chris

-- 
SLUG - Sydney Linux User's Group - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug

Reply via email to