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@dovecot:/# gdb --args /usr/lib/dovecot/imap -u
[email protected]
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 [email protected]
* 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
[email protected]
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@entry=0x5555557e6530,
alt_path=alt_path@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@entry=0x5555557ce500,
flags=flags@entry=(unknown:
0), ctx_r=ctx_r@entry=0x7fffffffe680) at sdbox-sync.c:234
#7  0x00007ffff7b0d07d in sdbox_sync (mbox=mbox@entry=0x5555557ce500,
flags=flags@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@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@entry=0x5555557c9800) at
imap-commands.c:180
#14 0x000055555556e182 in client_command_input (cmd=cmd@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@entry=0x5555557966e0)
at ioloop-epoll.c:220
#21 0x00007ffff7837cc5 in io_loop_handler_run
(ioloop=ioloop@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@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

Reply via email to