Dovecot 2.3.17 on FreeBSD 12.2 panic

Aki Tuomi aki.tuomi at open-xchange.com
Mon Jan 10 05:35:18 UTC 2022


> On 10/01/2022 05:32 Bert JW Regeer <xistence at 0x58.com> wrote:
> 
>  
> Hello,
> 
> I have dovecot 2.3.17 running on FreeBSD 12.2 and it keeps panicking:
> 
> Jan 10 03:04:07 strida dovecot[55198]: imap(xistence at 0x58.com)<56382><dx4KlzHVQecmAQKCQwA50VytdgLnsQSr>: Panic: file array.c: line 10 (array_idx_modifiable_i): assertion failed: (idx < array->buffer->used / array->element_size)
> Jan 10 03:04:07 strida dovecot[55198]: imap(xistence at 0x58.com)<56382><dx4KlzHVQecmAQKCQwA50VytdgLnsQSr>: Fatal: master: service(imap): child 56382 killed with signal 6 (core not dumped - https://dovecot.org/bugreport.html#coredumps)
> 
> Ignore the core not dumped, this is happening over and over, and I got one process to core dump:
> 
> # lldb /usr/local/libexec/dovecot/imap -c imap.core
> (lldb) target create "/usr/local/libexec/dovecot/imap" --core "imap.core"
> Core file '/usr/local/vmail/domains/0x58.com/xistence/imap.core' (x86_64) was loaded.
> (lldb) bt
> * thread #1, name = 'imap', stop reason = signal SIGABRT
>   * frame #0: 0x0000000011588c2a libc.so.7`__sys_thr_kill + 10
>     frame #1: 0x0000000011587084 libc.so.7`__raise + 52
>     frame #2: 0x00000000114fd279 libc.so.7`abort + 73
>     frame #3: 0x00000000113736f3 libdovecot.so.0`___lldb_unnamed_symbol873$$libdovecot.so.0 + 147
>     frame #4: 0x0000000011371eaf libdovecot.so.0`___lldb_unnamed_symbol862$$libdovecot.so.0 + 47
>     frame #5: 0x0000000011372c71 libdovecot.so.0`___lldb_unnamed_symbol864$$libdovecot.so.0 + 33
>     frame #6: 0x00000000113720bb libdovecot.so.0`i_panic + 187
>     frame #7: 0x0000000011363d3f libdovecot.so.0`array_idx_modifiable_i + 79
>     frame #8: 0x0000000011ef7c68 lib20_fts_plugin.so`fts_user_autoindex_exclude + 72
>     frame #9: 0x0000000011ef550f lib20_fts_plugin.so`fts_mailbox_allocated + 239
>     frame #10: 0x000000001113ed5a libdovecot-storage.so.0`hook_mailbox_allocated + 154
>     frame #11: 0x00000000111381e1 libdovecot-storage.so.0`mailbox_alloc + 449
>     frame #12: 0x0000000001043db4 imap`cmd_select_full + 356
>     frame #13: 0x000000000104c582 imap`command_exec + 178
>     frame #14: 0x000000000104ae8a imap`___lldb_unnamed_symbol58$$imap + 58
>     frame #15: 0x000000000104af91 imap`___lldb_unnamed_symbol58$$imap + 321
>     frame #16: 0x00000000010499e7 imap`client_handle_input + 471
>     frame #17: 0x0000000001048178 imap`client_input + 120
>     frame #18: 0x000000001138ca9f libdovecot.so.0`io_loop_call_io + 111
>     frame #19: 0x000000001138f45b libdovecot.so.0`io_loop_handler_run_internal + 347
>     frame #20: 0x000000001138cffa libdovecot.so.0`io_loop_handler_run + 346
>     frame #21: 0x000000001138ce58 libdovecot.so.0`io_loop_run + 88
>     frame #22: 0x00000000112f11c8 libdovecot.so.0`master_service_run + 24
>     frame #23: 0x000000000105a417 imap`main + 1383
>     frame #24: 0x000000000103bed2 imap`_start + 226
> (lldb) ^D
> 
> 
> I was able to generate a core dump by issue a doveadm command too:
> 
> (lldb) bt
> * thread #1, name = 'doveadm', stop reason = signal SIGABRT
>   * frame #0: 0x00000008017b1c2a libc.so.7`__sys_thr_kill + 10
>     frame #1: 0x00000008017b0084 libc.so.7`__raise + 52
>     frame #2: 0x0000000801726279 libc.so.7`abort + 73
>     frame #3: 0x000000080159c6f3 libdovecot.so.0`___lldb_unnamed_symbol873$$libdovecot.so.0 + 147
>     frame #4: 0x000000080159aeaf libdovecot.so.0`___lldb_unnamed_symbol862$$libdovecot.so.0 + 47
>     frame #5: 0x000000080159ae71 libdovecot.so.0`default_fatal_handler + 33
>     frame #6: 0x000000080159b0bb libdovecot.so.0`i_panic + 187
>     frame #7: 0x000000080158cd3f libdovecot.so.0`array_idx_modifiable_i + 79
>     frame #8: 0x0000000802236c68 lib20_fts_plugin.so`fts_user_autoindex_exclude + 72
>     frame #9: 0x000000080223450f lib20_fts_plugin.so`fts_mailbox_allocated + 239
>     frame #10: 0x0000000801367d5a libdovecot-storage.so.0`hook_mailbox_allocated + 154
>     frame #11: 0x00000008013611e1 libdovecot-storage.so.0`mailbox_alloc + 449
>     frame #12: 0x000000080222d5fc lib20_fts_plugin.so`fts_backend_rescan + 60
>     frame #13: 0x000000080227c1a3 lib20_doveadm_fts_plugin.so`___lldb_unnamed_symbol15$$lib20_doveadm_fts_plugin.so + 99
>     frame #14: 0x000000000107172f doveadm`___lldb_unnamed_symbol134$$doveadm + 479
>     frame #15: 0x000000000107252c doveadm`doveadm_cmd_ver2_to_mail_cmd_wrapper + 2492
>     frame #16: 0x0000000001083c98 doveadm`doveadm_cmd_run_ver2 + 1416
>     frame #17: 0x00000000010836d7 doveadm`doveadm_cmd_try_run_ver2 + 71
>     frame #18: 0x0000000001086da3 doveadm`main + 835
>     frame #19: 0x000000000105fa92 doveadm`_start + 226
> (lldb)
> 
> # doveadm fts rescan -u xistence at 0x58.com
> doveadm(xistence at 0x58.com): Panic: file array.c: line 10 (array_idx_modifiable_i): assertion failed: (idx < array->buffer->used / array->element_size)
> Abort (core dumped)
> 
> # dovecot-sysreport
> Gathering configurations ...
> grep: The -P option is not supported
> grep: The -P option is not supported
> grep: The -P option is not supported
> Gathering system informations ...
> Creating archive ...
> All done! Please report file dovecot-sysreport-strida.0x58.com-1641784164.tar.gz
> Removing temp files at /tmp/tmp.z5qJkwrW …
> 
> 
> 
> While reading about fts/fts_squat I came across the page noting it was deprecated. I am running a mail server for myself, and have avoided installing Solr this entire time, but I guess its time to upgrade.
> 
> In the mean time hopefully this core dump can help figure out what is going on.
> 
> Bert JW Regeer

Hi!

This is because fts_squat is not calling fts_mail_user_init. This is a bug, just not sure if it is going to get fixed with fts_squat being deprecated, so it would be best to migrate to something newer, like fts_flatcurve.

Aki


More information about the dovecot mailing list