On Tue, 2006-05-23 at 07:31 -0600, John Hanks wrote:
..
> Good idea. When I tried to strace "su - baduser' it forked and did too
> much to keep track of. An strace of adduser hangs at some type of LDAP
> lookup (tail of 'strace adduser tester' is:
>
> rt_sigaction(SIGPIPE, {SIG_DFL}, NULL, 8) = 0
> rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
> [those two lines are repeated many times...]
> select(1024, [5], [], NULL, NULL
> [hangs there for a long time...]
check what file descriptor "5" is (socket/pipe, to where - this could be
the "netstat" connection you have seen, but also could be a helper app).
And check whether the application has already received data over it -
maybe we are waiting for naught, and the server believes it already sent
everything.
> read(5, "", 5) = 0
> brk(0x6b6000) = 0x6b6000
> [more stuff happens that I've snipped...]
> rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
> write(2, "adduser: ../../../libraries/libl"...,
> 113adduser: ../../../libraries/liblber/io.c:171: ber_free_buf: Assertion
> `((ber)->ber_opts.lbo_valid==0x2)' failed.
> ) = 113
This looks rather like an error message from openldap that never makes
it back to your console (perhaps STDERR got redirected). This is an
internal assertion - did you kill the running "adduser"? Or it is just a
funny way to handle a TCP timeout.
Regards
Jan
|