postfix-users October 2010 archive
Main Archive Page > Month Archives  > postfix-users archives
postfix-users: Re: postscreen segfault

Re: postscreen segfault

From: Vernon A. Fort <vfort_at_nospam>
Date: Wed Oct 06 2010 - 19:32:39 GMT
To: Postfix users <postfix-users@postfix.org>

On Wed, 2010-10-06 at 14:40 -0400, Wietse Venema wrote:
> Victor Duchovni:
> > 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...
>
> I'll take it from here.
>
> Wietse

i have another segfault and backtrace if you need it.

Vernon