- David Halik dhalik@jla.rutgers.edu:
Ralf, you're seeing the same panic I've been going back and forth with Timo on for the last two weeks. Do you think you could run a couple of quick gdb commands? Timo asked me for these last week, but I thought it might be useful if they came from you as well for comparison. It also looks like you have optimization turned off which is great for debugging.
From Timo...
Could you do in gdb something like:
fr 6 (or whatever frame gives usable results)
Yes, it's frame 6
p *rec
(gdb) p *rec $2 = {uid = 1721, flags = 8, filename = 0x9c4e2b0 "1247223070.M198961P26186.postamt.charite.de,S=4080,W=4182:2,Sa", extensions = 0x0}
p count
(gdb) p count $3 = <value optimized out>
Sorry :(
p *recs[0]
(gdb) p *recs[0] $4 = {uid = 1962, flags = 8, filename = 0x9c531a8 "1262613886.M868332P16003.postamt.charite.de,W=39324,S=38791:2,Sa", extensions = 0x0}
p *recs[1] p *recs[..up until count-1]
Since count is optimized out, how should I know? OK, trial and error:
(gdb) p *recs[0] $16 = {uid = 1962, flags = 8, filename = 0x9c531a8 "1262613886.M868332P16003.postamt.charite.de,W=39324,S=38791:2,Sa", extensions = 0x0} (gdb) p *recs[1] $17 = {uid = 1963, flags = 8, filename = 0x9c53200 "1262613886.M868333P16003.postamt.charite.de,W=3061,S=2987:2,Sa", extensions = 0x0} (gdb) p *recs[2] $18 = {uid = 1964, flags = 8, filename = 0x9c53250 "1262613886.M868334P16003.postamt.charite.de,W=407687,S=402422:2,Sa", extensions = 0x0} (gdb) p *recs[3] $19 = {uid = 1965, flags = 8, filename = 0x9c532a8 "1262613886.M868335P16003.postamt.charite.de,W=3576,S=3496:2,RSa", extensions = 0x0} (gdb) p *recs[4] $20 = {uid = 1966, flags = 8, filename = 0x9c532f8 "1262613886.M868336P16003.postamt.charite.de,W=20045,S=19472:2,Sa", extensions = 0x0} (gdb) p *recs[5] $21 = {uid = 1967, flags = 8, filename = 0x9c53350 "1262613886.M868337P16003.postamt.charite.de,W=99371,S=97957:2,Sa", extensions = 0x0} (gdb) p *recs[6] $22 = {uid = 1968, flags = 8, filename = 0x9c533a8 "1262613886.M868338P16003.postamt.charite.de,W=4552,S=4453:2,Sa", extensions = 0x0}
...
(gdb) p *recs[50] $23 = {uid = 2012, flags = 8, filename = 0x9c54260 "1262613886.M868382P16003.postamt.charite.de,W=29656,S=28920:2,Sa", extensions = 0x0} (gdb) p *recs[51] $24 = {uid = 2013, flags = 8, filename = 0x9c542b8 "1262613886.M868383P16003.postamt.charite.de,W=83093,S=81992:2,Sa", extensions = 0x0} (gdb) p *recs[52] $25 = {uid = 2014, flags = 8, filename = 0x9c54310 "1262613886.M868384P16003.postamt.charite.de,W=2104892,S=2077799:2,Sb", extensions = 0x0} (gdb) p *recs[53] $26 = {uid = 2015, flags = 8, filename = 0x9c54368 "1262613886.M868385P16003.postamt.charite.de,W=89389,S=88208:2,Sa", extensions = 0x0} (gdb) p *recs[54] $27 = {uid = 2016, flags = 8, filename = 0x9c543c0 "1262613886.M868386P16003.postamt.charite.de,W=12822,S=12457:2,Sa", extensions = 0x0} (gdb) p *recs[55] $28 = {uid = 2017, flags = 8, filename = 0x9c54428 "1262613886.M868387P16003.postamt.charite.de,W=14356,S=14096:2,Sa", extensions = 0x0} (gdb) p *recs[56] $29 = {uid = 2018, flags = 8, filename = 0x9c54480 "1262613886.M868388P16003.postamt.charite.de,W=15126,S=14718:2,Sa", extensions = 0x0} (gdb) p *recs[57] Cannot access memory at address 0x0
If count is large, the main things I want to know are:
- Is the array sorted (recs[n]->uid < recs[n+1]->uid always)?
Yes, it's sorted!
- is rec->uid anywhere in the recs array?
I don't understand this question. All the entries recs[0] ... recs[56] are containing entries like the ones above.
On 01/04/2010 05:09 AM, Ralf Hildebrandt wrote:
From the log:
Jan 3 20:26:07 postamt dovecot: IMAP(nixxxxx): copy: uid=3526, dest=Deleted Messages, msgid=DC8A4BE5-41A0-4240-8F07-090E95414F7A@charite.de, size=2726 Jan 3 20:26:07 postamt dovecot: IMAP(nixxxxx): delete: uid=3526, msgid=DC8A4BE5-41A0-4240-8F07-090E95414F7A@charite.de Jan 3 20:26:11 postamt dovecot: IMAP(nixxxxx): expunge: uid=3526, msgid=DC8A4BE5-41A0-4240-8F07-090E95414F7A@charite.de, size=2726 Jan 3 20:26:42 postamt dovecot: IMAP(nixxxxx): copy: uid=415, box=Deleted Messages, dest=INBOX, msgid=d539ffeb1001030758n1acc33c1m1fc67e0f1d227e92@mail.gmail.com, size=3604 Jan 3 20:26:42 postamt dovecot: IMAP(nixxxxx): /home/n/i/nixxxxx/Maildir/dovecot-uidlist: Duplicate file entry at line 1: 1262534293.M822904P8880.postamt.charite.de,S=3604,W=3690:2,RSaf (uid 3528 -> 3531) Jan 3 20:26:42 postamt dovecot: IMAP(nixxxxx): Panic: file maildir-uidlist.c: line 403 (maildir_uidlist_records_array_delete): assertion failed: (pos != NULL) Jan 3 20:26:42 postamt dovecot: IMAP(nixxxxx): Raw backtrace: imap [0x80f1631] -> imap [0x80f16a2] -> imap [0x80f1019] -> imap [0x8088fa6] -> imap(maildir_uidlist_refresh+0x9e9) [0x8089fc9] -> imap [0x8086704] -> imap(maildir_storage_sync_init+0x125) [0x8086be5] -> imap(imap_sync_init+0x54) [0x8070434] -> imap [0x8062aa2] -> imap [0x80a619c] -> imap(io_loop_handle_timeouts+0xe9) [0x80f9959] -> imap(io_loop_handler_run+0x82) [0x80fa222] -> imap(io_loop_run+0x20) [0x80f96f0] -> imap(main+0x5d2) [0x8070f52] -> /lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb75bcb55] -> imap [0x80602d1] Jan 3 20:26:42 postamt dovecot: IMAP(nixxxxx): delete: uid=415, box=Deleted Messages, msgid=d539ffeb1001030758n1acc33c1m1fc67e0f1d227e92@mail.gmail.com Jan 3 20:26:42 postamt dovecot: IMAP(nixxxxx): expunge: uid=415, box=Deleted Messages, msgid=d539ffeb1001030758n1acc33c1m1fc67e0f1d227e92@mail.gmail.com, size=3604 Jan 3 20:26:45 postamt dovecot: IMAP(nixxxxx): Disconnected: Logged out bytes=63917/47203 Jan 3 20:26:45 postamt dovecot: IMAP(nixxxxx): Disconnected: Logged out bytes=360/168380 Jan 3 20:26:45 postamt dovecot: IMAP(nixxxxx): Disconnected: Logged out bytes=670290/672304
GNU gdb (GDB) 7.0-debian Copyright (C) 2009 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or laterhttp://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 "i486-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/local/libexec/dovecot/imap...done. Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from /usr/lib/debug/lib/i686/cmov/libdl-2.10.2.so...done. (no debugging symbols found)...done. Loaded symbols for /lib/i686/cmov/libdl.so.2 Reading symbols from /lib/i686/cmov/librt.so.1...Reading symbols from /usr/lib/debug/lib/i686/cmov/librt-2.10.2.so...done. (no debugging symbols found)...done. Loaded symbols for /lib/i686/cmov/librt.so.1 Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from /usr/lib/debug/lib/i686/cmov/libc-2.10.2.so...done. (no debugging symbols found)...done. Loaded symbols for /lib/i686/cmov/libc.so.6 Reading symbols from /lib/ld-linux.so.2...Reading symbols from /usr/lib/debug/lib/ld-2.10.2.so...done. (no debugging symbols found)...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/i686/cmov/libpthread.so.0...Reading symbols from /usr/lib/debug/lib/i686/cmov/libpthread-2.10.2.so...done. (no debugging symbols found)...done. Loaded symbols for /lib/i686/cmov/libpthread.so.0 Reading symbols from /usr/local/lib/dovecot/imap/lib10_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib10_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_imap_quota_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib11_trash_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib11_trash_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_autocreate_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_autocreate_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_fts_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_fts_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so Reading symbols from /usr/local/lib/dovecot/imap/lib20_zlib_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib20_zlib_plugin.so Reading symbols from /usr/lib/libz.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libz.so.1 Reading symbols from /lib/libbz2.so.1.0...(no debugging symbols found)...done. Loaded symbols for /lib/libbz2.so.1.0 Reading symbols from /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so...done. Loaded symbols for /usr/local/lib/dovecot/imap/lib21_fts_squat_plugin.so Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done. Loaded symbols for /lib/libgcc_s.so.1 Core was generated by `imap [nixxxxx 87.162.56.10]'. Program terminated with signal 6, Aborted. #0 0xb7708424 in __kernel_vsyscall () #0 0xb7708424 in __kernel_vsyscall () No symbol table info available. #1 0xb75d08e0 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 resultvar =<value optimized out> pid = -1217490956 selftid = 25023 #2 0xb75d3e15 in *__GI_abort () at abort.c:88 act = {__sigaction_handler = {sa_handler = 0x9505708, sa_sigaction = 0x9505708}, sa_mask = {__val = {3219827960, 135197034, 3077474016, 0, 3219828080, 3219828068, 128, 0, 0, 3219828144, 3077727856, 134566866, 549, 0, 0, 0, 1, 135270350, 128, 1, 3219828068, 156260072, 69, 3219828196, 3219828040, 135198630, 156260653, 3219828068, 3219828072, 550, 156260104, 3076940867}}, sa_flags = 550, sa_restorer = 0x8106dd9
} sigs = {__val = {32, 0 = "maildir_uidlist_records_array_delete" #7 0x08089fc9 in maildir_uidlist_next (uidlist=0x951b0b0) at maildir-uidlist.c:544 rec = 0x95346b8 uid = 3531 #8 maildir_uidlist_update_read (uidlist=0x951b0b0) at maildir-uidlist.c:741 storage = 0x950f4b8 orig_uid_validity = 1186140978 fd = 14 orig_next_uid = 3531 input = 0x95347a0 st = {st_dev = 65024, __pad1 = 0, __st_ino = 5228663, st_mode = 33152, st_nlink = 1, st_uid = 50357, st_gid = 100, st_rdev = 0, __pad2 = 0, st_size = 763, st_blksize = 4096, st_blocks = 8, st_atim = { tv_sec = 1262546767, tv_nsec = 269770575}, st_mtim = { tv_sec = 1262546802, tv_nsec = 221806856}, st_ctim = { tv_sec = 1262546802, tv_nsec = 221806856}, st_ino = 5228663} last_read_offset = 693 #9 maildir_uidlist_refresh (uidlist=0x951b0b0) at maildir-uidlist.c:889 i = 0 retry =<value optimized out> ret =<value optimized out> #10 0x08086704 in have_recent_messages (ctx=0x9505210, forced=false, find_uid=0x0, lost_files_r=0xbfeaaffb) at maildir-sync.c:659 hdr =<value optimized out> #11 maildir_sync_get_changes (ctx=0x9505210, forced=false, find_uid=0x0, lost_files_r=0xbfeaaffb) at maildir-sync.c:679 flags =<value optimized out> #12 maildir_sync_context (ctx=0x9505210, forced=false, find_uid=0x0, lost_files_r=0xbfeaaffb) at maildir-sync.c:714 sync_flags =<value optimized out> flags = 135325664 new_changed =<value optimized out> cur_changed =<value optimized out> lock_failure =<value optimized out> fname = 0x9515030 "/home/n/i/nixxxxx/Maildir" ret =<value optimized out> __PRETTY_FUNCTION__ = "maildir_sync_context" #13 0x08086be5 in maildir_storage_sync_init (box=0x9514e98, flags=0) at maildir-sync.c:924 _data_stack_cur_id = 4 ctx = 0x9505210 lost_files =<value optimized out> ret = 0 __PRETTY_FUNCTION__ = "maildir_storage_sync_init" #14 0x08070434 in imap_sync_init (client=0x950fba0, box=0x9514e98, imap_flags=0, flags=0) at imap-sync.c:146 ctx = 0x95191a0 __PRETTY_FUNCTION__ = "imap_sync_init" #15 0x08062aa2 in idle_sync_now (box=<value optimized out>, ctx=0x950feb8) at cmd-idle.c:127 __PRETTY_FUNCTION__ = "idle_sync_now" #16 0x080a619c in notify_delay_callback (ibox=0x9514e98) at index-mailbox-check.c:49 No locals. #17 0x080f9959 in io_loop_handle_timeouts_real (ioloop=0x950d9b0) at ioloop.c:313 item = 0x9563c78 tv = {tv_sec = 0, tv_usec = 0} tv_call = {tv_sec = 1262546802, tv_usec = 336801} t_id = 3 #18 io_loop_handle_timeouts (ioloop=0x950d9b0) at ioloop.c:324 _data_stack_cur_id = 2 #19 0x080fa222 in io_loop_handler_run (ioloop=0x950d9b0) at ioloop-epoll.c:180 ctx = 0x950dab8 event =<value optimized out> list =<value optimized out> io =<value optimized out> tv = {tv_sec = 0, tv_usec = 108829} t_id =<value optimized out> msecs = 109 ret = 0 i =<value optimized out> j =<value optimized out> call =<value optimized out> #20 0x080f96f0 in io_loop_run (ioloop=0x950d9b0) at ioloop.c:335 No locals. #21 0x08070f52 in main (argc=) at main.c:327 No locals. $1 = {prev = 0x0, next = 0x0, client = 0x950fba0, pool = 0x950fe18, tag = 0x950fea8 "104.6", name = 0x950feb0 "IDLE", args = 0x0, cmd_flags = 10, func = 0x80628b0}} #3 0x080f1645 in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:160 backtrace = 0x95052d8 "imap [0x80f1631] -> imap [0x80f16a2] -> imap [0x80f1019] -> imap [0x8088fa6] -> imap(maildir_uidlist_refresh+0x9e9) [0x8089fc9] -> imap [0x8086704] -> imap(maildir_storage_sync_init+0x125) [0x8086be5]"... #4 0x080f16a2 in i_internal_fatal_handler (type=LOG_TYPE_PANIC, status=0, fmt=0x8109e2c "file %s: line %d (%s): assertion failed: (%s)", args=0xbfeaae44 ":\355\020\b\223\001") at failures.c:443 No locals. #5 0x080f1019 in i_panic ( format=0x8109e2c "file %s: line %d (%s): assertion failed: (%s)") at failures.c:207 No locals. #6 0x08088fa6 in maildir_uidlist_records_array_delete (uidlist=0x951b0b0, rec=0x9534500) at maildir-uidlist.c:403 recs = 0x9536fa0 __PRETTY_FUNCTION__ , context = 0x950feb8, module_contexts = {arr = {buffer = 0x950fe70, element_size = 4}, v = 0x950fe70, v_modifiable = 0x950fe70}, parser = 0x9512620, state = CLIENT_COMMAND_STATE_WAIT_INPUT, sync = 0x0, uid = 0, cancel = 0, param_error = 0, search_save_result = 0, temp_executed = 0} (gdb) quit ----- End forwarded message -----
--
David Halik System Administrator OIT-CSS Rutgers University dhalik@jla.rutgers.edu
-- Ralf Hildebrandt Geschäftsbereich IT | Abteilung Netzwerk Charité - Universitätsmedizin Berlin Campus Benjamin Franklin Hindenburgdamm 30 | D-12203 Berlin Tel. +49 30 450 570 155 | Fax: +49 30 450 570 962 ralf.hildebrandt@charite.de | http://www.charite.de