2013/6/25 Ronald Moesbergen <intercom...@gmail.com>

> 2013/6/24 Paul J Stevens <p...@nfg.nl>
>
>>
>> You /could/ try
>>
>>
>> diff --git a/src/clientsession.c b/src/clientsession.c
>> index b59c8ee..f8b670b 100644
>> --- a/src/clientsession.c
>> +++ b/src/clientsession.c
>> @@ -138,6 +138,8 @@ void client_session_bailout(ClientSession_T **session)
>>         List_T messagelst = NULL;
>>
>>         if (! c) return;
>> + ci_cork(c->ci);
>> +
>>         TRACE(TRACE_DEBUG,"[%p]", c);
>>         // brute force:
>>         if (server_conf->no_daemonize == 1) _exit(0);
>>
>
> I tried this patch, but it doesn't help :( I still managed to crash the
> lmtp daemon:
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007f2cbeca29a7 in client_session_set_timeout (session=0x939ea0,
> timeout=60) at clientsession.c:243
> 243                session->ci->timeout->tv_sec = timeout;
> (gdb) bt
> #0  0x00007f2cbeca29a7 in client_session_set_timeout (session=0x939ea0,
> timeout=60) at clientsession.c:243
> #1  0x00007f2cbeca2b6a in socket_write_cb (fd=18, what=4, arg=0x939ea0) at
> clientsession.c:273
> #2  0x00007f2cbcfd294c in event_base_loop () from
> /usr/lib/libevent-2.0.so.5
> #3  0x00007f2cbeca0a66 in server_run (conf=0x7fff2dfd7210) at server.c:823
> #4  0x00007f2cbeca1023 in server_mainloop (config=0x7fff2dfd7210,
> service=0x4048a5 "LMTP", servicename=0x4048ed "dbmail-lmtpd") at
> server.c:957
> #5  0x0000000000402bcb in main (argc=1, argv=0x7fff2dfdab78) at lmtpd.c:48
>
>
> Lowering concurrency on the client side is possible, I'll see if that
> works around the issue. But it will still be just that: a workaround. I'm
> not really comfortable using this in production knowing this bug still
> exists.
>
>
I've checked with lower concurrency (2 thread per sending server) and that
seems to work, at least in my test setup. I've also found another
workaround: run dbmail-lmtpd under 'xinetd', using dbmail-lmptd in
stdin/stdout mode (-n). This way there's always one client talking to one
dbmail-lmtpd process. An added bonus when using this method is that it's
much faster and can handle much more traffic. Also, there's no long-lived
dbmail-lmtpd process that causes downtime when it crashes...

Thanks,
Ronald.
_______________________________________________
Dbmail-dev mailing list
Dbmail-dev@dbmail.org
http://mailman.fastxs.nl/cgi-bin/mailman/listinfo/dbmail-dev

Reply via email to