Dovecot 2.3.17 on FreeBSD 12.2 panic

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


> On 10/01/2022 07:46 Bert JW Regeer <xistence at 0x58.com> wrote:
> 
> 
> 
> 
> 
> 
> > On Jan 9, 2022, at 22:35, Aki Tuomi <aki.tuomi at open-xchange.com> wrote:
> > 
> > 
> > 
> > 
> > > 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' (http://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 (http://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
> 
> Thanks for the response Aki!
> 
> Is there a big difference between:
> 
> https://github.com/grosjo/fts-xapian
> 
> And
> 
> https://github.com/slusarz/dovecot-fts-flatcurve (do note that it is not compatible with the latest Dovecot 2.3.17 release: https://github.com/slusarz/dovecot-fts-flatcurve/issues/17)
> 
> Is there a preference to use one over the other? The former is available on my platform as a package, whereas the latter is not. I’d have to package it myself.
> 
> Thanks,
> Bert JW Regeer
>

The latest master is compatible with 2.3.17, just not 0.1.0. There is currently no preference over these. 

Aki


More information about the dovecot mailing list