I think this is your problem:

ld: ldap-nss.c:1374: do_init: Assertion 
`cfg->ldc_uris[__session.ls_current_uri] != ((void *)0)' failed.

That looks like a bug in some LDAP support library, possibly this one:
http://lists.alioth.debian.org/pipermail/pkg-cyrus-imapd-debian-devel/2007-January/001934.html
, that's Debian bug #399849.

--j.

eventhorizon5 writes:
> We've been running Spamassassin 3.1.7 (Debian Etch release) here for a while
> now on a fairly high traffic mail server, and have been having intermittent
> problems with the reliability of the spamd/spamc combination.  We recently
> found the actual error that's occurring in spamd (which is causing it to
> break the connection with spamc, and spamc failing with an I/O error).  I
> turned off the Argus probes of the spamd port, tried switching to Unix
> sockets, tried making a script force only 1 spamc connection at a time, etc
> and nothing has worked.  Here's an strace dump of one of the failed messages
> (this might overlap with normal ones; I can't really tell where this one
> starts or ends):
> 
> (the error is the illegal seek, a little over halfway through)
> -----------------------------------------------------
> 16:51:40 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:40 rt_sigaction(SIGALRM, {SIG_DFL}, {0x80afde0, [], 0}, 8) = 0
> 16:51:40 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:40 alarm(0)                       = 0
> 16:51:40 time(NULL)                     = 1187301100
> 16:51:40 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:40 rt_sigaction(SIGALRM, {SIG_DFL}, {SIG_DFL}, 8) = 0
> 16:51:40 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:40 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:40 rt_sigaction(SIGALRM, {0x80afde0, [], 0}, {SIG_DFL}, 8) = 0
> 16:51:40 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:40 alarm(64)                      = 0
> 16:51:40 select(16, [5 6 7], NULL, [5 6 7], {2, 0}) = 1 (in [5], left {0,
> 580000})
> 16:51:41 alarm(0)                       = 63
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {SIG_DFL}, {0x80afde0, [], 0}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 alarm(0)                       = 0
> 16:51:41 write(7, "A....\n", 6)         = 6
> 16:51:41 read(7, 0x9419278, 6)          = -1 EAGAIN (Resource temporarily
> unavailable)
> 16:51:41 time(NULL)                     = 1187301101
> 16:51:41 select(8, [7], NULL, NULL, {300, 0}) = 1 (in [7], left {299,
> 992000})
> 16:51:41 read(7, "B\0\0\24W\n", 6)      = 6
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {SIG_DFL}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {0x80afde0, [], 0}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 alarm(64)                      = 0
> 16:51:41 select(16, [5 6 7], NULL, [5 6 7], {2, 0}[5207] info: spamd:
> connection from mail.onshore.net [127.0.0.1] at port 49606
> ld: ldap-nss.c:1374: do_init: Assertion
> `cfg->ldc_uris[__session.ls_current_uri] != ((void *)0)' failed.
> ) = 1 (in [7], left {1, 988000})
> 16:51:41 --- SIGCHLD (Child exited) @ 0 (0) ---
> 16:51:41 sigreturn()                    = ? (mask now [])
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [CHLD], NULL, 8) = 0
> 16:51:41 waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT}], WNOHANG)
> = 5207
> 16:51:41 write(2, "[984] info: spamd: handled clean"..., 68[984] info:
> spamd: handled cleanup of child pid 5207 due to SIGCHLD
> ) = 68
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {0x80afde0, [], 0}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
> 16:51:41 time([1187301101])             = 1187301101
> 16:51:41 time([1187301101])             = 1187301101
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 select(8, [4], NULL, [4], {0, 0}) = 0 (Timeout)
> 16:51:41 write(4, "<174>Aug 16 16:51:41 spamd[984]:"..., 90) = 90
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_IGN}, {0x80afde0, [], 0}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
> 16:51:41 waitpid(-1, 0xbffb7f98, WNOHANG) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGCHLD, {0x80afde0, [], 0}, {0x80afde0, [], 0}, 8) =
> 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_UNBLOCK, [CHLD], NULL, 8) = 0
> 16:51:41 alarm(0)                       = 64
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {SIG_DFL}, {0x80afde0, [], 0}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 alarm(0)                       = 0
> 16:51:41 read(7, "", 6)                 = 0
> 16:51:41 close(7)                       = 0
> 16:51:41 write(2, "[984] info: prefork: child state"..., 37[984] info:
> prefork: child states: I) = 37
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {0x80afde0, [], 0}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 time([1187301101])             = 1187301101
> 16:51:41 time([1187301101])             = 1187301101
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 select(8, [4], NULL, [4], {0, 0}) = 0 (Timeout)
> 16:51:41 write(4, "<174>Aug 16 16:51:41 spamd[984]:"..., 59) = 59
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_IGN}, {0x80afde0, [], 0}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 socketpair(PF_FILE, SOCK_STREAM, 0, [7, 8]) = 0
> 16:51:41 ioctl(7, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffb8068) = -1 EINVAL
> (Invalid argument)
> 16:51:41 _llseek(7, 0, 0xbffb80b0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
> 16:51:41 ioctl(7, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffb8068) = -1 EINVAL
> (Invalid argument)
> 16:51:41 _llseek(7, 0, 0xbffb80b0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
> 16:51:41 ioctl(8, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffb8068) = -1 EINVAL
> (Invalid argument)
> 16:51:41 _llseek(8, 0, 0xbffb80b0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
> 16:51:41 ioctl(8, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbffb8068) = -1 EINVAL
> (Invalid argument)
> 16:51:41 _llseek(8, 0, 0xbffb80b0, SEEK_CUR) = -1 ESPIPE (Illegal seek)
> 16:51:41 fcntl64(7, F_SETFD, FD_CLOEXEC) = 0
> 16:51:41 fcntl64(8, F_SETFD, FD_CLOEXEC) = 0
> 16:51:41 fcntl64(8, F_GETFL)            = 0x2 (flags O_RDWR)
> 16:51:41 fcntl64(8, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> 16:51:41 fcntl64(7, F_GETFL)            = 0x2 (flags O_RDWR)
> 16:51:41 fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [INT CHLD], NULL, 8) = 0
> 16:51:41 clone(child_stack=0,
> flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD,
> child_tidptr=0xb7d82928) = 5278
> 16:51:41 write(2, "[984] info: spamd: server succes"..., 71[984] info:
> spamd: server successfully spawned child process, pid 5278
> ) = 71
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [INT CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [INT CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {0x80afde0, [], 0}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) = 0
> 16:51:41 time([1187301101])             = 1187301101
> 16:51:41 time([1187301101])             = 1187301101
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 stat64("/etc/localtime", {st_mode=S_IFREG|0644, st_size=1279, ...})
> = 0
> 16:51:41 select(8, [4], NULL, [4], {0, 0}) = 0 (Timeout)
> 16:51:41 write(4, "<174>Aug 16 16:51:41 spamd[984]:"..., 93) = 93
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [INT CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_IGN}, {0x80afde0, [], 0}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [PIPE], [INT CHLD], 8) = 0
> 16:51:41 rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_IGN}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [INT CHLD], NULL, 8) = 0
> 16:51:41 close(8)                       = 0
> 16:51:41 rt_sigprocmask(SIG_UNBLOCK, [INT CHLD], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {SIG_DFL}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {0x80afde0, [], 0}, {SIG_DFL}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 alarm(64)                      = 0
> 16:51:41 select(16, [5 6 7], NULL, [5 6 7], {2, 0}) = 1 (in [7], left {2,
> 0})
> 16:51:41 alarm(0)                       = 64
> 16:51:41 rt_sigprocmask(SIG_BLOCK, [ALRM], [], 8) = 0
> 16:51:41 rt_sigaction(SIGALRM, {SIG_DFL}, {0x80afde0, [], 0}, 8) = 0
> 16:51:41 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> 16:51:41 alarm(0)                       = 0
> 16:51:41 read(7, "I\0\0\24\236\n", 6)   = 6
> 16:51:41 write(2, "[984] info: prefork: child state"..., 38[984] info:
> prefork: child states: II) = 38
> -----------------------------------------------------
> 
> A regular log shows this:
> ---------
> Jul  9 14:47:32 mail spamd[22607]: spamd: connection from mail.onshore.net
> [127.0.0.1] at port 52379
> Jul  9 14:47:32 mail spamd[32346]: prefork: child 22607: entering state 2
> Jul  9 14:47:32 mail spamd[32346]: prefork: new lowest idle kid: 22633
> Jul  9 14:47:32 mail spamd[32346]: prefork: new lowest idle kid: 22633
> Jul  9 14:47:32 mail spamd[32346]: spamd: handled cleanup of child pid 22607
> due to SIGCHLD
> Jul  9 14:47:32 mail spamd[32346]: prefork: child closed connection
> Jul  9 14:47:32 mail spamd[32346]: prefork: child states: I 
> ----------
> 
> The strace of spamc shows the I/O error:
> 17:54:38 recv(3, 0xbf8cd178, 1, 0)      = -1 ECONNRESET (Connection reset by
> peer) 
> 
> I'm going to look over the spamd code and try to find where the problem's
> occurring (already did that with spamc).  I also found this other message
> about the same problem:
> http://mail-archives.apache.org/mod_mbox/spamassassin-users/200403.mbox/[EMAIL
>  PROTECTED]
> 
> So has anyone on this list experienced this before, and do you possibly know
> where in the app this could be occurring?  Thanks.
> 
> -- 
> Ryan Thoryk
> System Administrator
> onShore Networks, LLC
> 1407 West Chicago Avenue
> Chicago, Illinois 60622
> www.onshore.com 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/Possible-Spamd-bug-causing-spamc-crashes-tf4286739.html#a12202596
> Sent from the SpamAssassin - Dev mailing list archive at Nabble.com.

Reply via email to