On Wed, Oct 06, 2010 at 12:51:16PM -0500, Vernon A. Fort wrote:

> Loaded symbols for /lib/libnss_files.so.2
> Core was generated by `postscreen -l -n smtp -t inet -u -s 2 -v'.
> Program terminated with signal 11, Segmentation fault.
> ...
> #3  0x0805f827 in msg_info (fmt=0x80683bb "%s: notify %s:%s") at msg.c:179
> #4  0x0804c39a in ps_early_dnsbl_event (unused_event=0, 
>     context=0x88d1348 
> "\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377p")
>     at postscreen_early.c:228
> #5  0x0804c049 in ps_dnsbl_receive (event=1, context=0x88e1e60 "") at 
> postscreen_dnsbl.c:371
> #6  0x0805c31f in event_loop (delay=-1) at events.c:1180
> #7  0x0804f345 in event_server_main (argc=10, argv=0xbf8ef114, 
> service=0x804b191 <ps_service>) at event_server.c:882
> #8  0x0804ab26 in main (argc=10, argv=0xbf8ef114) at postscreen.c:888

This is enough. You are running "postscreen -v", you probably should
not be running it with verbose logging, but that of course is no reason
why it should crash, so...

It looks like the ps_early_dnsbl_event() callback is called here with
a client context that has been deallocated (client disconnected, ...
before all the DNS blacklist lookups completed). The callback should
be cancelled when the client state is deleted.

The "dnsbl_score_cache" table contains per-client address call-back
lists for each connection that wants the score results, and this callback
list does not appear to be pruned when a client disconnects...

-- 
        Viktor.

Reply via email to