Broken pipe: NULL: Broken pipe

gate2vn

Verified User
Joined
Nov 9, 2004
Messages
483
Location
Oslo
I just switched exim_conf to version 4.3, and mails could not process anymore. The error is:

R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe

If switching back to version 2.1, then everything is fine.

Any idea why?
Thanks.
 
Hello,

And after you changed exim to 4.3 did you update dovecot conf? What do you see with

Code:
cd /usr/local/directadmin/custombuild
./build update
./build options
?
 
Yes, I did update devecot conf by "./build dovecot_conf" already. But the error is still there after retrying.
 
Check logs:

/var/log/dovecot-lmtp-errors.log
/var/log/dovecot-lmtp.log

sockets whether they exist:

Code:
# ls -la /var/run/dovecot/lmtp*

should be

Code:
srw-rw-rw- 1 root root 0 Dec  9 03:52 /var/run/dovecot/lmtp
srw-rw---- 1 mail mail 0 Dec  9 03:52 /var/run/dovecot/lmtp-client

Processes whether or not they run:

Code:
ps aux | grep "dovecot/lmtp"
 
We have the same issue. Debian 9, exim with exim_conf 4.5. Problem concern some emails (It seems to me that the size of e-mails matters). In mail queue are 2 emails bigger than 50MB and they have this errors:
Code:
2018-01-27 05:28:28 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe


When i try to retry delivery these emails in lmpt-error.log appears:

Code:
2018-01-25 14:58:56 Received from [email protected] H=46.175.239.50.maxnet.net.pl ([192.168.100.110]) [46.175.239.50] P=esmtpa A=plain:[email protected] S=71493203 [email protected] T="Fwd: buźki;d"
2018-01-25 14:58:56 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 14:58:56 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 15:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 15:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 16:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 16:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 17:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 17:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 20:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 20:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 21:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 21:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-25 22:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 22:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 23:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-25 23:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-26 01:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 01:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 02:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-26 03:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 03:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 05:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 05:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 10:28:36 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 10:28:36 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 11:28:56 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 11:28:56 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 12:28:30 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 12:28:30 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 14:30:52 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 14:30:52 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 15:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 16:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 16:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 19:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 19:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 20:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-26 20:28:27 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-27 05:28:28 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-27 05:28:28 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-27 09:06:13 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-27 09:06:13 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-27 09:10:39 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (32): Broken pipe: NULL: Broken pipe
2018-01-27 09:10:52 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer
2018-01-27 09:10:52 [email protected] R=virtual_user T=dovecot_lmtp_udp defer (104): Connection reset by peer: NULL: Connection reset by peer

Mail was sended form user in domain.com to 2 users in the same domain.

Sometimes in lmtp-error.log appears:
Code:
Jan 27 09:38:08 lmtp(38394): Panic: file lib-event.c: line 182 (event_pop_global): assertion failed: (event != NULL)
Jan 27 09:38:08 lmtp(38394): Error: Raw backtrace: /usr/lib/dovecot/libdovecot.so.0(+0xc6031) [0x7efe0c8bf031] -> /usr/lib/dovecot/libdovecot.so.0(+0xc6089) [0x7efe0c8bf089] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0x7efe0c831491] -> /usr/lib/dovecot/libdovecot.so.0(event_pop_global+0xa8) [0x7efe0c8daee8] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x4f468) [0x7efe0cbba468] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_context_deactivate+0x55) [0x7efe0c8d67c5] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x89) [0x7efe0c8d6c29] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run_internal+0x109) [0x7efe0c8d84a9] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x52) [0x7efe0c8d6d12] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x38) [0x7efe0c8d6f28] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7efe0c8541f3] -> dovecot/lmtp [local READY](main+0x23d) [0x559c9772cc1d] -> /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7efe0c47a2b1] -> dovecot/lmtp [local READY](_start+0x2a) [0x559c9772cd5a]
Jan 27 09:41:15 lmtp([email protected])<39538><6Hy9LSs7bFpymgAAVFCd2Q>: Warning: Failed to parse return-path header: Null path not allowed

Please help :)
Regards
 
Last edited:
I would highly recommend to downgrade. Today, I uploaded a renewed SSL cert to another 2.3 dovecot server, and immediately, clients faced to trouble. Downgrading to 2.2.33 solved the problem.
 
I could actually fix my errors with a reply from Zeiter from an old post:

cd /usr/local/directadmin/custombuild
./build update
./build exim
./build exim_conf
mv /etc/dovecot /etc/dovecot~moved
./build dovecot
./build dovecot_conf

After that it seems to be working again. At 1st I tried just downgrading dovecot but ran into errors with pigeonhole and quota plugins that remained for older versions. Then when trying to disable pigeonhole I still got errors about "username_filter".

So when I found the 2015 post with Zeiter's reply I thought it was my best option since it refreshes the config.

Ofcourse if you have customizations to your dovecot conf you might want to be cautious.

But atleast now I have dovecot-2.3.0 and latest pigeonhole and so far all seems to be well.

Kind regards,

Eelco Bosselaar
 
I did the same
Code:
./build update
./build exim
./build exim_conf
./build dovecot
./build dovecot_conf

and error still exist
Only downgrade work's form me :]

Regards
 
Well,

Guess I spoke too soon. It indeed seems to depend on the message size.

I have a message in queue now, 42MB in size. And that is producing the same error as the thread title.
However I have just been testing with messages up to 20MB and they get delivered as usual.

I'll do some more tests to see what the limit is. So far it seems to be 40MB+.

Edit: Checking the dovecot-lmtp.log I see this when I retry the message.

Feb 07 11:09:18 lmtp(21458): Info: Disconnect from local: Client has quit the connection (state = READY)
Feb 07 11:10:06 lmtp(21434): Info: Connect from local
Feb 07 11:10:06 lmtp(21434): Info: Disconnect from local: Read failure (state = DATA)

Kind regards,

Eelco
 
Last edited:
At least for me, there is no difference in message size. 5MB or 15kB, message can be rejected and delivered twice.
 
Last edited:
Try and downgrade to dovecot 2.2.x and see whether or not it solves the issues.
 
Downgraded to dovecot 2.2.33 as suggested

Code:
cd /usr/local/directadmin/custombuild
echo "dovecot:2.2.33:d61d1e923a22f9062cc9f47696882666" > custom_versions.txt
./build dovecot

As far as I can see, this bug (or similar one) is already reported on dovecot mailing list:
https://dovecot.org/pipermail/dovecot/2018-January/110783.html
but not resolved so far.

For now it seems that downgrading dovecot can be workaround to my problems.
 
Back
Top