Hi Stephan, Here it is: Program received signal SIGSEGV, Segmentation fault. p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d <error: Cannot access memory at address 0x6d65642e6c69616d>) at strfuncs.c:51 51????? strfuncs.c: No such file or directory. (gdb) bt full #0? p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d <error: Cannot access memory at address 0x6d65642e6c69616d>) at strfuncs.c:51 ??????? mem = <optimized out> ??????? len = <optimized out> #1? 0x00007ffff757dd1a in ssl_iostream_settings_init_from (pool=pool at entry=0x55555579bc20, dest=dest at entry=0x55555579bcf8, src=0x555555764038) at iostream-ssl.c:298 ??????? offset = 0 ??????? src_str = 0x555555764038 ??????? dest_str = 0x55555579bcf8 #2? 0x00007ffff7522545 in smtp_submit_session_init (input=0x555555764008, set=0x7fffffffe378) at smtp-submit.c:84 ??????? pool = 0x55555579bc20 #3? 0x00007ffff752265a in smtp_submit_init_simple (input=<optimized out>, set=<optimized out>, mail_from=0x555555759b80) at smtp-submit.c:134 ??????? session = <optimized out> ??????? subm = 0x0 #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 (ctx=0x7fffffffe9e0, storage_r=0x7fffffffe9a8) at mail-deliver.c:498 ??????? muser = 0x555555777ef8 ??????? ret = <optimized out> ??????? __func__ = "mail_deliver" #14 0x0000555555556fd2 in lda_deliver (stderr_rejection=false, rcpt_to_source=<optimized out>, rcpt_to=<optimized out>, path=<optimized out>, user=<optimized out>, ??? service_user=<optimized out>, ctx=0x7fffffffe9e0) at main.c:253 ??????? storage = 0x0 ??????? errstr = 0x0 ??????? ret = <optimized out> ??????? var_table = <optimized out> ??????? lda_set = <optimized out> ??????? smtp_set = <optimized out> #15 main (argc=<optimized out>, argv=<optimized out>) at main.c:517 ??????? t = 0x0 ??????? box = 0x0 ??????? set_roots = {0x555555758ae0 <smtp_submit_setting_parser_info>, 0x555555758a80 <lda_setting_parser_info>, 0x0} ??????? ctx = {pool = 0x555555759b40, set = 0x555555764078, smtp_set = 0x555555764008, session = 0x555555759b68, session_time_msecs = 0, delivery_time_started = { ---Type <return> to continue, or q <return> to quit--- ??????????? tv_sec = 1570435973, tv_usec = 126295}, dup_db = 0x55555578e040, session_id = 0x0, src_mail = 0x555555790c68, mail_from = 0x555555759b80, mail_params = { ??????????? auth = 0x0, body = {type = SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = { ????????????? arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}}, rcpt_to = 0x555555759bb0, rcpt_params = {orcpt = {addr_type = 0x0, ????????????? addr = 0x555555759bb0, addr_raw = 0x0}, notify = SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, ????????????? v_modifiable = 0x0}}, rcpt_user = 0x555555777168, rcpt_default_mailbox = 0x55555555763f "INBOX", dest_mail = 0x0, cache = 0x0, tempfail_error = 0x0, ????????? tried_default_save = false, saved_mail = false, save_dest_mail = false, mailbox_full = false, dsn = false} ??????? service_flags = <optimized out> ??????? user = <optimized out> ??????? errstr = 0x0 ??????? path = 0x0 ??????? rcpt_to = 0x0 ??????? final_rcpt_to = 0x0 ??????? mail_from = 0x555555759b80 ??????? storage_service = 0x7ffff7d6c5a8 ??????? service_user = 0x555555763198 ??????? service_input = {parent_event = 0x0, module = 0x55555555763b "lda", service = 0x55555555763b "lda", username = 0x7ffff7832f31 "testaaaaaa at xxxxxxxxx.xx", ????????? session_id = 0x0, session_id_prefix = 0x0, session_create_time = 0, local_ip = {family = 0, u = {ip6 = {__in6_union = {__s6_addr = '\000' <repeats 15 times>, ????????????????? __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 = {__in6_union = { ????????????????? __s6_addr = '\000' <repeats 15 times>, __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, local_port = 0, ????????? remote_port = 0, userdb_fields = 0x0, flags_override_add = (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = false, debug = false, ????????? conn_secured = false, conn_ssl_secured = false} ??????? user_source = <optimized out> ??????? rcpt_to_source = <optimized out> ??????? process_euid = <optimized out> ??????? stderr_rejection = false ??????? ret = <optimized out> ??????? c = <optimized out> On 2019. 10. 06. 23:28, Stephan Bosch via dovecot wrote:> > > 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. >>>>> >>> >
Sorry, I figured some is still missing. Here is the updated one Program received signal SIGSEGV, Segmentation fault. p_strdup (pool=pool at entry=0x55555579bc40, str=0x6d65642e6c69616d <error: Cannot access memory at address 0x6d65642e6c69616d>) at strfuncs.c:51 51????? strfuncs.c: No such file or directory. (gdb) bt full #0? p_strdup (pool=pool at entry=0x55555579bc40, str=0x6d65642e6c69616d <error: Cannot access memory at address 0x6d65642e6c69616d>) at strfuncs.c:51 ??????? mem = <optimized out> ??????? len = <optimized out> #1? 0x00007ffff757dd1a in ssl_iostream_settings_init_from (pool=pool at entry=0x55555579bc40, dest=dest at entry=0x55555579bd18, src=0x555555763ef8) at iostream-ssl.c:298 ??????? offset = 0 ??????? src_str = 0x555555763ef8 ??????? dest_str = 0x55555579bd18 #2? 0x00007ffff7522545 in smtp_submit_session_init (input=0x555555763ec8, set=set at entry=0x7fffffffe368) at smtp-submit.c:84 ??????? pool = 0x55555579bc40 #3? 0x00007ffff752265a in smtp_submit_init_simple (input=<optimized out>, set=set at entry=0x7fffffffe368, mail_from=mail_from at entry=0x555555759ba0) at smtp-submit.c:134 ??????? session = <optimized out> ??????? subm = 0x0 #4? 0x00007ffff687e923 in lda_sieve_smtp_start (senv=<optimized out>, mail_from=0x555555759ba0) at lda-sieve-plugin.c:86 ??????? dctx = 0x7fffffffe9d0 ??????? user = 0x555555776b28 ??????? ssl_set = {min_protocol = 0x555555763de8 "TLSv1", cipher_list = 0x555555763dc0 "ALL:!LOW:!SSLv2:!EXP:!aNULL", curve_list = 0x555555763de0 "", ca = 0x0, ????????? ca_file = 0x0, ca_dir = 0x0, cert = {cert = 0x0, key = 0x0, key_password = 0x0}, alt_cert = {cert = 0x0, key = 0x0, key_password = 0x0}, dh = 0x0, ????????? cert_username_field = 0x0, crypto_device = 0x555555763df0 "", verbose = false, verbose_invalid_cert = false, skip_crl_check = false, ????????? verify_remote_cert = true, allow_invalid_cert = false, prefer_server_ciphers = false, compression = false, tickets = false} #5? 0x00007ffff65fe761 in sieve_smtp_start (senv=0x7fffffffe7d0, mail_from=0x555555759ba0) at sieve-smtp.c:33 ??????? handle = <optimized out> #6? 0x00007ffff65fe869 in sieve_smtp_start_single (senv=senv at entry=0x7fffffffe7d0, rcpt_to=0x5555557a0240, mail_from=<optimized out>, ??? output_r=output_r at entry=0x7fffffffe4d0) at sieve-smtp.c:68 ??????? sctx = <optimized out> #7? 0x00007ffff661c71e in act_redirect_send (new_msg_id=0x55555575de88 "<dovecot-sieve-1570437587-782528-0 at 98c9dbdf40ea>", ctx=0x5555557a0238, mail=0x55555578f8a8, ??? aenv=0x5555557a00d0) at cmd-redirect.c:339 ??????? output = 0x38 ??????? svinst = 0x555555796028 ??????? msgctx = 0x555555799d00 ??????? senv = 0x7fffffffe7d0 ??????? sctx = <optimized out> ??????? ret = <optimized out> ??????? env_from = {type = SIEVE_ADDRESS_SOURCE_DEFAULT, address = 0x0} ??????? input = 0x55555579a1a0 ??????? sender = 0x555555759ba0 ??????? error = 0x7ffff75063a3 <__x86_return_thunk+5> "\363\220\017\256\350\353\371H\215d$\b\303\350\a" ??????? hide_headers = {0x7ffff66497aa "Return-Path", 0x7ffff664edf7 "X-Sieve", 0x7ffff664fbb6 "X-Sieve-Redirected-From"} ??????? hide_headers = {0x7ffff66497aa "Return-Path", 0x7ffff664edf7 "X-Sieve", 0x7ffff664fbb6 "X-Sieve-Redirected-From"} #8? act_redirect_commit (action=<optimized out>, aenv=0x5555557a00d0, tr_context=<optimized out>, keep=0x7fffffffe557) at cmd-redirect.c:486 ??????? svinst = 0x555555796028 ??????? ctx = 0x5555557a0238 ??????? msgctx = <optimized out> ??????? mail = 0x55555578f8a8 ??????? msgdata = <optimized out> ??????? senv = 0x7fffffffe7d0 ??????? recipient = 0x555555759bd0 ??????? msg_id = <optimized out> ??????? new_msg_id = 0x55555575de88 "<dovecot-sieve-1570437587-782528-0 at 98c9dbdf40ea>" ??????? dupeid = <optimized out> ??????? resent_id = 0x0 ??????? list_id = 0x0 #9? 0x00007ffff660e8a8 in sieve_result_action_commit (impl_keep=0x7fffffffe557, rac=0x5555557a0270, result=0x5555557a00a8) at sieve-result.c:1208 ??????? act = 0x5555557a0270 ??????? rsef = <optimized out> ??????? cstatus = 1 #10 sieve_result_action_commit_or_rollback (result=result at entry=0x5555557a00a8, rac=rac at entry=0x5555557a0270, status=<optimized out>, ??? implicit_keep=implicit_keep at entry=0x7fffffffe5b3, keep=keep at entry=0x5555557a0224, commit_status=commit_status at entry=0x7fffffffe5b4) at sieve-result.c:1269 ??????? impl_keep = true ??????? cstatus = 1 ??????? act = 0x5555557a0270 #11 0x00007ffff66100d1 in sieve_result_transaction_commit_or_rollback (keep=0x5555557a0224, implicit_keep=0x7fffffffe5b3, last=0x0, first=0x5555557a0270, ??? status=<optimized out>, result=0x5555557a00a8) at sieve-result.c:1343 ??????? act = 0x5555557a0270 ??????? rac = 0x5555557a0270 ??????? commit_status = 1 ??????? seen_delivery = false #12 sieve_result_execute (result=0x5555557a00a8, keep=keep at entry=0x5555557a0224, ehandler=<optimized out>, flags=<optimized out>) at sieve-result.c:1422 ??????? status = <optimized out> ??????? result_status = <optimized out> ??????? first_action = 0x5555557a0270 ??????? last_action = 0x0 ??????? implicit_keep = true ??????? ret = <optimized out> #13 0x00007ffff661e9fc in sieve_multiscript_execute (mscript=0x5555557a0200, ehandler=<optimized out>, flags=<optimized out>, keep=0x5555557a0224) at sieve.c:685 No locals. #14 0x00007ffff661f638 in sieve_multiscript_run (mscript=mscript at entry=0x5555557a0200, sbin=<optimized out>, exec_ehandler=exec_ehandler at entry=0x55555578f568, ??? action_ehandler=0x5555557a6d48, flags=flags at entry=SIEVE_EXECUTE_FLAG_NOGLOBAL) at sieve.c:714 No locals. #15 0x00007ffff687f7cb in lda_sieve_execute_script (error_r=0x7fffffffe6a4, discard_script=false, index=1, script=0x555555799528, mscript=0x5555557a0200, ??? srctx=0x7fffffffe760) at lda-sieve-plugin.c:481 ??????? exec_ehandler = 0x55555578f568 ??????? action_ehandler = 0x5555557a6d48 ??????? sbin = 0x5555557a2d28 ??????? debug = false ??????? svinst = 0x555555796028 ??????? mdctx = 0x7fffffffe9d0 ??????? cpflags = SIEVE_COMPILE_FLAG_NOGLOBAL ??????? user_script = <optimized out> ??????? exflags = SIEVE_EXECUTE_FLAG_NOGLOBAL ??????? more = <optimized out> #16 lda_sieve_execute_scripts (srctx=0x7fffffffe760) at lda-sieve-plugin.c:569 ??????? more = <optimized out> ??????? mscript = 0x5555557a0200 ??????? exec_ehandler = <optimized out> ??????? action_ehandler = 0x5555557a2d28 ??????? svinst = 0x555555796028 ??????? mdctx = 0x7fffffffe9d0 ??????? script = 0x555555799528 ??????? last_script = 0x555555799528 ??????? discard_script = false ??????? ret = <optimized out> ??????? error = SIEVE_ERROR_NONE ??????? i = 1 #17 lda_sieve_execute (storage_r=0x7fffffffe998, srctx=0x7fffffffe760) at lda-sieve-plugin.c:894 ??????? msgdata = {mail = 0x55555578f8a8, auth_user = 0x555555776c40 "testaaaaaa at xxxxxxxxx.xx", id = 0x0, envelope = {mail_from = 0x555555759ba0, ??????????? mail_params = 0x7fffffffea28, rcpt_to = 0x555555759bd0, rcpt_params = 0x7fffffffea70}} ??????? debug = <optimized out> ??????? mdctx = 0x7fffffffe9d0 ??????? svinst = <optimized out> ??????? scriptenv = {user = 0x555555776b28, postmaster_address = 0x555555777610, default_mailbox = 0x55555555763f "INBOX", mailbox_autocreate = true, ????????? mailbox_autosubscribe = true, script_context = 0x7fffffffe9d0, smtp_start = 0x7ffff687e8c7 <lda_sieve_smtp_start>, ????????? smtp_add_rcpt = 0x7ffff687e8bc <lda_sieve_smtp_add_rcpt>, smtp_send = 0x7ffff687e8b4 <lda_sieve_smtp_send>, ????????? smtp_abort = 0x7ffff687e876 <lda_sieve_smtp_abort>, smtp_finish = 0x7ffff687e822 <lda_sieve_smtp_finish>, ????????? duplicate_check = 0x7ffff687e7f4 <lda_sieve_duplicate_check>, duplicate_mark = 0x7ffff687e808 <lda_sieve_duplicate_mark>, ????????? duplicate_flush = 0x7ffff687e7e7 <lda_sieve_duplicate_flush>, reject_mail = 0x7ffff687e7de <lda_sieve_reject_mail>, exec_status = 0x7fffffffe6d8, ????????? trace_log = 0x0, trace_config = {level = SIEVE_TRLVL_NONE, flags = 0}} ??????? trace_config = {level = SIEVE_TRLVL_NONE, flags = 0} ??????? trace_log = 0x0 ??????? estatus = {last_storage = 0x0, message_saved = false, message_forwarded = false, tried_default_save = false, keep_original = false, store_failed = false} ??????? error = 0x2 <error: Cannot access memory at address 0x2> #18 lda_sieve_deliver_mail (mdctx=<optimized out>, storage_r=0x7fffffffe998) at lda-sieve-plugin.c:956 ??????? _data_stack_cur_id = 2 ??????? srctx = {svinst = 0x555555796028, mdctx = 0x7fffffffe9d0, home_dir = 0x555555777300 "/vmail/xxxxxxxxx.xx/testaaaaaa/", scripts = 0x55555575dd88, ????????? script_count = 1, user_script = 0x555555799528, main_script = 0x555555799528, discard_script = 0x0, msgdata = 0x7fffffffe6e8, scriptenv = 0x7fffffffe7d0, ????????? user_ehandler = 0x55555578f568, master_ehandler = 0x55555578f448, action_ehandler = 0x0, ????????? userlog = 0x55555575de10 "/vmail/xxxxxxxxx.xx/testaaaaaa/dovecot.sieve.log"} ??????? mail_set = <optimized out> ??????? debug = <optimized out> ??????? svenv = {hostname = 0x555555763d88 "98c9dbdf40ea", domainname = 0x0, base_dir = 0x555555763680 "/run/dovecot", ????????? username = 0x555555776c40 "testaaaaaa at xxxxxxxxx.xx", home_dir = 0x555555777300 "/vmail/xxxxxxxxx.xx/testaaaaaa/", temp_dir = 0x555555777508 "/tmp", ????????? flags = SIEVE_FLAG_HOME_RELATIVE, location = SIEVE_ENV_LOCATION_MDA, delivery_phase = SIEVE_DELIVERY_PHASE_DURING} ??????? ret = 0 #19 0x00007ffff7b69960 in mail_deliver (ctx=0x7fffffffe9d0, storage_r=0x7fffffffe998) at mail-deliver.c:498 ??????? muser = 0x5555557778b8 ??????? ret = <optimized out> ??????? __func__ = "mail_deliver" #20 0x0000555555556fd2 in lda_deliver (stderr_rejection=false, rcpt_to_source=<optimized out>, rcpt_to=<optimized out>, path=<optimized out>, user=<optimized out>, ??? service_user=<optimized out>, ctx=0x7fffffffe9d0) at main.c:253 ??????? storage = 0x0 ??????? errstr = 0x0 ??????? ret = <optimized out> ??????? var_table = <optimized out> ??????? lda_set = <optimized out> ??????? smtp_set = <optimized out> #21 main (argc=<optimized out>, argv=<optimized out>) at main.c:517 ??????? t = 0x0 ??????? box = 0x0 ??????? set_roots = {0x555555758ae0 <smtp_submit_setting_parser_info>, 0x555555758a80 <lda_setting_parser_info>, 0x0} ??????? ctx = {pool = 0x555555759b60, set = 0x555555763f38, smtp_set = 0x555555763ec8, session = 0x555555759b88, session_time_msecs = 0, delivery_time_started = { ??????????? tv_sec = 1570437587, tv_usec = 677065}, dup_db = 0x55555578e060, session_id = 0x0, src_mail = 0x55555578f8a8, mail_from = 0x555555759ba0, mail_params = { ??????????? auth = 0x0, body = {type = SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = { ????????????? arr = {buffer = 0x0, element_size = 0}, v = 0x0, v_modifiable = 0x0}}, rcpt_to = 0x555555759bd0, rcpt_params = {orcpt = {addr_type = 0x0, ????????????? addr = 0x555555759bd0, addr_raw = 0x0}, notify = SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = 0x0, element_size = 0}, v = 0x0, ????????????? v_modifiable = 0x0}}, rcpt_user = 0x555555776b28, rcpt_default_mailbox = 0x55555555763f "INBOX", dest_mail = 0x0, cache = 0x0, tempfail_error = 0x0, ????????? tried_default_save = false, saved_mail = false, save_dest_mail = false, mailbox_full = false, dsn = false} ??????? service_flags = <optimized out> ??????? user = <optimized out> ??????? errstr = 0x0 ??????? path = 0x0 ??????? rcpt_to = 0x0 ??????? final_rcpt_to = 0x0 ??????? mail_from = 0x555555759ba0 ??????? storage_service = 0x5555557625e8 ??????? service_user = 0x555555763058 ??????? service_input = {parent_event = 0x0, module = 0x55555555763b "lda", service = 0x55555555763b "lda", username = 0x7ffff7832f31 "testaaaaaa at xxxxxxxxx.xx", ????????? session_id = 0x0, session_id_prefix = 0x0, session_create_time = 0, local_ip = {family = 0, u = {ip6 = {__in6_union = {__s6_addr = '\000' <repeats 15 times>, ????????????????? __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = {ip6 = {__in6_union = { ????????????????? __s6_addr = '\000' <repeats 15 times>, __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, local_port = 0, ????????? remote_port = 0, userdb_fields = 0x0, flags_override_add = (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = false, debug = false, ????????? conn_secured = false, conn_ssl_secured = false} ??????? user_source = <optimized out> ??????? rcpt_to_source = <optimized out> ??????? process_euid = <optimized out> ??????? stderr_rejection = false ??????? ret = <optimized out> ??????? c = <optimized out> On 2019. 10. 07. 10:17, Demonhost via dovecot wrote:> Hi Stephan, > > Here it is: > > Program received signal SIGSEGV, Segmentation fault. > p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d > <error: Cannot access memory at address 0x6d65642e6c69616d>) at > strfuncs.c:51 > 51????? strfuncs.c: No such file or directory. > (gdb) bt full > #0? p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d > <error: Cannot access memory at address 0x6d65642e6c69616d>) at > strfuncs.c:51 > ??????? mem = <optimized out> > ??????? len = <optimized out> > #1? 0x00007ffff757dd1a in ssl_iostream_settings_init_from > (pool=pool at entry=0x55555579bc20, dest=dest at entry=0x55555579bcf8, > src=0x555555764038) at iostream-ssl.c:298 > ??????? offset = 0 > ??????? src_str = 0x555555764038 > ??????? dest_str = 0x55555579bcf8 > #2? 0x00007ffff7522545 in smtp_submit_session_init > (input=0x555555764008, set=0x7fffffffe378) at smtp-submit.c:84 > ??????? pool = 0x55555579bc20 > #3? 0x00007ffff752265a in smtp_submit_init_simple (input=<optimized > out>, set=<optimized out>, mail_from=0x555555759b80) at smtp-submit.c:134 > ??????? session = <optimized out> > ??????? subm = 0x0 > #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 (ctx=0x7fffffffe9e0, > storage_r=0x7fffffffe9a8) at mail-deliver.c:498 > ??????? muser = 0x555555777ef8 > ??????? ret = <optimized out> > ??????? __func__ = "mail_deliver" > #14 0x0000555555556fd2 in lda_deliver (stderr_rejection=false, > rcpt_to_source=<optimized out>, rcpt_to=<optimized out>, > path=<optimized out>, user=<optimized out>, > ??? service_user=<optimized out>, ctx=0x7fffffffe9e0) at main.c:253 > ??????? storage = 0x0 > ??????? errstr = 0x0 > ??????? ret = <optimized out> > ??????? var_table = <optimized out> > ??????? lda_set = <optimized out> > ??????? smtp_set = <optimized out> > #15 main (argc=<optimized out>, argv=<optimized out>) at main.c:517 > ??????? t = 0x0 > ??????? box = 0x0 > ??????? set_roots = {0x555555758ae0 <smtp_submit_setting_parser_info>, > 0x555555758a80 <lda_setting_parser_info>, 0x0} > ??????? ctx = {pool = 0x555555759b40, set = 0x555555764078, smtp_set = > 0x555555764008, session = 0x555555759b68, session_time_msecs = 0, > delivery_time_started = { > ---Type <return> to continue, or q <return> to quit--- > ??????????? tv_sec = 1570435973, tv_usec = 126295}, dup_db = > 0x55555578e040, session_id = 0x0, src_mail = 0x555555790c68, mail_from > = 0x555555759b80, mail_params = { > ??????????? auth = 0x0, body = {type = > SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = > SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = { > ????????????? arr = {buffer = 0x0, element_size = 0}, v = 0x0, > v_modifiable = 0x0}}, rcpt_to = 0x555555759bb0, rcpt_params = {orcpt = > {addr_type = 0x0, > ????????????? addr = 0x555555759bb0, addr_raw = 0x0}, notify = > SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = > 0x0, element_size = 0}, v = 0x0, > ????????????? v_modifiable = 0x0}}, rcpt_user = 0x555555777168, > rcpt_default_mailbox = 0x55555555763f "INBOX", dest_mail = 0x0, cache > = 0x0, tempfail_error = 0x0, > ????????? tried_default_save = false, saved_mail = false, > save_dest_mail = false, mailbox_full = false, dsn = false} > ??????? service_flags = <optimized out> > ??????? user = <optimized out> > ??????? errstr = 0x0 > ??????? path = 0x0 > ??????? rcpt_to = 0x0 > ??????? final_rcpt_to = 0x0 > ??????? mail_from = 0x555555759b80 > ??????? storage_service = 0x7ffff7d6c5a8 > ??????? service_user = 0x555555763198 > ??????? service_input = {parent_event = 0x0, module = 0x55555555763b > "lda", service = 0x55555555763b "lda", username = 0x7ffff7832f31 > "testaaaaaa at xxxxxxxxx.xx", > ????????? session_id = 0x0, session_id_prefix = 0x0, > session_create_time = 0, local_ip = {family = 0, u = {ip6 = > {__in6_union = {__s6_addr = '\000' <repeats 15 times>, > ????????????????? __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 > = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = > {ip6 = {__in6_union = { > ????????????????? __s6_addr = '\000' <repeats 15 times>, __s6_addr16 = > {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr > = 0}}}, local_port = 0, > ????????? remote_port = 0, userdb_fields = 0x0, flags_override_add = > (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = > false, debug = false, > ????????? conn_secured = false, conn_ssl_secured = false} > ??????? user_source = <optimized out> > ??????? rcpt_to_source = <optimized out> > ??????? process_euid = <optimized out> > ??????? stderr_rejection = false > ??????? ret = <optimized out> > ??????? c = <optimized out> > > On 2019. 10. 06. 23:28, Stephan Bosch via dovecot wrote: >> >> >> 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. >>>>>> >>>> >>
On 07/10/2019 10:17, Demonhost via dovecot wrote:> Hi Stephan, > > Here it is: >We still can't reproduce it here. First of all, did you update Pigeonhole along with Dovecot? This kind of weirdness can happen when Pigeonhole was compiled against a different version of Dovecot. You could compile Pigeonhole manually as well to make sure, which also gives you the opportunity to get debug symbols for Pigeonhole as well. Do you also have your configuration for me (output from `dovecot -n`) ? Also, can you issue in GDB after it crashed (as you did `bt full` before): f 1 p src Regards, Stephan.> Program received signal SIGSEGV, Segmentation fault. > p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d > <error: Cannot access memory at address 0x6d65642e6c69616d>) at > strfuncs.c:51 > 51????? strfuncs.c: No such file or directory. > (gdb) bt full > #0? p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d > <error: Cannot access memory at address 0x6d65642e6c69616d>) at > strfuncs.c:51 > ??????? mem = <optimized out> > ??????? len = <optimized out> > #1? 0x00007ffff757dd1a in ssl_iostream_settings_init_from > (pool=pool at entry=0x55555579bc20, dest=dest at entry=0x55555579bcf8, > src=0x555555764038) at iostream-ssl.c:298 > ??????? offset = 0 > ??????? src_str = 0x555555764038 > ??????? dest_str = 0x55555579bcf8 > #2? 0x00007ffff7522545 in smtp_submit_session_init > (input=0x555555764008, set=0x7fffffffe378) at smtp-submit.c:84 > ??????? pool = 0x55555579bc20 > #3? 0x00007ffff752265a in smtp_submit_init_simple (input=<optimized > out>, set=<optimized out>, mail_from=0x555555759b80) at smtp-submit.c:134 > ??????? session = <optimized out> > ??????? subm = 0x0 > #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 (ctx=0x7fffffffe9e0, > storage_r=0x7fffffffe9a8) at mail-deliver.c:498 > ??????? muser = 0x555555777ef8 > ??????? ret = <optimized out> > ??????? __func__ = "mail_deliver" > #14 0x0000555555556fd2 in lda_deliver (stderr_rejection=false, > rcpt_to_source=<optimized out>, rcpt_to=<optimized out>, > path=<optimized out>, user=<optimized out>, > ??? service_user=<optimized out>, ctx=0x7fffffffe9e0) at main.c:253 > ??????? storage = 0x0 > ??????? errstr = 0x0 > ??????? ret = <optimized out> > ??????? var_table = <optimized out> > ??????? lda_set = <optimized out> > ??????? smtp_set = <optimized out> > #15 main (argc=<optimized out>, argv=<optimized out>) at main.c:517 > ??????? t = 0x0 > ??????? box = 0x0 > ??????? set_roots = {0x555555758ae0 <smtp_submit_setting_parser_info>, > 0x555555758a80 <lda_setting_parser_info>, 0x0} > ??????? ctx = {pool = 0x555555759b40, set = 0x555555764078, smtp_set = > 0x555555764008, session = 0x555555759b68, session_time_msecs = 0, > delivery_time_started = { > ---Type <return> to continue, or q <return> to quit--- > ??????????? tv_sec = 1570435973, tv_usec = 126295}, dup_db = > 0x55555578e040, session_id = 0x0, src_mail = 0x555555790c68, mail_from > = 0x555555759b80, mail_params = { > ??????????? auth = 0x0, body = {type = > SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = > SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = { > ????????????? arr = {buffer = 0x0, element_size = 0}, v = 0x0, > v_modifiable = 0x0}}, rcpt_to = 0x555555759bb0, rcpt_params = {orcpt = > {addr_type = 0x0, > ????????????? addr = 0x555555759bb0, addr_raw = 0x0}, notify = > SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = > 0x0, element_size = 0}, v = 0x0, > ????????????? v_modifiable = 0x0}}, rcpt_user = 0x555555777168, > rcpt_default_mailbox = 0x55555555763f "INBOX", dest_mail = 0x0, cache > = 0x0, tempfail_error = 0x0, > ????????? tried_default_save = false, saved_mail = false, > save_dest_mail = false, mailbox_full = false, dsn = false} > ??????? service_flags = <optimized out> > ??????? user = <optimized out> > ??????? errstr = 0x0 > ??????? path = 0x0 > ??????? rcpt_to = 0x0 > ??????? final_rcpt_to = 0x0 > ??????? mail_from = 0x555555759b80 > ??????? storage_service = 0x7ffff7d6c5a8 > ??????? service_user = 0x555555763198 > ??????? service_input = {parent_event = 0x0, module = 0x55555555763b > "lda", service = 0x55555555763b "lda", username = 0x7ffff7832f31 > "testaaaaaa at xxxxxxxxx.xx", > ????????? session_id = 0x0, session_id_prefix = 0x0, > session_create_time = 0, local_ip = {family = 0, u = {ip6 = > {__in6_union = {__s6_addr = '\000' <repeats 15 times>, > ????????????????? __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 > = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = > {ip6 = {__in6_union = { > ????????????????? __s6_addr = '\000' <repeats 15 times>, __s6_addr16 = > {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr > = 0}}}, local_port = 0, > ????????? remote_port = 0, userdb_fields = 0x0, flags_override_add = > (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup = > false, debug = false, > ????????? conn_secured = false, conn_ssl_secured = false} > ??????? user_source = <optimized out> > ??????? rcpt_to_source = <optimized out> > ??????? process_euid = <optimized out> > ??????? stderr_rejection = false > ??????? ret = <optimized out> > ??????? c = <optimized out> > > On 2019. 10. 06. 23:28, Stephan Bosch via dovecot wrote: >> >> >> 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. >>>>>> >>>> >>
That's a good thought. I'm building from the alpine repo and I indeed see pigeonhole is 0.5.5 https://git.alpinelinux.org/aports/tree/main/dovecot/APKBUILD?h=3.8-stable Let me build it with 0.5.7.2 Regards, ? Laszlo On 2019. 10. 07. 10:45, Stephan Bosch via dovecot wrote:> > > On 07/10/2019 10:17, Demonhost via dovecot wrote: >> Hi Stephan, >> >> Here it is: >> > > We still can't reproduce it here. > > First of all, did you update Pigeonhole along with Dovecot? This kind > of weirdness can happen when Pigeonhole was compiled against a > different version of Dovecot. You could compile Pigeonhole manually as > well to make sure, which also gives you the opportunity to get debug > symbols for Pigeonhole as well. > > Do you also have your configuration for me (output from `dovecot -n`) ? > > Also, can you issue in GDB after it crashed (as you did `bt full` > before): > > f 1 > p src > > Regards, > > Stephan. > > >> Program received signal SIGSEGV, Segmentation fault. >> p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d >> <error: Cannot access memory at address 0x6d65642e6c69616d>) at >> strfuncs.c:51 >> 51????? strfuncs.c: No such file or directory. >> (gdb) bt full >> #0? p_strdup (pool=pool at entry=0x55555579bc20, str=0x6d65642e6c69616d >> <error: Cannot access memory at address 0x6d65642e6c69616d>) at >> strfuncs.c:51 >> ??????? mem = <optimized out> >> ??????? len = <optimized out> >> #1? 0x00007ffff757dd1a in ssl_iostream_settings_init_from >> (pool=pool at entry=0x55555579bc20, dest=dest at entry=0x55555579bcf8, >> src=0x555555764038) at iostream-ssl.c:298 >> ??????? offset = 0 >> ??????? src_str = 0x555555764038 >> ??????? dest_str = 0x55555579bcf8 >> #2? 0x00007ffff7522545 in smtp_submit_session_init >> (input=0x555555764008, set=0x7fffffffe378) at smtp-submit.c:84 >> ??????? pool = 0x55555579bc20 >> #3? 0x00007ffff752265a in smtp_submit_init_simple (input=<optimized >> out>, set=<optimized out>, mail_from=0x555555759b80) at >> smtp-submit.c:134 >> ??????? session = <optimized out> >> ??????? subm = 0x0 >> #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 (ctx=0x7fffffffe9e0, >> storage_r=0x7fffffffe9a8) at mail-deliver.c:498 >> ??????? muser = 0x555555777ef8 >> ??????? ret = <optimized out> >> ??????? __func__ = "mail_deliver" >> #14 0x0000555555556fd2 in lda_deliver (stderr_rejection=false, >> rcpt_to_source=<optimized out>, rcpt_to=<optimized out>, >> path=<optimized out>, user=<optimized out>, >> ??? service_user=<optimized out>, ctx=0x7fffffffe9e0) at main.c:253 >> ??????? storage = 0x0 >> ??????? errstr = 0x0 >> ??????? ret = <optimized out> >> ??????? var_table = <optimized out> >> ??????? lda_set = <optimized out> >> ??????? smtp_set = <optimized out> >> #15 main (argc=<optimized out>, argv=<optimized out>) at main.c:517 >> ??????? t = 0x0 >> ??????? box = 0x0 >> ??????? set_roots = {0x555555758ae0 >> <smtp_submit_setting_parser_info>, 0x555555758a80 >> <lda_setting_parser_info>, 0x0} >> ??????? ctx = {pool = 0x555555759b40, set = 0x555555764078, smtp_set >> = 0x555555764008, session = 0x555555759b68, session_time_msecs = 0, >> delivery_time_started = { >> ---Type <return> to continue, or q <return> to quit--- >> ??????????? tv_sec = 1570435973, tv_usec = 126295}, dup_db = >> 0x55555578e040, session_id = 0x0, src_mail = 0x555555790c68, >> mail_from = 0x555555759b80, mail_params = { >> ??????????? auth = 0x0, body = {type = >> SMTP_PARAM_MAIL_BODY_TYPE_UNSPECIFIED, ext = 0x0}, envid = 0x0, ret = >> SMTP_PARAM_MAIL_RET_UNSPECIFIED, size = 0, extra_params = { >> ????????????? arr = {buffer = 0x0, element_size = 0}, v = 0x0, >> v_modifiable = 0x0}}, rcpt_to = 0x555555759bb0, rcpt_params = {orcpt >> = {addr_type = 0x0, >> ????????????? addr = 0x555555759bb0, addr_raw = 0x0}, notify = >> SMTP_PARAM_RCPT_NOTIFY_UNSPECIFIED, extra_params = {arr = {buffer = >> 0x0, element_size = 0}, v = 0x0, >> ????????????? v_modifiable = 0x0}}, rcpt_user = 0x555555777168, >> rcpt_default_mailbox = 0x55555555763f "INBOX", dest_mail = 0x0, cache >> = 0x0, tempfail_error = 0x0, >> ????????? tried_default_save = false, saved_mail = false, >> save_dest_mail = false, mailbox_full = false, dsn = false} >> ??????? service_flags = <optimized out> >> ??????? user = <optimized out> >> ??????? errstr = 0x0 >> ??????? path = 0x0 >> ??????? rcpt_to = 0x0 >> ??????? final_rcpt_to = 0x0 >> ??????? mail_from = 0x555555759b80 >> ??????? storage_service = 0x7ffff7d6c5a8 >> ??????? service_user = 0x555555763198 >> ??????? service_input = {parent_event = 0x0, module = 0x55555555763b >> "lda", service = 0x55555555763b "lda", username = 0x7ffff7832f31 >> "testaaaaaa at xxxxxxxxx.xx", >> ????????? session_id = 0x0, session_id_prefix = 0x0, >> session_create_time = 0, local_ip = {family = 0, u = {ip6 = >> {__in6_union = {__s6_addr = '\000' <repeats 15 times>, >> ????????????????? __s6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 >> = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family = 0, u = >> {ip6 = {__in6_union = { >> ????????????????? __s6_addr = '\000' <repeats 15 times>, __s6_addr16 >> = {0, 0, 0, 0, 0, 0, 0, 0}, __s6_addr32 = {0, 0, 0, 0}}}, ip4 = >> {s_addr = 0}}}, local_port = 0, >> ????????? remote_port = 0, userdb_fields = 0x0, flags_override_add = >> (unknown: 0), flags_override_remove = (unknown: 0), no_userdb_lookup >> = false, debug = false, >> ????????? conn_secured = false, conn_ssl_secured = false} >> ??????? user_source = <optimized out> >> ??????? rcpt_to_source = <optimized out> >> ??????? process_euid = <optimized out> >> ??????? stderr_rejection = false >> ??????? ret = <optimized out> >> ??????? c = <optimized out> >> >> On 2019. 10. 06. 23:28, Stephan Bosch via dovecot wrote: >>> >>> >>> 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. >>>>>>> >>>>> >>> >