Hi people! (Especially Johannes, probably =) I recently switched to DSPAM + antispam plugin combination. Mostly I am happy but there is a problem with calling dspam-exec in order to relearn the messages. Moving messages to spam folder does not work, giving the error message 'Failed to call dspam' to client. I tried to add some debug output and here are the results: This is the output of debug("calling dspam: %s %s %s %s %s %s %s", argv[0], argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); (debugv(argv) does not produce any output for some reason) Oct 26 02:37:12 qqqqq imap: antispam: calling dspam: /usr/contrib/bin/dspam --source=error --class=spam --signature=490387db858421194018847 --user genie (null) This is the captured output of forked process Oct 26 02:37:12 qsar imap: antispam: dspam returned: ^APdata stack: Out of memory when allocating 1073741840 bytes If I understand correctly, this message is produced by dovecot before it should have launched dspam executable. I don't know why it needs 1GB of stack space for that. Changing dspam to dspamc does not help. Interestingly enough, launching 'sendmail' in mailtrain mode works ok. Do you have any ideas about what is wrong? Best wishes Eugene
On Sat, 2008-11-01 at 14:25 +0300, Eugene wrote:> This is the output of debug("calling dspam: %s %s %s %s %s %s %s", argv[0], > argv[1], argv[2], argv[3], argv[4], argv[5], argv[6]); > (debugv(argv) does not produce any output for some reason) > Oct 26 02:37:12 qqqqq imap: antispam: calling dspam: > /usr/contrib/bin/dspam --source=error --class=spam --signature=490387db858421194018847 > --user genie (null)That seems fine, so far. And it means the t_strdup calls worked just fine.> This is the captured output of forked process > Oct 26 02:37:12 qsar imap: antispam: dspam returned: ^APdata stack: Out of > memory when allocating 1073741840 bytes > > If I understand correctly, this message is produced by dovecot before it > should have launched dspam executable. I don't know why it needs 1GB of > stack space for that. Changing dspam to dspamc does not help. > > Interestingly enough, launching 'sendmail' in mailtrain mode works ok. > > Do you have any ideas about what is wrong?No, no idea, this is strange. Can you make dovecot dump a stack trace at that point? johannes -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part URL: <http://dovecot.org/pipermail/dovecot/attachments/20081101/3503f611/attachment-0002.bin>
Hi Johannes,> > This is the captured output of forked process > > Oct 26 02:37:12 qsar imap: antispam: dspam returned: ^APdata stack: Out > > of > > memory when allocating 1073741840 bytes > > > If I understand correctly, this message is produced by dovecot before it > > should have launched dspam executable. I don't know why it needs 1GB of > > stack space for that. Changing dspam to dspamc does not help. > > > > Interestingly enough, launching 'sendmail' in mailtrain mode works ok. > > > > Do you have any ideas about what is wrong?> No, no idea, this is strange. Can you make dovecot dump a stack trace at > that point?No problem with that, but how do I do it? (I am not that much of a Unix programmer). Just a wild idea: only the handling of standard file descriptors seems to be different between dspam-exec and mailtrain modes. Might something be wrong with a series of fdup and close calls for dspam-exec? Best wishes Eugene