> Could it be quotas?

Nope, no quotas in use.

It's definitely gagging on attemping to sync the journal.  I put in some
debug statements, and when BayesStore.pm sees that the journal is
larger than 102400 bytes and goes to sync it, out pops the errors.

I clamped a "truss" on "spamd" and all I see is a stat() on the
"/.spamassassin/bayes_journal" file right before it emits the
first of the error messages.

Basically, I see

[...]
29931:  stat("//.spamassassin", 0xFF346EC0)             = 0
29931:  stat("//.spamassassin", 0xFF346EC0)             = 0
29931:  umask(0177)                                     = 022
29931:  open("//.spamassassin/bayes_journal", O_WRONLY|O_APPEND|O_CREAT, 0666) =
 23
29931:  llseek(23, 0, SEEK_END)                         = 391193
29931:  fstat(23, 0xFF346FBC)                           = 0
29931:  fcntl(23, F_SETFD, 0x00000001)                  = 0
29931:  write(23, 0x01383390, 456)                      = 456

<write to the end of the bayes_journal file>

29931:  close(23)                                       = 0
29931:  umask(022)                                      = 0177

<Bunch of llseek()s and read()s of the database; not "bayes_journal">

29931:  stat("//.spamassassin/bayes_journal", 0xFF346EC0) = 0
29931:  time()                                          = 1067647856
29931:  getcontext(0xFFBEF230)
29931:  setcontext(0xFFBEF230)
29931:  sigaction(SIGPIPE, 0xFFBEF448, 0xFFBEF4C8)      = 0
29931:  getcontext(0xFFBEF3B0)
29931:  send(6, 0x01384BF8, 198, 0)                     = 198
29931:     < 2 2 > s p a m d [ 2 9 9 3 1 ] :   F a i l e d   t o   r u n  
29931:     B A Y E S _ 3 0   S p a m A s s a s s i n   t e s t ,   s k i p
29931:     p i n g :\n\t ( N o   w r i t e   p e r m i s s i o n   t o   n
29931:     d b m   f i l e   a t   / u s r / p e r l 5 / s i t e _ p e r l
29931:     / 5 . 0 0 5 / M a i l / S p a m A s s a s s i n / B a y e s S t
29931:     o r e . p m   l i n e   9 3 6 ,   < G E N 7 2 >   c h u n k   2
29931:     5 .\n )\n\0

I even tried chmod'ing /.spamassassin/bayes_journal to mode 666 just for
fun, but I still get the errors on the sync attempt.

What baffles me is why "su courier -c 'sa-learn --rebuild'" works fine,
but "spamd" (also running as "courier") gets these "No write permission to
ndbm file" errors.

If it matters, "spamd" is running as

/usr/perl5/bin/spamd -d -q -a -r /var/run/spamd.pid -u courier --nouser-config \
--virtual-config=/var/maildirs/virtual/my.do.main/spamassassin

I'm running MySQL and have SpamAssassin preferences stored in it (thus the
"-q" and "--nouser-config" switches), and (as you can see) I'm running it
as user "courier".  (I now realize that the "--virtual-config" above is a
NOP, due to the presence of the "-q" ... oops.)

I've run out of ideas at this point.  All signs point to "bayes_journal"
but I don't see where the "no write permission" is coming from ...

Thanks,

        - Greg




-------------------------------------------------------
This SF.net email is sponsored by: SF.net Giveback Program.
Does SourceForge.net help you be more productive?  Does it
help you create better code?   SHARE THE LOVE, and help us help
YOU!  Click Here: http://sourceforge.net/donate/
_______________________________________________
Spamassassin-talk mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/spamassassin-talk

Reply via email to