Comment 10 for bug 997096

Revision history for this message
Moritz Hassert (mhassert) wrote :

This bug or a similar is still present in 13.10 (and has been in 12.10 and 13.04):

I believe this is essentially the same as a bug report over at Novell:
https://bugzilla.novell.com/show_bug.cgi?id=819524

Seems strlen is being called on NULL pointers. As the bug report at Novell has been fixed very recently, maybe that fix could be ported to Ubuntu 13.10?

-------
Some more info:
On my machine nscd is *not* respawning after it segfaults. The only noticeable effects are the nasty log messages and apport greeting me every morning with a crash report when logging in.

Running "nscd -d" in a terminal and running "sudo echo test" in another gives me the following:

mhassert@mhassert:/var/log# sudo echo test
[[stalls for a few seconds]]
test

root@mhassert:/var/log# LC_ALL=C nscd -d
Tue Oct 22 11:18:46 2013 - 11188: register trace file /etc/passwd for database passwd
Tue Oct 22 11:18:46 2013 - 11188: register trace file /etc/group for database group
Tue Oct 22 11:18:46 2013 - 11188: register trace file /etc/hosts for database hosts
Tue Oct 22 11:18:46 2013 - 11188: register trace file /etc/resolv.conf for database hosts
Tue Oct 22 11:18:46 2013 - 11188: register trace file /etc/services for database services
Tue Oct 22 11:18:52 2013 - 11188: handle_request: request received (Version = 2) from PID 11201
Tue Oct 22 11:18:52 2013 - 11188: GETFDPW
Tue Oct 22 11:18:52 2013 - 11188: provide access to FD 5, for passwd
Tue Oct 22 11:18:52 2013 - 11188: handle_request: request received (Version = 2) from PID 11201
Tue Oct 22 11:18:52 2013 - 11188: GETFDGR
Tue Oct 22 11:18:52 2013 - 11188: provide access to FD 7, for group
Tue Oct 22 11:18:52 2013 - 11188: handle_request: request received (Version = 2) from PID 11201
Tue Oct 22 11:18:52 2013 - 11188: GETFDHST
Tue Oct 22 11:18:52 2013 - 11188: provide access to FD 9, for hosts
Tue Oct 22 11:18:52 2013 - 11188: handle_request: request received (Version = 2) from PID 11201
Tue Oct 22 11:18:52 2013 - 11188: GETAI (mhassert)
Tue Oct 22 11:18:52 2013 - 11188: Haven't found "mhassert" in hosts cache!
Speicherzugriffsfehler (Speicherabzug geschrieben)
[[german for: "segmentation fault (core dumped)"]]

last entry in dmesg:
[ 4972.251625] traps: nscd[11193] general protection ip:7fb19e3a2c41 sp:7fb194680178 error:0 in libc-2.17.so[7fb19e319000+1bd000]

Running nscd -d within gdb:
root@mhassert:/var/log# LC_ALL=C gdb --args nscd -d
[...]
Reading symbols from /usr/sbin/nscd...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/sbin/nscd -d
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Tue Oct 22 11:21:56 2013 - 11339: register trace file /etc/passwd for database passwd
Tue Oct 22 11:21:56 2013 - 11339: register trace file /etc/group for database group
Tue Oct 22 11:21:56 2013 - 11339: register trace file /etc/hosts for database hosts
Tue Oct 22 11:21:56 2013 - 11339: register trace file /etc/resolv.conf for database hosts
Tue Oct 22 11:21:56 2013 - 11339: register trace file /etc/services for database services
[New Thread 0x7fffedb03700 (LWP 11343)]
[New Thread 0x7fffed902700 (LWP 11344)]
[New Thread 0x7fffed701700 (LWP 11345)]
[New Thread 0x7fffed500700 (LWP 11346)]
[New Thread 0x7fffed2ff700 (LWP 11347)]
[New Thread 0x7fffed0fe700 (LWP 11348)]
[New Thread 0x7fffecefd700 (LWP 11349)]
[New Thread 0x7fffeccfc700 (LWP 11350)]
Tue Oct 22 11:22:11 2013 - 11339: Reloading "0" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "101" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "lp" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "120" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "1" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "102" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "sshd" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "121" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "avahi" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "103" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "colord" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "112" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "hplip" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "nobody" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "1014" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "dnsmasq" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "113" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "pulse" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "statd" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "114" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "106" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "moha" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "116" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "debian-spamd" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "109" in password cache!
Tue Oct 22 11:22:11 2013 - 11339: Reloading "118" in password cache!
Tue Oct 22 11:22:45 2013 - 11339: handle_request: request received (Version = 2) from PID 11387
Tue Oct 22 11:22:45 2013 - 11339: GETFDPW
Tue Oct 22 11:22:45 2013 - 11339: provide access to FD 9, for passwd
Tue Oct 22 11:22:45 2013 - 11339: handle_request: request received (Version = 2) from PID 11387
Tue Oct 22 11:22:45 2013 - 11339: GETFDGR
Tue Oct 22 11:22:45 2013 - 11339: provide access to FD 11, for group
Tue Oct 22 11:22:45 2013 - 11339: handle_request: request received (Version = 2) from PID 11387
Tue Oct 22 11:22:45 2013 - 11339: GETFDHST
Tue Oct 22 11:22:45 2013 - 11339: provide access to FD 13, for hosts
Tue Oct 22 11:22:45 2013 - 11339: handle_request: request received (Version = 2) from PID 11387
Tue Oct 22 11:22:45 2013 - 11339: GETAI (mhassert)
Tue Oct 22 11:22:45 2013 - 11339: Haven't found "mhassert" in hosts cache!

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffed2ff700 (LWP 11347)]
__strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:31
31 ../sysdeps/x86_64/multiarch/../strlen.S: No such file or directory.
(gdb) bt
#0 __strlen_sse2 () at ../sysdeps/x86_64/multiarch/../strlen.S:31
#1 0x0000555555568a12 in ?? ()
#2 0x00005555555699c4 in ?? ()
#3 0x000055555555cbf1 in ?? ()
#4 0x00007ffff7bc4f6e in start_thread (arg=0x7fffed2ff700) at pthread_create.c:311
#5 0x00007ffff70909cd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113