Hi.

I had a working setup using dspam version 3.10.2 with a pgsql backend, based
on postfix's content filter. The postfix people recommend using lmtp
instead, so I tried migrating to

postfix -- lmtp --> dspam -- lmtp --> dovecot

postfix delivers the mail to dspam, dspam does one of two things:

- nothing (mail 'delivered' acc. to postfix, 'gone' in reality)
  This happens with dspam proper, as it came as a package. Nothing logged.
Mail lost

- dspam dies with a segfault
  This happens if I rebuild dspam with --enable-verbose-debug

In the second case dspam is gone after receiving the first message. On the
upside: In this case postfix notices that the other side went away and
queues the mail -> No message lost.

Logs (note that this already includes debug level logging from postgresql,
otherwise we wouldn't see a thing except for the funny "query error: VERBOSE
DEBUG (INFO ONLY - NOT AN ERROR): see sql.errors for more details" - which
seems to be logged before what I consider a critical error):

Nov 07 15:01:12 ben.sh postgres[17925]: [4-1] LOG:  statement: SELECT id
FROM dspam_virtual_uids WHERE email='b...@ben.sh'
Nov 07 15:01:12 ben.sh postgres[17925]: [5-1] LOG:  statement: SELECT
preference,value FROM dspam_preferences WHERE uid=1
Nov 07 15:01:12 ben.sh postgres[17925]: [6-1] LOG:  statement: SELECT
typname FROM pg_type WHERE typelem IN (SELECT atttypid FROM pg_attribute
WHERE attname='token' AND attrelid IN (SELECT oid FROM pg_class WHERE
relname='dspam_token_data'));
Nov 07 15:01:12 ben.sh postgres[17925]: [7-1] LOG:  statement: SELECT
preference,value FROM dspam_preferences WHERE uid=0
Nov 07 15:01:12 ben.sh postgres[17925]: [8-1] LOG:  statement: SELECT
typname FROM pg_type WHERE typelem IN (SELECT atttypid FROM pg_attribute
WHERE attname='token' AND attrelid IN (SELECT oid FROM pg_class WHERE
relname='dspam_token_data'));
Nov 07 15:01:12 ben.sh postgres[17925]: [9-1] LOG:  statement: SELECT
preference,value FROM dspam_preferences WHERE uid=0
Nov 07 15:01:12 ben.sh postgres[17925]: [10-1] LOG:  statement: SELECT
typname FROM pg_type WHERE typelem IN (SELECT atttypid FROM pg_attribute
WHERE attname='token' AND attrelid IN (SELECT oid FROM pg_class WHERE
relname='dspam_token_data'));
Nov 07 15:01:12 ben.sh postgres[17925]: [11-1] LOG:  statement: SELECT id
FROM dspam_virtual_uids WHERE email='b...@ben.sh'
Nov 07 15:01:12 ben.sh postgres[17925]: [12-1] LOG:  statement: SELECT
uid,spam_learned,innocent_learned,spam_misclassified,innocent_misclassified,spam_corpusfed,innocent_corpusfed,spam_classified,innocent_classified
FROM dspam_stats WHERE uid=1
Nov 07 15:01:12 ben.sh dspam[17923]: query error: VERBOSE DEBUG (INFO ONLY -
NOT AN ERROR): see sql.errors for more details
Nov 07 15:01:12 ben.sh kernel: dspam[17937]: segfault at 6 ip
00007fd1381a3202 sp 00007fd1359c33c0 error 4 in
libc-2.18.so[7fd13815b000+1a2000]
Nov 07 15:01:12 ben.sh postgres[17924]: [3-1] DEBUG:  unexpected EOF on
client connection
Nov 07 15:01:12 ben.sh postgres[17925]: [13-1] DEBUG:  unexpected EOF on
client connection
Nov 07 15:01:12 ben.sh postgres[17926]: [3-1] DEBUG:  unexpected EOF on
client connection
Nov 07 15:01:12 ben.sh systemd[1]: dspam.service: main process exited,
code=killed, status=11/SEGV
Nov 07 15:01:12 ben.sh systemd[1]: Unit dspam.service entered failed state.


I see no query error. There is no sql.errors file on my system that I can
find, it certainly isn't in /var/log/dspam where I can find dspam.log,
debug.log and dspam.messages.

The database is _exactly_ the same that worked w/o lmtp (invoking dspam for
each mail via pipe, no daemon at all). What can I do to resolve this
problem? Why isn't dspam handling whatever the error is properly (I noticed
previously that missing db permissions cause dspam to insta-die as well,
again with a segault)? Is that a problem only related to pgsql as a backend?

Thanks in advance/regards,
Ben
------------------------------------------------------------------------------
November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most 
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk
_______________________________________________
Dspam-user mailing list
Dspam-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspam-user

Reply via email to