Sieve redirect is broken in 2.3.7.2 - signal 11

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



On 06/10/2019 23:14, Demonhost wrote:
> I think alpine does not have that
>
> https://pkgs.alpinelinux.org/packages?name=dovecot*&branch=v3.8&repo=main&arch=x86_64 
>
>
> https://git.alpinelinux.org/aports/tree/main/dovecot/APKBUILD?h=3.8-stable 
>
>
> What else would help? strace?

Do you have the opportunity to build Dovecot yourself, thereby including 
the debug symbols?

Regards,

Stephan.
>
> On 2019. 10. 06. 23:05, Stephan Bosch via dovecot wrote:
>>
>>
>> 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