[Dovecot] Panic: file mail-index-sync-ext.c: line 155 (get_ext_header): assertion failed
One of the mbox files on my server causes dovecot to assert. I've caught the assert in gdb and have attached the backtrace. Unfortunatly my binary isn't built with debugging symbols, so I'm not sure how helpful it will be.
smtp:/var$ uname -a Linux smtp 2.6.14-2-686-smp #1 SMP Sat Nov 26 13:37:07 UTC 2005 i686 GNU/Linux smtp:/var$ cat /etc/debian_version 3.1 smtp:/var$ dpkg -p dovecot-imapd Package: dovecot-imapd Priority: optional Section: mail Installed-Size: 780 Maintainer: Jaldhar H. Vyas <jaldhar@debian.org> Architecture: i386 Source: dovecot Version: 1.0.alpha4-1
Starting program: /usr/lib/dovecot/imap (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found)
- PREAUTH [CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS] Logged in as dpowell x select INBOX imap(dpowell): Panic: file mail-index-sync-ext.c: line 155 (get_ext_header): assertion failed: (memcmp((char *)(ext_hdr + 1), ext->name, strlen(ext->name)) == 0)
Program received signal SIGABRT, Aborted. 0xb7de2a27 in raise () from /lib/tls/libc.so.6 (gdb) bt full #0 0xb7de2a27 in raise () from /lib/tls/libc.so.6 No symbol table info available. #1 0xb7de435b in abort () from /lib/tls/libc.so.6 No symbol table info available. #2 0x0809f442 in data_stack_deinit () No symbol table info available. #3 0x0809f5e7 in i_panic () No symbol table info available. #4 0x08090dcd in mail_index_dummy_view_open () No symbol table info available. #5 0x0809113a in mail_index_dummy_view_open () No symbol table info available. #6 0x08091b58 in mail_index_sync_ext_intro () No symbol table info available. #7 0x08092368 in mail_index_sync_keywords () No symbol table info available. #8 0x080893d2 in mail_index_sync_record () No symbol table info available. #9 0x08089c5e in mail_index_sync_update_index () No symbol table info available. #10 0x08087d1d in mail_index_sync_commit () No symbol table info available. #11 0x080726d0 in mbox_sync () No symbol table info available. #12 0x080732b7 in mbox_storage_sync_init () No symbol table info available. #13 0x0805f8e5 in imap_sync_nonselected () No symbol table info available. #14 0x08057f31 in _cmd_select_full () No symbol table info available. #15 0x080580d1 in cmd_select () No symbol table info available. #16 0x08059861 in _client_input () No symbol table info available. #17 0x080a5984 in io_loop_handler_run () No symbol table info available. #18 0x080a4d49 in io_loop_run () No symbol table info available. #19 0x08061169 in main () No symbol table info available. (gdb)
-John
This strace output may or may not be helpful. I was able to work around the problem by clearing out the user's .imap directory. Unfortunatly I didn't think ahead enough to save a copy:
lock(9, LOCK_EX) = 0 alarm(0) = 120 stat64("/home/dpowell/.imap/INBOX/dovecot.index.log", {st_mode=S_IFREG|0600, st_size=43360, ...}) = 0 fstat64(9, {st_mode=S_IFREG|0600, st_size=43360, ...}) = 0 fstat64(8, {st_mode=S_IFREG|0600, st_size=376, ...}) = 0 stat64("/home/dpowell/.imap/INBOX/dovecot.index", {st_mode=S_IFREG|0600, st_size=376, ...}) = 0 alarm(120) = 0 flock(8, LOCK_SH) = 0 alarm(0) = 120 fstat64(8, {st_mode=S_IFREG|0600, st_size=376, ...}) = 0 mmap2(NULL, 376, PROT_READ|PROT_WRITE, MAP_SHARED, 8, 0) = 0xb7d88000 fstat64(11, {st_mode=S_IFREG|0640, st_size=0, ...}) = 0 fstat64(11, {st_mode=S_IFREG|0640, st_size=0, ...}) = 0 pread(11, "", 4096, 0) = 0 fstat64(11, {st_mode=S_IFREG|0640, st_size=0, ...}) = 0 pwrite(9, "\0\0\0\0 \0\0\20", 8, 43360) = 8 pwrite(9, "\30\0\4\0}\233^C", 8, 43368) = 8 pwrite(9, "\200\200\200\204", 4, 43360) = 4 fstat64(9, {st_mode=S_IFREG|0600, st_size=43376, ...}) = 0 munmap(0xb7d89000, 43360) = 0 mmap2(NULL, 43376, PROT_READ, MAP_SHARED, 9, 0) = 0xb7d89000 madvise(0xb7d89000, 43376, MADV_SEQUENTIAL) = 0 fstat64(8, {st_mode=S_IFREG|0600, st_size=376, ...}) = 0 stat64("/home/dpowell/.imap/INBOX/dovecot.index", {st_mode=S_IFREG|0600, st_size=376, ...}) = 0 flock(8, LOCK_EX|LOCK_NB) = 0 write(2, "imap(dpowell): ", 15imap(dpowell): ) = 15 write(2, "Panic: ", 7Panic: ) = 7 write(2, "file mail-index-sync-ext.c: line"..., 139file mail-index-sync-ext.c: line 155 (get_ext_header): assertion failed: (memcmp((char *)(ext_hdr + 1), ext->name, strlen(ext->name)) == 0)) = 139 write(2, "\n", 1 ) = 1 rt_sigprocmask(SIG_UNBLOCK, [ABRT], NULL, 8) = 0 tgkill(12734, 12734, SIGABRT) = 0 --- SIGABRT (Aborted) @ 0 (0) --- +++ killed by SIGABRT +++
John V. Baboval wrote:
One of the mbox files on my server causes dovecot to assert. I've caught the assert in gdb and have attached the backtrace. Unfortunatly my binary isn't built with debugging symbols, so I'm not sure how helpful it will be.
smtp:/var$ uname -a Linux smtp 2.6.14-2-686-smp #1 SMP Sat Nov 26 13:37:07 UTC 2005 i686 GNU/Linux smtp:/var$ cat /etc/debian_version 3.1 smtp:/var$ dpkg -p dovecot-imapd Package: dovecot-imapd Priority: optional Section: mail Installed-Size: 780 Maintainer: Jaldhar H. Vyas <jaldhar@debian.org> Architecture: i386 Source: dovecot Version: 1.0.alpha4-1
Starting program: /usr/lib/dovecot/imap (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) (no debugging symbols found)
- PREAUTH [CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN NAMESPACE LOGIN-REFERRALS] Logged in as dpowell x select INBOX imap(dpowell): Panic: file mail-index-sync-ext.c: line 155 (get_ext_header): assertion failed: (memcmp((char *)(ext_hdr + 1), ext->name, strlen(ext->name)) == 0)
Program received signal SIGABRT, Aborted. 0xb7de2a27 in raise () from /lib/tls/libc.so.6 (gdb) bt full #0 0xb7de2a27 in raise () from /lib/tls/libc.so.6 No symbol table info available. #1 0xb7de435b in abort () from /lib/tls/libc.so.6 No symbol table info available. #2 0x0809f442 in data_stack_deinit () No symbol table info available. #3 0x0809f5e7 in i_panic () No symbol table info available. #4 0x08090dcd in mail_index_dummy_view_open () No symbol table info available. #5 0x0809113a in mail_index_dummy_view_open () No symbol table info available. #6 0x08091b58 in mail_index_sync_ext_intro () No symbol table info available. #7 0x08092368 in mail_index_sync_keywords () No symbol table info available. #8 0x080893d2 in mail_index_sync_record () No symbol table info available. #9 0x08089c5e in mail_index_sync_update_index () No symbol table info available. #10 0x08087d1d in mail_index_sync_commit () No symbol table info available. #11 0x080726d0 in mbox_sync () No symbol table info available. #12 0x080732b7 in mbox_storage_sync_init () No symbol table info available. #13 0x0805f8e5 in imap_sync_nonselected () No symbol table info available. #14 0x08057f31 in _cmd_select_full () No symbol table info available. #15 0x080580d1 in cmd_select () No symbol table info available. #16 0x08059861 in _client_input () No symbol table info available. #17 0x080a5984 in io_loop_handler_run () No symbol table info available. #18 0x080a4d49 in io_loop_run () No symbol table info available. #19 0x08061169 in main () No symbol table info available. (gdb)
-John
On Wed, 2005-12-14 at 10:32 -0500, John V. Baboval wrote:
imap(dpowell): Panic: file mail-index-sync-ext.c: line 155 (get_ext_header): assertion failed: (memcmp((char *)(ext_hdr + 1), ext->name, strlen(ext->name)) == 0)
Fixed in alpha5.
participants (2)
-
John V. Baboval
-
Timo Sirainen