<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<p>Hope this helps. There are no debugging symbols available for
dovecot in the alpine repository.</p>
<p>(gdb) bt full<br>
#0 a_crash () at ./arch/x86_64/atomic_arch.h:108<br>
No locals.<br>
#1 free (p=0x55d949250660) at src/malloc/malloc.c:467<br>
extra = 65<br>
base = 0x55d94925060f ""<br>
len = 94391723427649<br>
self = 0x55d949250650<br>
next = <optimized out><br>
final_size = <optimized out><br>
new_size = <optimized out><br>
size = <optimized out><br>
reclaim = 0<br>
i = <optimized out><br>
#2 0x00007fbd98ae7e29 in ?? () from /usr/lib/libclucene-core.so.1<br>
No symbol table info available.<br>
#3 0x00007fbd98ae87ee in ?? () from /usr/lib/libclucene-core.so.1<br>
No symbol table info available.<br>
#4 0x00007fbd98b3639d in
lucene::index::IndexWriter::init(lucene::store::Directory*,
lucene::analysis::Analyzer*, bool, bool,
lucene::index::IndexDeletionPolicy*, bool) () from
/usr/lib/libclucene-core.so.1<br>
No symbol table info available.<br>
#5 0x00007fbd98b36883 in
lucene::index::IndexWriter::IndexWriter(char const*,
lucene::analysis::Analyzer*, bool) () from
/usr/lib/libclucene-core.so.1<br>
No symbol table info available.<br>
#6 0x00007fbd98df7cea in lucene_index_build_init () from
/usr/lib/dovecot/lib21_fts_lucene_plugin.so<br>
No symbol table info available.<br>
#7 0x00007fbd98df677b in ?? () from
/usr/lib/dovecot/lib21_fts_lucene_plugin.so<br>
No symbol table info available.<br>
#8 0x00007fbd99836706 in fts_backend_update_set_build_key () from
/usr/lib/dovecot/lib20_fts_plugin.so<br>
No symbol table info available.<br>
#9 0x00007fbd99837c25 in fts_build_mail () from
/usr/lib/dovecot/lib20_fts_plugin.so<br>
No symbol table info available.<br>
#10 0x00007fbd9983c63a in ?? () from
/usr/lib/dovecot/lib20_fts_plugin.so<br>
No symbol table info available.<br>
#11 0x00007fbd9a008ea7 in mail_precache () from
/usr/lib/dovecot/libdovecot-storage.so.0<br>
No symbol table info available.<br>
#12 0x000055d9471ce6c0 in ?? ()<br>
No symbol table info available.<br>
#13 0x00007fbd99d41beb in io_loop_call_io () from
/usr/lib/dovecot/libdovecot.so.0<br>
No symbol table info available.<br>
#14 0x00007fbd99d430ab in io_loop_handler_run_internal () from
/usr/lib/dovecot/libdovecot.so.0<br>
No symbol table info available.<br>
#15 0x00007fbd99d41d56 in io_loop_handler_run () from
/usr/lib/dovecot/libdovecot.so.0<br>
No symbol table info available.<br>
#16 0x00007fbd99d41e69 in io_loop_run () from
/usr/lib/dovecot/libdovecot.so.0<br>
No symbol table info available.<br>
#17 0x00007fbd99cd5d32 in master_service_run () from
/usr/lib/dovecot/libdovecot.so.0<br>
No symbol table info available.<br>
#18 0x000055d9471cdfa9 in main ()<br>
No symbol table info available.</p>
<div class="moz-cite-prefix">On 12/19/18 8:08 PM, Aki Tuomi wrote:<br>
</div>
<blockquote type="cite"
cite="mid:879843137.5080.1545242935375@appsuite-dev-gw2.open-xchange.com">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="UTF-8">
<div> <br>
</div>
<blockquote type="cite">
<div> On 19 December 2018 at 20:00 Tim Mohlmann via dovecot <
<a href="mailto:dovecot@dovecot.org" moz-do-not-send="true">dovecot@dovecot.org</a>>
wrote: </div>
<div> <br>
</div>
<div> <br>
</div>
<div> Dear list, </div>
<div> <br>
</div>
<div> We been having some issues where the indexer-worker is
crashing. This </div>
<div> happens on production servers which are handling a slight
amount of </div>
<div> mail, but is also reproducible by moving messages. Also,
users on my </div>
<div> server are complaining about "Trashed" items coming back
etc. </div>
<div> <br>
</div>
<div> Some details: </div>
<div> <br>
</div>
<div> - Dovecot 2.3.2.1 in alpine:3.8 based Docker container. As
part of the </div>
<div> Mailu distribution. ( <a
href="https://github.com/Mailu/Mailu" rel="noopener"
target="_blank" moz-do-not-send="true">https://github.com/Mailu/Mailu</a>)
</div>
<div> <br>
</div>
<div> - I've first seen this issues on my production server,
which stores mail </div>
<div> on GlusterFS </div>
<div> <br>
</div>
<div> - I've been able to reproduce running the Docker container
on a Virtual </div>
<div> machine, using local storage. </div>
<div> <br>
</div>
<div> - There is another Mailu user reporting the same problem
on a different </div>
<div> VM provider / disk infrastructure: <a
href="https://github.com/Mailu/Mailu/issues/751"
rel="noopener" target="_blank" moz-do-not-send="true">https://github.com/Mailu/Mailu/issues/751</a>
</div>
<div> <br>
</div>
<div> - Libc: musl-1.1.19-r10 </div>
<div> <br>
</div>
<div> Output of dovecot -n: </div>
<div> <br>
</div>
<div> # dovecot -n </div>
<div> # 2.3.2.1 (0719df592): /etc/dovecot/dovecot.conf </div>
<div> # Pigeonhole version 0.5.2 (7704de5e) </div>
<div> # OS: Linux 4.16.3-301.fc28.x86_64 x86_64 ext4 </div>
<div> # Hostname: 98a2726271d3 </div>
<div> auth_mechanisms = plain login </div>
<div> disable_plaintext_auth = no </div>
<div> first_valid_gid = 8 </div>
<div> first_valid_uid = 8 </div>
<div> hostname = mail.usrpro.io </div>
<div> log_path = /dev/stderr </div>
<div> mail_access_groups = mail </div>
<div> mail_gid = mail </div>
<div> mail_home = /mail/%u </div>
<div> mail_location = maildir:/mail/%u </div>
<div> mail_plugins = " fts fts_lucene quota quota_clone zlib" </div>
<div> mail_privileged_group = mail </div>
<div> mail_uid = mail </div>
<div> mail_vsize_bg_after_count = 100 </div>
<div> maildir_stat_dirs = yes </div>
<div> managesieve_notify_capability = mailto </div>
<div> managesieve_sieve_capability = fileinto reject envelope </div>
<div> encoded-character vacation subaddress
comparator-i;ascii-numeric </div>
<div> relational regex imap4flags copy include variables body
enotify </div>
<div> environment mailbox date index ihave duplicate mime
foreverypart </div>
<div> extracttext spamtest spamtestplus editheader imapsieve
vnd.dovecot.imapsieve </div>
<div> namespace inbox { </div>
<div> inbox = yes </div>
<div> location = </div>
<div> mailbox Drafts { </div>
<div> auto = subscribe </div>
<div> special_use = \Drafts </div>
<div> } </div>
<div> mailbox Junk { </div>
<div> auto = subscribe </div>
<div> special_use = \Junk </div>
<div> } </div>
<div> mailbox Sent { </div>
<div> auto = subscribe </div>
<div> special_use = \Sent </div>
<div> } </div>
<div> mailbox Trash { </div>
<div> auto = subscribe </div>
<div> special_use = \Trash </div>
<div> } </div>
<div> prefix = </div>
<div> } </div>
<div> passdb { </div>
<div> args = /etc/dovecot/auth.conf </div>
<div> driver = dict </div>
<div> } </div>
<div> plugin { </div>
<div> fts = lucene </div>
<div> fts_autoindex = yes </div>
<div> fts_autoindex_exclude = \Junk </div>
<div> fts_lucene = whitespace_chars=@. </div>
<div> imapsieve_mailbox1_before = <a class="moz-txt-link-freetext" href="file:/conf/report-spam.sieve">file:/conf/report-spam.sieve</a>
</div>
<div> imapsieve_mailbox1_causes = COPY </div>
<div> imapsieve_mailbox1_name = Junk </div>
<div> imapsieve_mailbox2_before = <a class="moz-txt-link-freetext" href="file:/conf/report-ham.sieve">file:/conf/report-ham.sieve</a>
</div>
<div> imapsieve_mailbox2_causes = COPY </div>
<div> imapsieve_mailbox2_from = Junk </div>
<div> imapsieve_mailbox2_name = * </div>
<div> quota = count:User quota </div>
<div> quota_clone_dict = proxy:/tmp/podop.socket:quota </div>
<div> quota_vsizes = yes </div>
<div> sieve = <a class="moz-txt-link-freetext" href="file:~/sieve;active=~/.dovecot.sieve">file:~/sieve;active=~/.dovecot.sieve</a> </div>
<div> sieve_before = dict:proxy:/tmp/podop.socket:sieve </div>
<div> sieve_execute_bin_dir = /conf/bin </div>
<div> sieve_extensions = +spamtest +spamtestplus +editheader </div>
<div> sieve_global_extensions = +vnd.dovecot.execute </div>
<div> sieve_plugins = sieve_imapsieve sieve_extprograms </div>
<div> sieve_spamtest_max_value = 15 </div>
<div> sieve_spamtest_status_header = X-Spam-Level </div>
<div> sieve_spamtest_status_type = strlen </div>
<div> sieve_vacation_dont_check_recipient = yes </div>
<div> sieve_vacation_send_from_recipient = yes </div>
<div> } </div>
<div> postmaster_address = <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a> </div>
<div> protocols = imap pop3 lmtp sieve </div>
<div> service auth-worker { </div>
<div> unix_listener auth-worker { </div>
<div> group = mail </div>
<div> mode = 0660 </div>
<div> user = dovecot </div>
<div> } </div>
<div> user = mail </div>
<div> } </div>
<div> service auth { </div>
<div> user = dovecot </div>
<div> } </div>
<div> service imap-login { </div>
<div> inet_listener imap { </div>
<div> port = 143 </div>
<div> } </div>
<div> } </div>
<div> service lmtp { </div>
<div> inet_listener lmtp { </div>
<div> port = 2525 </div>
<div> } </div>
<div> } </div>
<div> service managesieve-login { </div>
<div> inet_listener sieve { </div>
<div> port = 4190 </div>
<div> } </div>
<div> } </div>
<div> submission_host = 192.168.203.6 </div>
<div> userdb { </div>
<div> args = /etc/dovecot/auth.conf </div>
<div> driver = dict </div>
<div> } </div>
<div> protocol imap { </div>
<div> mail_plugins = " fts fts_lucene quota quota_clone zlib
imap_quota </div>
<div> imap_sieve" </div>
<div> } </div>
<div> protocol lmtp { </div>
<div> mail_plugins = " fts fts_lucene quota quota_clone zlib
sieve" </div>
<div> recipient_delimiter = + </div>
<div> } </div>
<div> <br>
</div>
<div> And the actual error log: </div>
<div> <br>
</div>
<div> imap_1 | Dec 19 16:31:08 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<490><m+t5VmJ93K7AqMsG:grc9HUxyGlzqAQAANEhNiw>:
</div>
<div> Fatal: master: service(indexer-worker): child 490 killed
with signal 11 </div>
<div> (core dumped) </div>
<div> imap_1 | Dec 19 16:31:09 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<493><m+t5VmJ93K7AqMsG:HRLEK0xyGlztAQAANEhNiw>:
</div>
<div> Error: lucene index <a
href="mailto:/mail/admin@usrpro.io" moz-do-not-send="true">/mail/admin@usrpro.io</a>/lucene-indexes:
IndexWriter() </div>
<div> failed (#1): Lock obtain timed out </div>
<div> imap_1 | Dec 19 16:31:09 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<493><m+t5VmJ93K7AqMsG:HRLEK0xyGlztAQAANEhNiw>:
</div>
<div> Error: Mailbox INBOX: Mail search failed: Internal error
occurred. Refer </div>
<div> to server log for more information. [2018-12-19 16:31:08]
</div>
<div> imap_1 | Dec 19 16:31:09 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<493><m+t5VmJ93K7AqMsG:HRLEK0xyGlztAQAANEhNiw>:
</div>
<div> Error: Mailbox INBOX: Transaction commit failed: FTS
transaction commit </div>
<div> failed: backend deinit (attempted to index 1 messages
(UIDs 1299..1299)) </div>
<div> imap_1 | Dec 19 16:31:10 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<493><m+t5VmJ93K7AqMsG:GKWdMU1yGlztAQAANEhNiw>:
</div>
<div> Fatal: master: service(indexer-worker): child 493 killed
with signal 11 </div>
<div> (core dumped) </div>
<div> imap_1 | Dec 19 16:31:10 indexer: Error: Indexer
worker </div>
<div> disconnected, discarding 1 requests for <a
href="mailto:admin@usrpro.io" moz-do-not-send="true">admin@usrpro.io</a>
</div>
<div> imap_1 | Dec 19 16:31:11 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<494><m+t5VmJ93K7AqMsG:MRCzBE5yGlzuAQAANEhNiw>:
</div>
<div> Error: lucene index <a
href="mailto:/mail/admin@usrpro.io" moz-do-not-send="true">/mail/admin@usrpro.io</a>/lucene-indexes:
IndexWriter() </div>
<div> failed (#1): Lock obtain timed out </div>
<div> imap_1 | Dec 19 16:31:11 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<494><m+t5VmJ93K7AqMsG:MRCzBE5yGlzuAQAANEhNiw>:
</div>
<div> Error: Mailbox INBOX: Mail search failed: Internal error
occurred. Refer </div>
<div> to server log for more information. [2018-12-19 16:31:10]
</div>
<div> imap_1 | Dec 19 16:31:11 </div>
<div> indexer-worker( <a href="mailto:admin@usrpro.io"
moz-do-not-send="true">admin@usrpro.io</a>)<494><m+t5VmJ93K7AqMsG:MRCzBE5yGlzuAQAANEhNiw>:
</div>
<div> Error: Mailbox INBOX: Transaction commit failed: FTS
transaction commit </div>
<div> failed: backend deinit (attempted to index 1 messages
(UIDs 1310..1310)) </div>
<div> imap_1 | Dec 19 16:31:11 indexer: Error: Indexer
worker </div>
<div> disconnected, discarding 1 requests for <a
href="mailto:admin@usrpro.io" moz-do-not-send="true">admin@usrpro.io</a>
</div>
<div> <br>
</div>
<div> I managed to find a core dump file, which appeared outside
of the </div>
<div> container. So I copied it back in, installed and ran gdb:
</div>
<div> <br>
</div>
<div> GNU gdb (GDB) 8.0.1 </div>
<div> Copyright (C) 2017 Free Software Foundation, Inc. </div>
<div> License GPLv3+: GNU GPL version 3 or later </div>
<div> < <a href="http://gnu.org/licenses/gpl.html"
rel="noopener" target="_blank" moz-do-not-send="true">http://gnu.org/licenses/gpl.html</a>>
</div>
<div> This is free software: you are free to change and
redistribute it. </div>
<div> There is NO WARRANTY, to the extent permitted by law.
Type "show copying" </div>
<div> and "show warranty" for details. </div>
<div> This GDB was configured as "x86_64-alpine-linux-musl". </div>
<div> Type "show configuration" for configuration details. </div>
<div> For bug reporting instructions, please see: </div>
<div> < <a href="http://www.gnu.org/software/gdb/bugs/>"
rel="noopener" target="_blank"
data-mce-href="http://www.gnu.org/software/gdb/bugs/"
moz-do-not-send="true">">http://www.gnu.org/software/gdb/bugs/></a>.
</div>
<div> Find the GDB manual and other documentation resources
online at: </div>
<div> < <a
href="http://www.gnu.org/software/gdb/documentation/>"
rel="noopener" target="_blank"
data-mce-href="http://www.gnu.org/software/gdb/documentation/"
moz-do-not-send="true">">http://www.gnu.org/software/gdb/documentation/></a>.
</div>
<div> For help, type "help". </div>
<div> Type "apropos word" to search for commands related to
"word"... </div>
<div> Reading symbols from
/usr/libexec/dovecot/indexer-worker...(no debugging </div>
<div> symbols found)...done. </div>
<div> [New LWP 1075] </div>
<div> <br>
</div>
<div> warning: Can't read pathname for load map: No error
information. </div>
<div> Core was generated by `dovecot/indexer-worker'. </div>
<div> Program terminated with signal SIGSEGV, Segmentation
fault. </div>
<div> #0 0x00007fbd9a31c11a in free () from
/lib/ld-musl-x86_64.so.1 </div>
<div> <br>
</div>
<div> So this seems musl related. I installed musl-dbg and ran
again: </div>
<div> <br>
</div>
<div> GNU gdb (GDB) 8.0.1 </div>
<div> Copyright (C) 2017 Free Software Foundation, Inc. </div>
<div> License GPLv3+: GNU GPL version 3 or later </div>
<div> < <a href="http://gnu.org/licenses/gpl.html"
rel="noopener" target="_blank" moz-do-not-send="true">http://gnu.org/licenses/gpl.html</a>>
</div>
<div> This is free software: you are free to change and
redistribute it. </div>
<div> There is NO WARRANTY, to the extent permitted by law.
Type "show copying" </div>
<div> and "show warranty" for details. </div>
<div> This GDB was configured as "x86_64-alpine-linux-musl". </div>
<div> Type "show configuration" for configuration details. </div>
<div> For bug reporting instructions, please see: </div>
<div> < <a href="http://www.gnu.org/software/gdb/bugs/>"
rel="noopener" target="_blank"
data-mce-href="http://www.gnu.org/software/gdb/bugs/"
moz-do-not-send="true">">http://www.gnu.org/software/gdb/bugs/></a>.
</div>
<div> Find the GDB manual and other documentation resources
online at: </div>
<div> < <a
href="http://www.gnu.org/software/gdb/documentation/>"
rel="noopener" target="_blank"
data-mce-href="http://www.gnu.org/software/gdb/documentation/"
moz-do-not-send="true">">http://www.gnu.org/software/gdb/documentation/></a>.
</div>
<div> For help, type "help". </div>
<div> Type "apropos word" to search for commands related to
"word"... </div>
<div> Reading symbols from
/usr/libexec/dovecot/indexer-worker...(no debugging </div>
<div> symbols found)...done. </div>
<div> [New LWP 1075] </div>
<div> <br>
</div>
<div> warning: Can't read pathname for load map: No error
information. </div>
<div> Core was generated by `dovecot/indexer-worker'. </div>
<div> Program terminated with signal SIGSEGV, Segmentation
fault. </div>
<div> #0 a_crash () at ./arch/x86_64/atomic_arch.h:108 </div>
<div> 108 ./arch/x86_64/atomic_arch.h: No such file or
directory. </div>
<div> <br>
</div>
<div> Now I'm kinda lost in space. I don't know where that
header file is. </div>
<div> Tried running "find" on the filesystem and a google
search. But nothing </div>
<div> specific showed up. </div>
<div> <br>
</div>
<div> I am starting to feel this bug is more musl related than
Dovecot. Since </div>
<div> this has bitten our project more in the past, I'm
considering to move </div>
<div> the project to Debian based images. But I want to be 100%
sure this is </div>
<div> not a dovecot bug. </div>
<div> <br>
</div>
<div> Note, earlier I created an image with Alpine:edge with
musl 1.1.20-r2 </div>
<div> and Dovecot 2.3.3. Running that image I saw the same error
symptoms (Was </div>
<div> just a hopeful trail and error). I did not do any
debugging on that one. </div>
<div> <br>
</div>
<div> Thanks in advance! Tim </div>
<div> <br>
</div>
<div> <br>
</div>
</blockquote>
<div> Can you run bt full on gdb and post that? </div>
<div class="io-ox-signature"> --- <br>
Aki Tuomi </div>
</blockquote>
</body>
</html>