Does anyone use nscd?
art at freebsd.org
Wed Oct 5 18:03:28 UTC 2011
2011/10/4 Dag-Erling Smørgrav <des at des.no>:
> Any chance of getting a backtrace from an unpatched nscd? Ideally with
> the change described here:
> To test, stop nscd, then run it from the command line like so:
> $ su -
> # cd /tmp
> # ulimit -c 0
> # /usr/sbin/nscd -nst
> (do something in another terminal that causes it to crash)
> # echo backtrace | gdb -batch -x /dev/stdin /usr/sbin/nscd nscd.core
> and send me the output from both nscd and gdb once it crashes.
In my case it's top that dies with SIGPIPE. nscd keeps running just
fine. So, there's no backtrace from nscd.
top receives SIGPIPE after it tries to write to the socket with nscd
on the other end. Apparently nscd closes connection on its end.
Running ktrace on top I see that before the write to nscd socket,
there's a read that returned 0 bytes.
Here's top's backtrace. Alas I don't have libc with debug symbols handy:
Program received signal SIGPIPE, Broken pipe.
0x0000000800abe8cc in write () from /lib/libc.so.7
#0 0x0000000800abe8cc in write () from /lib/libc.so.7
#1 0x0000000800aa3f44 in ftell () from /lib/libc.so.7
#2 0x0000000800aa415f in ftell () from /lib/libc.so.7
#3 0x0000000800aa2031 in __h_errno () from /lib/libc.so.7
#4 0x0000000800a98311 in nsdispatch () from /lib/libc.so.7
#5 0x0000000800a84d95 in getpwent_r () from /lib/libc.so.7
#6 0x0000000800a84911 in acl_get_brand_np () from /lib/libc.so.7
#7 0x0000000000404f7b in machine_init (statics=0x7fffffffe770,
do_unames=1 '\001') at /usr/srcdir/src.git/usr.bin/top/machine.c:258
#8 0x000000000040a9ab in main (argc=1, argv=0x7fffffffe8c8) at
More information about the freebsd-hackers