Running without the daemon option makes it clear: $ /usr/bin/spamd -x --max-conn-per-child=20 --socketpath=/dev/spamd --socketgroup=mail -m3 --min-spare=3 -u mail
... [4463] info: spamd: server started on UNIX domain socket /dev/spamd (running version 3.2.2) [4463] info: spamd: server pid: 4463 spamd: setuid to uid 8 failed [4463] info: spamd: server successfully spawned child process, pid 4468 [4463] info: spamd: server successfully spawned child process, pid 4469 spamd: setuid to uid 8 failed [4463] info: spamd: server successfully spawned child process, pid 4470 [4463] info: prefork: child states: SSS [4463] info: prefork: server reached --max-children setting, consider raising it [4463] info: spamd: handled cleanup of child pid 4468 due to SIGCHLD spamd: setuid to uid 8 failed [4463] info: spamd: server successfully spawned child process, pid 4471 spamd: setuid to uid 8 failed [4463] info: prefork: child states: SSS [4463] info: prefork: server reached --max-children setting, consider raising it [4463] info: spamd: handled cleanup of child pid 4469 due to SIGCHLD spamd: setuid to uid 8 failed This is the die() message from when the setgid/setuid functions are called: ... # bug 5518: assignments to $) and $( don't always work on all platforms # bug 3900: assignments to $> and $< problems with BSD perl bug # use the POSIX functions to hide the platform specific workarounds POSIX::setgid($ugid); # set effective and real gid POSIX::setuid($uuid); # set effective and real UID # keep the sanity check to catch problems like bug 3900 just in case if ( $> != $uuid and $> != ( $uuid - 2**32 ) ) { die "spamd: setuid to uid $uuid failed\n"; } ... Chris -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Wednesday, July 25, 2007 10:10 AM To: Chris Blaise Cc: users@spamassassin.apache.org Subject: Re: ANNOUNCE: Apache SpamAssassin 3.2.2 available try using "strace -fp {PID}" to see what is causing those deaths... Chris Blaise writes: > > Can you verify that it's not in the "child create/due" loop? > Tailing my log, I see the following: > > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: spamd: server started on UNIX > domai > n socket /dev/spamd (running version 3.2.2) > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: spamd: server pid: 4553 > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4556 > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4557 > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4558 > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: prefork: child states: SSS > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: prefork: server reached > --max-child > ren setting, consider raising it > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: prefork: child states: SSS > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: prefork: server reached > --max-child > ren setting, consider raising it > 2007 Jul 25 08:41:01 ThreatWall spamd[4553]: spamd: handled cleanup of child > pid > 4556 due to SIGCHLD > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: server successfully > spawned > : > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: handled cleanup of child > pid > 4558 due to SIGCHLD > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: prefork: child states: S > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4560 > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4561 > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: handled cleanup of child > pid > 4559 due to SIGCHLD > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: handled cleanup of child > pid > 4560 due to SIGCHLD > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: prefork: child states: S > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4562 > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: server successfully > spawned > child process, pid 4563 > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: prefork: child states: SSS > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: prefork: server reached > --max-child > ren setting, consider raising it > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: handled cleanup of child > pid > 4561 due to SIGCHLD > 2007 Jul 25 08:41:02 ThreatWall spamd[4553]: spamd: handled cleanup of child > pid > 4562 due to SIGCHLD > .... > > Until I kill the parent spamd process. I run it with: > > /usr/bin/spamd -d -x --max-conn-per-child=20 --socketpath=/dev/spamd > --socketgroup=mail -m3 --min-spare=3 -u mail > > Chris > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] > Sent: Wednesday, July 25, 2007 9:06 AM > To: Chris Blaise > Cc: users@spamassassin.apache.org > Subject: Re: ANNOUNCE: Apache SpamAssassin 3.2.2 available > > > Chris Blaise writes: > > When starting up on a Perl 5.6.1 system under x86 Linux, spamd goes > > into a child spawn/die loop because of the fix for bug 5518 which replaces > > the previous set uid/gid routines fails and causes the newly spawned child > > to immediately die. > > > > Is Perl 5.6.1 no longer the lowest support version? > > works fine for me with perl 5.6.1; make test passes: > > t/spamd.....................ok > t/spamd_allow_user_rules....ok > t/spamd_hup.................ok > t/spamd_kill_restart........ok > [.etc.] > > and 'sudo make test TEST_FILES=t/root_spamd*' similarly passes: > > t/root_spamd....................ok > t/root_spamd_tell...............ok > t/root_spamd_tell_paranoid......ok > t/root_spamd_tell_x.............ok > t/root_spamd_tell_x_paranoid....ok > t/root_spamd_x..................ok > t/root_spamd_x_paranoid.........ok > All tests successful. > > --j.