I, like the others who posted here today, noticed man spamd's hanging around last night. This appears to be related to razor1.
I did some poking around...I believe I have an explaination: In my setup, spamd (run via /etc/init.d/spamd start) starts running as the root user, then spawns children as user "nobody". If razor1 needs to do server rediscovery when first starting spamd, it's done under the "root" user. The /root/.razor.lst file is created with "root" being the only user with write permission. If spamd is still running and razor1 wants to rediscover it's servers again, it's done in a child of spamd. In my case, spamd children run as user "nobody". razor1 retrieves the list of servers to use and attempts to update /root/.razor.lst, but fails because user "nobody" cannot write to it (because it's owned by root, see above). In razor1's Client.pm, this causes $self->{done_discovery} to never get set. When razor1 "check()" is run by spamd, "check()" runs "_send()" to send the request to the razor1 server. "connect()" in "_send()" attempts to open a socket to the razor1 server but fails, calling "nextserver()". "nextserver()" notices that $self{done_discovery} is not set and forces rediscovery again. goto previous paragraph. Result, endless rediscovery loop until razor server responds again. Of course, if spamd is running and razor1 rediscovery takes place in a child, it is run in every child spamd spawns from then on regardless of whether or not the razor1 server is responding. Fun! * Jason Brunette ([EMAIL PROTECTED]) * Excel.Net,Inc. - http://www.excel.net/ * (920) 452-0455 - Sheboygan/Plymouth area * (888) 489-9995 - Other areas, toll-free ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Spamassassin-talk mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/spamassassin-talk