[Dovecot] Segmentation fault in dovecot director lmtp service
Hi,
the lmtp service of our dovecot director installation quits with a
segmentation fault if a lot of mails are simultaneously delivered.
For example if the postfix mailqueue is filled (for whatever reason)
and postqueue -f is run the lmtp service quits with a segmentation
fault:
Program terminated with signal 11, Segmentation fault.
#0 o_stream_cork (stream=0x0) at ostream.c:75
75 if (unlikely(stream->closed))
(gdb) backtrace
#0 o_stream_cork (stream=0x0) at ostream.c:75
#1 0x00007fa6e6af45d9 in lmtp_client_send_more (client=0x2435870)
at lmtp-client.c:596
#2 0x0000000002434170 in ?? ()
#3 0x00000000004070d9 in proxy_send_more (proxy=0x2435870) at
lmtp-proxy.c:390
#4 lmtp_proxy_data_input (proxy=0x2435870) at lmtp-proxy.c:444
#5 0x00007fa6e6af456f in lmtp_client_send_data (client=0x24347a0)
at lmtp-client.c:306
#6 0x0000000002434f98 in ?? ()
#7 0xffffffffe6af73c5 in ?? ()
#8 0x0000000002434840 in ?? ()
#9 0x0000000000000000 in ?? ()
I don't have any ideas why the stream is 0. The configuration of the
dovecot director installation is attached. Please let me know if i
shall provide any more information or test something.
Kind regards
Reinhard
On 17 Aug 2011, at 13:42, Reinhard Vicinus wrote:
Hi,
the lmtp service of our dovecot director installation quits with a segmentation fault if a lot of mails are simultaneously delivered. For example if the postfix mailqueue is filled (for whatever reason) and postqueue -f is run the lmtp service quits with a segmentation fault:
Program terminated with signal 11, Segmentation fault.
#0 o_stream_cork (stream=0x0) at ostream.c:75
75 if (unlikely(stream->closed))
(gdb) backtrace
#0 o_stream_cork (stream=0x0) at ostream.c:75
#1 0x00007fa6e6af45d9 in lmtp_client_send_more (client=0x2435870) at lmtp-client.c:596
#2 0x0000000002434170 in ?? ()
#3 0x00000000004070d9 in proxy_send_more (proxy=0x2435870) at lmtp-proxy.c:390
#4 lmtp_proxy_data_input (proxy=0x2435870) at lmtp-proxy.c:444
#5 0x00007fa6e6af456f in lmtp_client_send_data (client=0x24347a0) at lmtp-client.c:306
#6 0x0000000002434f98 in ?? ()
#7 0xffffffffe6af73c5 in ?? ()
#8 0x0000000002434840 in ?? ()
#9 0x0000000000000000 in ?? ()
I don't have any ideas why the stream is 0. The configuration of the dovecot director installation is attached. Please let me know if i shall provide any more information or test something.
Kind regards
Reinhard
Hi,
You might need to limit the concurrent deliveries from postfix. Check the maxproc parameter in your master.conf, which is 100 by default. You should reduce it to some lower value, I would say between 10 and 40 depending on your system. That would allow your queues to grow without putting too much stress on the deliveries, even when forcing it with postqueue -f.
Regards,
Thierry
Thierry de Montaudry wrote:
On 17 Aug 2011, at 13:42, Reinhard Vicinus wrote:
Hi,
the lmtp service of our dovecot director installation quits with a segmentation fault if a lot of mails are simultaneously delivered. For example if the postfix mailqueue is filled (for whatever reason) and postqueue -f is run the lmtp service quits with a segmentation fault:
Program terminated with signal 11, Segmentation fault.
#0 o_stream_cork (stream=0x0) at ostream.c:75
75 if (unlikely(stream->closed))
(gdb) backtrace
#0 o_stream_cork (stream=0x0) at ostream.c:75
#1 0x00007fa6e6af45d9 in lmtp_client_send_more (client=0x2435870) at lmtp-client.c:596
#2 0x0000000002434170 in ?? ()
#3 0x00000000004070d9 in proxy_send_more (proxy=0x2435870) at lmtp-proxy.c:390
#4 lmtp_proxy_data_input (proxy=0x2435870) at lmtp-proxy.c:444
#5 0x00007fa6e6af456f in lmtp_client_send_data (client=0x24347a0) at lmtp-client.c:306
#6 0x0000000002434f98 in ?? ()
#7 0xffffffffe6af73c5 in ?? ()
#8 0x0000000002434840 in ?? ()
#9 0x0000000000000000 in ?? ()
I don't have any ideas why the stream is 0. The configuration of the dovecot director installation is attached. Please let me know if i shall provide any more information or test something.
Kind regards
Reinhard
Hi,
You might need to limit the concurrent deliveries from postfix. Check the maxproc parameter in your master.conf, which is 100 by default. You should reduce it to some lower value, I would say between 10 and 40 depending on your system. That would allow your queues to grow without putting too much stress on the deliveries, even when forcing it with postqueue -f.
Regardless, Reinhard still seem to have stumbled on a bug.
/Per Jessen, Zürich
On 17/08/11 14:12, Thierry de Montaudry wrote:
On 17 Aug 2011, at 13:42, Reinhard Vicinus wrote:
Hi,
the lmtp service of our dovecot director installation quits with a segmentation fault if a lot of mails are simultaneously delivered. For example if the postfix mailqueue is filled (for whatever reason) and postqueue -f is run the lmtp service quits with a segmentation fault: Program terminated with signal 11, Segmentation fault. #0 o_stream_cork (stream=0x0) at ostream.c:75 75 if (unlikely(stream->closed)) (gdb) backtrace #0 o_stream_cork (stream=0x0) at ostream.c:75 #1 0x00007fa6e6af45d9 in lmtp_client_send_more (client=0x2435870) at lmtp-client.c:596 #2 0x0000000002434170 in ?? () #3 0x00000000004070d9 in proxy_send_more (proxy=0x2435870) at lmtp-proxy.c:390 #4 lmtp_proxy_data_input (proxy=0x2435870) at lmtp-proxy.c:444 #5 0x00007fa6e6af456f in lmtp_client_send_data (client=0x24347a0) at lmtp-client.c:306 #6 0x0000000002434f98 in ?? () #7 0xffffffffe6af73c5 in ?? () #8 0x0000000002434840 in ?? () #9 0x0000000000000000 in ?? () I don't have any ideas why the stream is 0. The configuration of the dovecot director installation is attached. Please let me know if i shall provide any more information or test something. Kind regards Reinhard
Hi,
You might need to limit the concurrent deliveries from postfix. Check the maxproc parameter in your master.conf, which is 100 by default. You should reduce it to some lower value, I would say between 10 and 40 depending on your system. That would allow your queues to grow without putting too much stress on the deliveries, even when forcing it with postqueue -f.
Regards,
Thierry
Hi,
i don't think this problem is load related, because the load on the mail servers is generally around 0.1-0.2, the queue contained only 22 messages and the only reason the queues was growing were that i stopped the dovecot director instance on this mailserver.
Kind regards Reinhard
On Wed, 2011-08-17 at 11:42 +0000, Reinhard Vicinus wrote:
Hi,
the lmtp service of our dovecot director installation quits with a segmentation fault if a lot of mails are simultaneously delivered. For example if the postfix mailqueue is filled (for whatever reason) and postqueue -f is run the lmtp service quits with a segmentation fault:
It probably means that the remote LMTP server disconnected the client for whatever reason. http://hg.dovecot.org/dovecot-2.0/rev/2f988e370a41 should help.
Hi,
sorry for my late reply. I have run dovecot with your patch for a week and i wasn't able to reproduce the segmentation fault and it also hasn't occurred during normal operation since then.
Thanks Reinhard
On 23/08/11 19:44, Timo Sirainen wrote:
On Wed, 2011-08-17 at 11:42 +0000, Reinhard Vicinus wrote:
Hi,
the lmtp service of our dovecot director installation quits with a segmentation fault if a lot of mails are simultaneously delivered. For example if the postfix mailqueue is filled (for whatever reason) and postqueue -f is run the lmtp service quits with a segmentation fault:
It probably means that the remote LMTP server disconnected the client for whatever reason. http://hg.dovecot.org/dovecot-2.0/rev/2f988e370a41 should help.
-- Reinhard Vicinus Metaways Infosystems GmbH Pickhuben 2, D-20457 Hamburg
E-Mail: r.vicinus@metaways.de Web: http://www.metaways.de Tel: +49 (0)40 317031-524 Fax: +49 (0)40 317031-10
Metaways Infosystems GmbH - Sitz: D-22967 Tremsbüttel Handelsregister: Amtsgericht Lübeck HRB 4508 AH Geschäftsführung: Hermann Thaele, Lüder-H. Thaele
participants (4)
-
Per Jessen
-
Reinhard Vicinus
-
Thierry de Montaudry
-
Timo Sirainen