[Dovecot] Dovecot 2.0beta3: mdbox crash on corrupted mail (backtrace included)

Thomas Leuxner tlx at leuxner.net
Tue Mar 9 20:00:36 EET 2010


Am 09.03.2010 um 18:54 schrieb Thomas Leuxner:
> 
> Could not resync it to the "Inbox" but the message is still in 'm.59.broken' and the source looks undamaged. Any easy way to restore? No biggie if it is lost, but just out of curiosity, once an *important* mail would be affected :)
> 
> Thomas
> 

Oh and btw: The doveadm imap resync caused another dump:

Mar  9 18:49:14 spectre dovecot: imap(tlx at leuxner.net): /var/vmail/leuxner.net/tlx/mdbox/mailboxes/INBOX/dbox-Mails/dovecot.index reset, view is now inconsistent
Mar  9 18:49:14 spectre dovecot: imap(tlx at leuxner.net): Panic: file index-sync.c: line 40 (index_mailbox_set_recent_uid): assertion failed: (seq_range_exists(&ibox->recent_flags, uid))
Mar  9 18:49:14 spectre dovecot: imap(tlx at leuxner.net): Disconnected: IMAP session state is inconsistent, please relogin. bytes=711/16119
Mar  9 18:49:14 spectre dovecot: imap(tlx at leuxner.net): Raw backtrace: /usr/lib/dovecot/libdovecot.so.0 [0x7faec9ac62b2] -> /usr/lib/dovecot/libdovecot.so.0 [0x7faec9ac631a] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7faec9ac66c3] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_mailbox_set_recent_seq+0) [0x7faec9d71030] -> /usr/lib/dovecot/libdovecot-storage.so.0(index_mailbox_set_recent_seq+0x3c) [0x7faec9d7106c] -> /usr/lib/dovecot/libdovecot-storage.so.0(mdbox_sync_begin+0x37b) [0x7faec9d9cdfb] -> /usr/lib/dovecot/libdovecot-storage.so.0(mdbox_sync+0x12) [0x7faec9d9d0e2] -> /usr/lib/dovecot/libdovecot-storage.so.0(mdbox_storage_sync_init+0x43) [0x7faec9d9d153] -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x31) [0x7faec9d2e4e1] -> dovecot/imap [tlx at leuxner.net 84.58.106.99 IDLE](imap_sync_init+0x68) [0x417db8] -> dovecot/imap [tlx at leuxner.net 84.58.106.99 IDLE] [0x40ab5e] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handle_timeouts+0x9b) [0x7faec9ad042b] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0x6f) [0x7faec9ad0f8f] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x18) [0x7faec9ad0168] -> /usr/lib/dovecot/libdovecot.so.0(master_service_run+0x13) [0x7faec9ac0143] -> dovecot/imap [tlx at leuxner.net 84.58.106.99 IDLE](main+0x191) [0x418681] -> /lib/libc.so.6(__libc_start_main+0xe6) [0x7faec934d1a6] -> dovecot/imap [tlx at leuxner.net 84.58.106.99 IDLE] [0x4084e9]
Mar  9 18:49:14 spectre dovecot: master: service(imap): child 4451 killed with signal 6 (core dumped)

GNU gdb 6.8-debian
Copyright (C) 2008 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"...

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/dovecot/libdovecot-storage.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot-storage.so.0.0.0...done.
done.
Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0
Reading symbols from /usr/lib/dovecot/libdovecot.so.0...Reading symbols from /usr/lib/debug/usr/lib/dovecot/libdovecot.so.0.0.0...done.
done.
Loaded symbols for /usr/lib/dovecot/libdovecot.so.0
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /usr/lib/dovecot/modules/lib01_acl_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib01_acl_plugin.so...done.
done.
Loaded symbols for /usr/lib/dovecot/modules/lib01_acl_plugin.so
Reading symbols from /usr/lib/dovecot/modules/lib02_imap_acl_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib02_imap_acl_plugin.so...done.
done.
Loaded symbols for /usr/lib/dovecot/modules/lib02_imap_acl_plugin.so
Reading symbols from /usr/lib/dovecot/modules/lib10_quota_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib10_quota_plugin.so...done.
done.
Loaded symbols for /usr/lib/dovecot/modules/lib10_quota_plugin.so
Reading symbols from /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so...Reading symbols from /usr/lib/debug/usr/lib/dovecot/modules/lib11_imap_quota_plugin.so...done.
done.
Loaded symbols for /usr/lib/dovecot/modules/lib11_imap_quota_plugin.so
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Core was generated by `dovecot/imap'.
Program terminated with signal 6, Aborted.
[New process 4451]
#0  0x00007faec9360ed5 in raise () from /lib/libc.so.6
(gdb) bt full
#0  0x00007faec9360ed5 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00007faec93623f3 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00007faec9ac62c5 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:164
	backtrace = 0x61f0e8 "/usr/lib/dovecot/libdovecot.so.0 [0x7faec9ac62b2] -> /usr/lib/dovecot/libdovecot.so.0 [0x7faec9ac631a] -> /usr/lib/dovecot/libdovecot.so.0(i_error+0) [0x7faec9ac66c3] -> /usr/lib/dovecot/libdovecot-st"...
#3  0x00007faec9ac631a in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=<value optimized out>, args=<value optimized out>) at failures.c:592
No locals.
#4  0x00007faec9ac66c3 in i_panic (format=<value optimized out>) at failures.c:230
	args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fffffffd800, reg_save_area = 0x7fffffffd740}}
#5  0x00007faec9d71030 in index_mailbox_set_recent_uid (box=<value optimized out>, uid=4722) at index-sync.c:40
	ibox = (struct index_mailbox_context *) 0x6544f0
	__PRETTY_FUNCTION__ = "index_mailbox_set_recent_uid"
#6  0x00007faec9d7106c in index_mailbox_set_recent_seq (box=0x654168, view=0x656700, seq1=2, seq2=47) at index-sync.c:57
	uid = 4722
#7  0x00007faec9d9cdfb in mdbox_sync_begin (mbox=0x654168, flags=<value optimized out>, ctx_r=0x7fffffffd9a8) at mdbox-sync.c:141
	storage = (struct mail_storage *) 0x648c78
	ctx = (struct mdbox_sync_context *) 0x6663f0
	sync_flags = <value optimized out>
	ret = 1
	storage_rebuilt = false
#8  0x00007faec9d9d0e2 in mdbox_sync (mbox=0x1163, flags=4451) at mdbox-sync.c:286
	sync_ctx = (struct mdbox_sync_context *) 0x654168
#9  0x00007faec9d9d153 in mdbox_storage_sync_init (box=0x654168, flags=0) at mdbox-sync.c:310
	mdbox_sync_flags = 4451
#10 0x00007faec9d2e4e1 in mailbox_sync_init (box=0x654168, flags=0) at mail-storage.c:848
	_data_stack_cur_id = 0
	ctx = <value optimized out>
#11 0x0000000000417db8 in imap_sync_init (client=0x64f9d8, box=<value optimized out>, imap_flags=0, flags=0) at imap-sync.c:142
	ctx = <value optimized out>
	__PRETTY_FUNCTION__ = "imap_sync_init"
#12 0x000000000040ab5e in idle_sync_now (box=<value optimized out>, ctx=0x650228) at cmd-idle.c:122
	__PRETTY_FUNCTION__ = "idle_sync_now"
#13 0x00007faec9ad042b in io_loop_handle_timeouts (ioloop=0x6275c0) at ioloop.c:328
	_data_stack_cur_id = 2
#14 0x00007faec9ad0f8f in io_loop_handler_run (ioloop=0x6275c0) at ioloop-epoll.c:180
	ctx = (struct ioloop_handler_context *) 0x6277d0
	event = <value optimized out>
	list = <value optimized out>
	io = <value optimized out>
	tv = {tv_sec = 0, tv_usec = 499436}
	t_id = <value optimized out>
	msecs = 500
	ret = 0
	call = <value optimized out>
#15 0x00007faec9ad0168 in io_loop_run (ioloop=0x6275c0) at ioloop.c:350
No locals.
#16 0x00007faec9ac0143 in master_service_run (service=0x627490, callback=0x1163) at master-service.c:478
No locals.
#17 0x0000000000418681 in main (argc=1, argv=0x627370) at main.c:313
	service_flags = <value optimized out>
---Type <return> to continue, or q <return> to quit---
	storage_service_flags = <value optimized out>
	postlogin_socket_path = 0x0
	set_roots = {0x41b980, 0x0}







More information about the dovecot mailing list