This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Segmentation fault due to missing libnss_db
- From: andrew at walrond dot org
- To: libc-alpha at sourceware dot org
- Date: Sun, 29 Oct 2006 21:43:48 +0000
- Subject: Segmentation fault due to missing libnss_db
Hello list,
I've built a pure 64bit sparc64 distro using the latest
glibc-2_5-branch from cvs, and noticed some odd crashes of bash during
some package builds. strace identified the problem:
open("/etc/nsswitch.conf", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=252, ...}) = 0
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1,
0) = 0xfffff80100356000
read(3, "passwd: db files\ngroup: "..., 8192) = 252
read(3, "", 8192) = 0
close(3) = 0
munmap(0xfffff80100356000, 8192) = 0
open("/pkg/glibc/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=10478, ...}) = 0
mmap(NULL, 10478, PROT_READ, MAP_PRIVATE, 3, 0) = 0xfffff80100358000
close(3) = 0
open("/pkg/glibc/lib/tls/v9v/libnss_db.so.2", O_RDONLY) = -1 ENOENT
(No such file or directory)
stat64("/pkg/glibc/lib/tls/v9v", 0x7feff270110) = -1 ENOENT (No such
file or directory)
open("/pkg/glibc/lib/tls/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/pkg/glibc/lib/tls", 0x7feff270110) = -1 ENOENT (No such file
or directory)
open("/pkg/glibc/lib/v9v/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No
such file or directory)
stat64("/pkg/glibc/lib/v9v", 0x7feff270110) = -1 ENOENT (No such file
or directory)
open("/pkg/glibc/lib/libnss_db.so.2", O_RDONLY) = -1 ENOENT (No such
file or directory)
stat64("/pkg/glibc/lib", {st_mode=0, st_size=0, ...}) = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV (core dumped) +++
This glibc does not have libnss_db.so.2 and, of course, removing the
'db' entries from nsswitch.conf solved the segmentation faults, but I
thought I'd mention it since it probably shouldn't segfault even
though the configuration was braindead.
Hope this is useful; if not, sorry for the noise.
Andrew Walrond