Sieve redirect is broken in 2.3.7.2 - signal 11

Stephan Bosch stephan at rename-it.nl
Mon Oct 7 00:05:14 EEST 2019



On 06/10/2019 23:03, Demonhost wrote:
> Hi Stephan,
>
> I managed to get GDB, I hope this one helps. If not I can send the 
> config too, but exactly same config works with 2.3.6.

You don't have the debug symbols for Dovecot installed. Usually, your 
system will have a separate package for that. On Debian, it is called 
dovecot-dbg.

>
> 92b9d3412dc8:/$ gdb /usr/libexec/dovecot/dovecot-lda -f root at xxxxxxxx 
> -d test at xxxxxxxxx
> GNU gdb (GDB) 8.0.1
> Copyright (C) 2017 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later 
> <http://gnu.org/licenses/gpl.html>
> This is free software: you are free to change and redistribute it.
> There is NO WARRANTY, to the extent permitted by law.  Type "show 
> copying"
> and "show warranty" for details.
> This GDB was configured as "x86_64-alpine-linux-musl".
> Type "show configuration" for configuration details.
> For bug reporting instructions, please see:
> <http://www.gnu.org/software/gdb/bugs/>.
> Find the GDB manual and other documentation resources online at:
> <http://www.gnu.org/software/gdb/documentation/>.
> For help, type "help".
> Type "apropos word" to search for commands related to "word"...
> Warning: //test at xxxxxxxxx: No such file or directory.
> Reading symbols from /usr/libexec/dovecot/dovecot-lda...(no debugging 
> symbols found)...done.
> //root at xxxxxxxx: No such file or directory.
> (gdb) r -f root at xxxxxxxx -d test at xxxxxxxxx < message
> Starting program: /usr/libexec/dovecot/dovecot-lda -f root at xxxxxxxx -d 
> test at xxxxxxxxx < message
> process 359 is executing new program: /usr/bin/doveconf
> process 359 is executing new program: /usr/libexec/dovecot/dovecot-lda
>
> Program received signal SIGSEGV, Segmentation fault.
> 0x00007ffff75b74f7 in p_strdup () from /usr/lib/dovecot/libdovecot.so.0
> (gdb) bt full
> #0  0x00007ffff75b74f7 in p_strdup () from 
> /usr/lib/dovecot/libdovecot.so.0
> No symbol table info available.
> #1  0x00007ffff757dd1a in ssl_iostream_settings_init_from () from 
> /usr/lib/dovecot/libdovecot.so.0
> No symbol table info available.
> #2  0x00007ffff7522545 in smtp_submit_session_init () from 
> /usr/lib/dovecot/libdovecot.so.0
> No symbol table info available.
> #3  0x00007ffff752265a in smtp_submit_init_simple () from 
> /usr/lib/dovecot/libdovecot.so.0
> No symbol table info available.
> #4  0x00007ffff687e923 in ?? () from 
> /usr/lib/dovecot/lib90_sieve_plugin.so
> No symbol table info available.
> #5  0x00007ffff65fe761 in sieve_smtp_start () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #6  0x00007ffff65fe869 in sieve_smtp_start_single () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #7  0x00007ffff661c71e in ?? () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #8  0x00007ffff660e8a8 in ?? () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #9  0x00007ffff66100d1 in sieve_result_execute () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #10 0x00007ffff661e9fc in ?? () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #11 0x00007ffff661f638 in sieve_multiscript_run () from 
> /usr/lib/dovecot/libdovecot-sieve.so.0
> No symbol table info available.
> #12 0x00007ffff687f7cb in ?? () from 
> /usr/lib/dovecot/lib90_sieve_plugin.so
> No symbol table info available.
> #13 0x00007ffff7b69960 in mail_deliver () from 
> /usr/lib/dovecot/libdovecot-lda.so.0
> No symbol table info available.
> #14 0x0000555555556fd2 in main ()
> No symbol table info available.
>
> On 2019. 10. 04. 14:42, Stephan Bosch wrote:
>>
>>
>> Op 4-10-2019 om 12:10 schreef Demonhost via dovecot:
>>> Hi,
>>>
>>> If we use sieve redirect under dovecot 2.3.7.2 we end up with
>>>
>>> Oct 04 03:30:31 dockerhost docker[12154]: 2019-10-04T03:30:31 
>>> 53ac2ae27650 postfix: 0605F207B0F36: to=<xxxx at xxxx.xx>, 
>>> relay=127.0.0.1[127.0.0.1]:10024, delay=1.5, delays=0.36/0/0/1.1, 
>>> dsn=2.0.0, status=sent (250 2.0.0 from MTA(smtp:[127.0.0.1]:10025): 
>>> 250 2.0.0 Ok: queued as 6FC89207B0F38)
>>> Oct 04 03:30:31 dockerhost docker[12154]: 2019-10-04T03:30:31 
>>> 53ac2ae27650 postfix: 6FC89207B0F38: to=<xxxx at xxxx.xx>, 
>>> relay=dovecot, delay=0.31, delays=0.05/0/0/0.26, dsn=4.3.0, 
>>> status=deferred (Command died with signal 11: 
>>> "/usr/libexec/dovecot/dovecot-lda")
>>>
>>> Using docker with official alpine image.
>>>
>>> / # cat /etc/alpine-release
>>> 3.8.4
>>>
>>> / # apk info -v | grep dovecot
>>> WARNING: Ignoring APKINDEX.adfa7ceb.tar.gz: No such file or directory
>>> WARNING: Ignoring APKINDEX.efaa1f73.tar.gz: No such file or directory
>>> dovecot-2.3.7.2-r0
>>> dovecot-fts-solr-2.3.7.2-r0
>>> dovecot-ldap-2.3.7.2-r0
>>> dovecot-pigeonhole-plugin-2.3.7.2-r0
>>> dovecot-pigeonhole-plugin-ldap-2.3.7.2-r0
>>>
>>> Sieve rule is:
>>> # rule:[test]
>>> if header :contains "subject" "test"
>>> {
>>>         redirect "testemail at gmail.com";
>>> }
>>>
>>> In host's dmesg we found the following:
>>> [213184.882341] traps: dovecot-lda[6128] general protection 
>>> ip:7ff6cf8144f7 sp:7fff5f800b30 error:0 in 
>>> libdovecot.so.0.0.0[7ff6cf724000+360000]
>>>
>>> Sorry, not knowledgeable enough on how to do the GBD debug.
>>> -----------------
>>> We went back to previous version and issue disappeared.
>>>
>>> 8b45bb255b67:/# cat /etc/alpine-release
>>> 3.8.4
>>> 8b45bb255b67:/# apk info -v | grep dovecot
>>> WARNING: Ignoring APKINDEX.adfa7ceb.tar.gz: No such file or directory
>>> WARNING: Ignoring APKINDEX.efaa1f73.tar.gz: No such file or directory
>>> dovecot-2.3.6-r0
>>> dovecot-fts-solr-2.3.6-r0
>>> dovecot-ldap-2.3.6-r0
>>> dovecot-pigeonhole-plugin-2.3.6-r0
>>> dovecot-pigeonhole-plugin-ldap-2.3.6-r0
>>>
>>> Anyone else already had this problem or you know how to fix it?
>>
>> I can't readily reproduce it with the information available so far. 
>> Do you have the opportunity to obtain a GDB backtrace? You can e.g. 
>> run LDA manually at the command line with the same arguments and 
>> message input Postfix provides and wrap it in GDB if you can 
>> reproduce the crash.
>>
>> Your configuration may also help (output from `dovecot -n`)
>>
>> Regards,
>>
>> Stephan.
>>



More information about the dovecot mailing list