Bug Report - Crash on imap with core dump - Alternate storage related

Aki Tuomi aki.tuomi at dovecot.fi
Thu May 12 06:03:48 UTC 2016



On 11.05.2016 22:45, Daniel van Ham Colchete wrote:
> I can confirm that this bug also happens on the latest version available:
>
> root at dovecot:/# dovecot --version
> 2.2.devel (ebf2e93)
> root at dovecot:/# dpkg -l|grep dovecot
> ii  dovecot-core               2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - core files
> ii  dovecot-dbg                2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - debug symbols
> ii  dovecot-imapd              2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - IMAP daemon
> ii  dovecot-lmtpd              2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - LMTP server
> ii  dovecot-lucene             2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - Lucene support
> ii  dovecot-mysql              2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - MySQL support
> ii  dovecot-pop3d              2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - POP3 daemon
> ii  dovecot-sieve              2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - Sieve filters support
> ii  dovecot-solr               2:2.2.24-1~auto+23        amd64
>  secure POP3/IMAP server - Solr support
>
>
> On Wed, May 11, 2016 at 4:38 PM, Daniel van Ham Colchete <
> daniel.colchete at gmail.com> wrote:
>
>> I would like to report a bug we are seeing on an new deployment here:
>>
>> Linux: Debian Jessie, inside a Docker container
>> Dovecot version: 2.2.23 (806d709) / 2.2.23-1~bpo8+1
>> doveconf -n: http://pastebin.com/2xA2xuRw
>> Filesystem: CephFS - Jewel
>>
>> After migrating our users from our old server to our new one we can't
>> access a few mailboxes. Backtrace follows:
>>
>> root at dovecot:/# gdb --args /usr/lib/dovecot/imap -u
>> daniel.colchete at mav.com.br
>> GNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
>> Copyright (C) 2014 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-linux-gnu".
>> 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"...
>> Reading symbols from /usr/lib/dovecot/imap...Reading symbols from
>> /usr/lib/debug/.build-id/e2/488f839ac2b10504ef74b1b2f2146891ca2f62.debug...done.
>> done.
>> (gdb) run
>> Starting program: /usr/lib/dovecot/imap -u daniel.colchete at mav.com.br
>> * PREAUTH [CAPABILITY IMAP4rev1 LITERAL+ SASL-IR LOGIN-REFERRALS ID ENABLE
>> IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT
>> MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS
>> LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN
>> CONTEXT=SEARCH LIST-STATUS BINARY MOVE SPECIAL-USE QUOTA] Logged in as
>> daniel.colchete at mav.com.br
>> a select INBOX
>>
>> Program received signal SIGSEGV, Segmentation fault.
>> strrchr () at ../sysdeps/x86_64/strrchr.S:32
>> 32      ../sysdeps/x86_64/strrchr.S: No such file or directory.
>> (gdb) where
>> #0  strrchr () at ../sysdeps/x86_64/strrchr.S:32
>> #1  0x00007ffff7b0a261 in sdbox_file_move (file=file at entry=0x5555557e6530,
>> alt_path=alt_path at entry=true) at sdbox-file.c:312
>> #2  0x00007ffff7b0cd11 in dbox_sync_file_move_if_needed
>> (type=SDBOX_SYNC_ENTRY_TYPE_MOVE_TO_ALT, file=0x5555557e6530) at
>> sdbox-sync.c:30
>> #3  sdbox_sync_file (type=SDBOX_SYNC_ENTRY_TYPE_MOVE_TO_ALT, uid=13120,
>> seq=819, ctx=0x5555557e32e0) at sdbox-sync.c:58
>> #4  sdbox_sync_add (sync_rec=0x7fffffffe570, ctx=0x5555557e32e0) at
>> sdbox-sync.c:96
>> #5  sdbox_sync_index (ctx=0x5555557e32e0) at sdbox-sync.c:131
>> #6  sdbox_sync_begin (mbox=mbox at entry=0x5555557ce500, flags=flags at entry=(unknown:
>> 0), ctx_r=ctx_r at entry=0x7fffffffe680) at sdbox-sync.c:234
>> #7  0x00007ffff7b0d07d in sdbox_sync (mbox=mbox at entry=0x5555557ce500,
>> flags=flags at entry=(unknown: 0)) at sdbox-sync.c:297
>> #8  0x00007ffff7b0d108 in sdbox_storage_sync_init (box=0x5555557ce500,
>> flags=(MAILBOX_SYNC_FLAG_FULL_READ | MAILBOX_SYNC_FLAG_FIX_INCONSISTENT))
>> at sdbox-sync.c:323
>> #9  0x00007ffff7aea85b in mailbox_sync_init (box=0x5555557ce500,
>> flags=(MAILBOX_SYNC_FLAG_FULL_READ | MAILBOX_SYNC_FLAG_FIX_INCONSISTENT))
>> at mail-storage.c:1664
>> #10 0x00007ffff7aea9a7 in mailbox_sync (box=<optimized out>,
>> flags=<optimized out>, flags at entry=MAILBOX_SYNC_FLAG_FULL_READ) at
>> mail-storage.c:1712
>> #11 0x0000555555568fa0 in select_open (readonly=false, mailbox=<optimized
>> out>, ctx=0x5555557c9928) at cmd-select.c:303
>> #12 cmd_select_full (cmd=<optimized out>, readonly=<optimized out>) at
>> cmd-select.c:426
>> #13 0x000055555556fdbd in command_exec (cmd=cmd at entry=0x5555557c9800) at
>> imap-commands.c:180
>> #14 0x000055555556e182 in client_command_input (cmd=cmd at entry=0x5555557c9800)
>> at imap-client.c:958
>> #15 0x000055555556e210 in client_command_input (cmd=0x5555557c9800) at
>> imap-client.c:1018
>> #16 0x000055555556e5d5 in client_handle_next_command
>> (remove_io_r=<synthetic pointer>, client=0x5555557c8c00) at
>> imap-client.c:1058
>> #17 client_handle_input (client=0x5555557c8c00) at imap-client.c:1070
>> #18 0x000055555556ead5 in client_input (client=0x5555557c8c00) at
>> imap-client.c:1117
>> #19 0x00007ffff7837c3c in io_loop_call_io (io=0x5555557c96f0) at
>> ioloop.c:564
>> #20 0x00007ffff78390a1 in io_loop_handler_run_internal (ioloop=ioloop at entry=0x5555557966e0)
>> at ioloop-epoll.c:220
>> #21 0x00007ffff7837cc5 in io_loop_handler_run (ioloop=ioloop at entry=0x5555557966e0)
>> at ioloop.c:612
>> #22 0x00007ffff7837e68 in io_loop_run (ioloop=0x5555557966e0) at
>> ioloop.c:588
>> #23 0x00007ffff77ce0e3 in master_service_run (service=0x555555796580,
>> callback=<optimized out>) at master-service.c:640
>> #24 0x0000555555561ab2 in main (argc=3, argv=0x555555796390) at main.c:454
>> (gdb)
>>
>> One important info is that I used to use Alternate Storage on the older
>> servers, but the not on the new one. Code seems to be trying to move a
>> message to an alternate storage that doesn't exist.
>>
>> doveadm dump dovecot.index will show that we still have the
>> ALTERNATE_STORAGE flag set:
>>
>> root at dovecot:/srv/dovecot/mail/
>> mav.com.br/daniel.colchete/mailboxes/INBOX/dbox-Mails# doveadm dump
>> dovecot.index|grep RECORD|head
>> -- RECORDS: 932
>> RECORD: seq=1, uid=9393, flags=0x49 (Seen Answered)
>> RECORD: seq=2, uid=9442, flags=0x40
>> RECORD: seq=3, uid=10253, flags=0x48 (Seen)
>> RECORD: seq=4, uid=10268, flags=0x48 (Seen)
>> RECORD: seq=5, uid=10283, flags=0x48 (Seen)
>> RECORD: seq=6, uid=10309, flags=0x48 (Seen)
>> RECORD: seq=7, uid=10311, flags=0x40
>> RECORD: seq=8, uid=10324, flags=0x49 (Seen Answered)
>> RECORD: seq=9, uid=10330, flags=0x48 (Seen)
>>
>> Thank you very much.
>>
>> Best,
>> Daniel Colchete
>>
Hi!

Thank you for your report, we will have a look. Can you provide output
of doveconf -n please?

---
Aki Tuomi
Dovecot Oy


More information about the dovecot mailing list