From:
[email protected]
Package: slapd
Version: 2.1.30-2
Severity: important
A few days ago I upgraded my server to latest testing. Since that, the
LDAP server crashes with a segfault after a few hours (1h..12h).
Unfortunately, I can't provide you a really good strace logs, as the
threads after some time always receive a SIGRTMIN and an attached
strace exits on that. But maybe I still got something from the
faulting thread. This one is PID 25820 and seems to be the controller:
getppid() = 25819
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid() = 25819
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid() = 25819
poll([{fd=10, events=POLLIN}], 1, 2000) = 0
getppid() = 25819
poll([{fd=10, events=POLLIN}], 1, 2000) = -1 EINTR (Interrupted system call) --- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
sigreturn() = ? (mask now ~[TRAP KILL STOP]) getppid() = 25819
waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGSEGV}], WNOHANG|__WCLONE) = 25821
kill(25861, SIGSEGV) = 0
--- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
sigreturn() = ? (mask now ~[TRAP KILL STOP]) kill(25823, SIGSEGV) = 0
--- SIGRT_1 (Unknown signal 33) @ 0 (0) ---
sigreturn() = ? (mask now ~[TRAP KILL STOP]) kill(25819, SIGSEGV) = 0
exit_group(0) = ?
This looks like as PID 25821 first signalled the SIGSEGV. And
fortunately, the strace for 25821 survived :) It says:
select(39, [4 6 7 8 9 12 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35], [], NULL, NULL) = 1 (in [35])
time(NULL) = 1091987719
read(35, "\27\3\1\0\340", 5) = 5
read(35, "\272\216\23v