[Bug 1209170] New: server:mail/cyrus-imapd: sieve issues after upgrade to 2.5.17 (Leap 15.4)
http://bugzilla.opensuse.org/show_bug.cgi?id=1209170 Bug ID: 1209170 Summary: server:mail/cyrus-imapd: sieve issues after upgrade to 2.5.17 (Leap 15.4) Classification: openSUSE Product: openSUSE.org Version: unspecified Hardware: x86-64 OS: openSUSE Leap 15.4 Status: NEW Severity: Normal Priority: P5 - None Component: 3rd party software Assignee: varkoly@suse.com Reporter: bastian@bastian-friedrich.de QA Contact: screening-team-bugs@suse.de Found By: --- Blocker: --- Hi, after the recent cyrus-imapd update (in server:mail, bumping from 2.4.22 to 2.5.17), I encounter various issues wrt. sieve/mail filtering. Please give me a note if I should create individual tickets. My mail server handles mails for 10ish people. Most users use a small set of sieve rules to deliver (tagged) spam to a dedicated folder, but only my sieve rule set is rather large. (1) lmtp crashes after upgrading Some, but not all, mails were no longer delivered to my mail box folders. I am not fully able to tell which mails were delivered correctly, but probably all mail that was handled by a sieve rule failed, while mails that were not handled were delivered to my INBOX. Excerpt from /var/log/mail (postfix delivers to cyrus lmtpd): ~~~~~~~~~~ 2023-03-11T14:34:57.939226+01:00 er-systems postfix/local[21295]: 9D8E9ECDAXX: passing <myaddress@xyz.de> to transport=lmtp 2023-03-11T14:34:57.939270+01:00 er-systems postfix/lmtp[21362]: warning: 9D8E9ECDAXX: non-LMTP response from myserver.de[public/lmtp]: malloc_consolidate(): invalid chunk size ~~~~~~~~~~ journalctl --unit cyrus-imapd in the same time frame (most lines are about SIGABRT, only few are SIGSEGV). ~~~~~~~~~~ Mar 11 14:34:55 er-systems master[21276]: process type:SERVICE name:lmtpunix path:/usr/lib/cyrus/bin/lmtpd age:0.749s pid:21479 signaled to death by signal 6 (Aborted, core dumped) Mar 11 14:34:55 er-systems master[21276]: process type:SERVICE name:lmtpunix path:/usr/lib/cyrus/bin/lmtpd age:0.410s pid:21515 signaled to death by signal 11 (Segmentation fault, core dumped) ~~~~~~~~~~ A dumpctl info contains the following stack trace: ~~~~~~~~~~ Stack trace of thread 6811: #0 0x00007fcd57e7ff7d re_compile_internal (libc.so.6 + 0xf3f7d) #1 0x00007fcd57e85d19 regcomp (libc.so.6 + 0xf9d19) #2 0x00007fcd587dd040 n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x6040) #3 0x00007fcd587dd513 n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x6513) #4 0x00007fcd587ddea2 n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x6ea2) #5 0x00007fcd587df725 n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x8725) #6 0x00007fcd587e4f71 sieve_execute_bytecode (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0xdf71) #7 0x0000556b791245f4 n/a (lmtpd + 0x115f4) #8 0x0000556b7911c631 n/a (lmtpd + 0x9631) #9 0x0000556b7911ec5a n/a (lmtpd + 0xbc5a) #10 0x0000556b7911b761 n/a (lmtpd + 0x8761) #11 0x0000556b7911a118 n/a (lmtpd + 0x7118) #12 0x00007fcd57dc129d __libc_start_main (libc.so.6 + 0x3529d) #13 0x0000556b7911a76a n/a (lmtpd + 0x776a) ~~~~~~~~~~ ... which pointed me to "sieve_execute_bytecode" and the overall topic of sieve. After deleting my sieve bytecode (symlink /var/lib/sieve/x/xxx/defaultbc and its target xxx.bc), delivery started working again. (2) managesieve unavailable for roundcube and sieveshell I usually use roundcube to manage my sieve scripts. However, after the update, roundcube no longer is able to connect to the local managesieve port: ~~~~~~~~~~ [11-Mar-2023 14:43:23 +0000]: <d9674gb9> PHP Error: This server doesn't support any authentication methods. (GET /roundcube/?_task=settings&_action=plugin.managesieve) [11-Mar-2023 14:43:23 +0000]: <d9674gb9> PHP Error: Unable to connect to managesieve on myserver.de:2000 in /srv/www/roundcubemail/plugins/managesieve/lib/Roundcube/rcube_sieve_engine.php on line 227 (GET /roundcube/?_task=settings&_action=plugin.managesieve) [11-Mar-2023 14:43:23 +0000]: <d9674gb9> PHP Error: Not currently in AUTHORISATION state (GET /roundcube/?_task=settings&_action=plugin.managesieve) ~~~~~~~~~~ (roundcube is installed from server:php:applications) Connecting with sieveshell does not work either: ~~~~~~~~~~ #> sieveshell --user=myuser --authname=myuser localhost connecting to localhost unable to connect to server at /usr/bin/sieveshell line 190. ~~~~~~~~~~ (This issue is persistent independently of having or not having a sieve script or bytecode installed, i.e., it persists even after deleting the files as described above) (3) sievec creashes with largish sieve script After deleting the sieve bytecode as described above, I attempted to re-compile the existing script to new bytecode. However, the compiler crashes: ~~~~~~~~~~ #> /usr/lib/cyrus/bin/sievec xxx.script xxx.bc corrupted size vs. prev_size Aborted (core dumped) ~~~~~~~~~~ coredumpctl info: ~~~~~~~~~~ Stack trace of thread 26226: #0 0x00007f638dc1ccbb raise (libc.so.6 + 0x4acbb) #1 0x00007f638dc1e355 abort (libc.so.6 + 0x4c355) #2 0x00007f638dc62ae7 __libc_message (libc.so.6 + 0x90ae7) #3 0x00007f638dc6ab6a malloc_printerr (libc.so.6 + 0x98b6a) #4 0x00007f638dc6b436 unlink_chunk.isra.3 (libc.so.6 + 0x99436) #5 0x00007f638dc6c97b _int_free (libc.so.6 + 0x9a97b) #6 0x00007f638e185b3f strarray_fini (/usr/lib64/libcyrus_min.so.0.0.0 + 0xcb3f) #7 0x00007f638e185b6e strarray_free (/usr/lib64/libcyrus_min.so.0.0.0 + 0xcb6e) #8 0x00007f638e1c889b n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x1389b) #9 0x00007f638e1c88da n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x138da) #10 0x00007f638e1c8999 n/a (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0x13999) #11 0x00007f638e1c2a40 sieve_script_free (/usr/lib64/libcyrus_sieve.so.0.0.0 + 0xda40) #12 0x0000563295004674 n/a (sievec + 0x1674) #13 0x00007f638dc0729d __libc_start_main (libc.so.6 + 0x3529d) #14 0x000056329500481a n/a (sievec + 0x181a) ~~~~~~~~~~ My regular sieve rule set contains 444 lines (as generated by the roundcube UI). Most if it is simple "if anyof/allof header xxx/from xyz { fileinto <folder>; stop; }", no nesting, and no other sophisticated sieve techniques. sievec will start compiling the script correctly after reducing its length to ~70 lines. I should be able to create a version of that file if so required not containing personal data, please drop me a note if that is required (a trivial repetition of a single rule does *not* trigger the issue). -------------- These three issues were all introduced by the same update, and all three relate to sieve; however, their connection remains unclear to me. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1209170 http://bugzilla.opensuse.org/show_bug.cgi?id=1209170#c1 --- Comment #1 from Bastian Friedrich <bastian@bastian-friedrich.de> --- After some fiddling around, please forget (2). sieveshell will not work with a tls enabled sieve server (such as mine), and the roundcube sieve configuration seems to have been incompatible since an earlier update. After some config changes (including tls settings), roundcube can now manage the scripts again. Issues (1) and (3) persist. -- You are receiving this mail because: You are on the CC list for the bug.
http://bugzilla.opensuse.org/show_bug.cgi?id=1209170 Bastian Friedrich <bastian@bastian-friedrich.de> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P1 - Urgent -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com