[Dovecot] doveadm backup panic

Gedalya gedalya at gedalya.net
Fri Jun 15 21:50:09 EEST 2012


On 06/15/2012 02:43 PM, Gedalya wrote:
> using latest auto build didn't help.
> this happens only with a specific account.
>
> # doveadm -o imapc_user=----- at domain.com -o imapc_password=---- backup 
> -u =----- at domain.com -R imapc:
> dsync(---- at domain.com): Panic: pool_data_stack_realloc(): stack frame 
> changed
> dsync(---- at domain.com): Error: Raw backtrace: 
> /usr/lib/dovecot/libdovecot.so.0(+0x4209a) [0xb762b09a] -> 
> /usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x41) 
> [0xb762b1a1] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) 
> [0xb75fd99e] -> /usr/lib/dovecot/libdovecot.so.0(+0x547ce) 
> [0xb763d7ce] -> /usr/lib/dovecot/libdovecot.so.0(+0x3ebf9) 
> [0xb7627bf9] -> 
> /usr/lib/dovecot/libdovecot.so.0(buffer_get_space_unsafe+0x78) 
> [0xb7628658] -> 
> /usr/lib/dovecot/libdovecot.so.0(buffer_append_space_unsafe+0x2a) 
> [0xb762875a] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x60005) 
> [0xb76dc005] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x62aa9) 
> [0xb76deaa9] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x66e61) 
> [0xb76e2e61] -> 
> /usr/lib/dovecot/libdovecot-storage.so.0(imapc_connection_input_pending+0x14d) 
> [0xb76e3a3d] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x67aac) 
> [0xb76e3aac] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x44) 
> [0xb763a034] -> 
> /usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xce) 
> [0xb763ae8e] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) 
> [0xb76399d0] -> 
> /usr/lib/dovecot/libdovecot-storage.so.0(imapc_client_run+0xa7) 
> [0xb76e0297] -> 
> /usr/lib/dovecot/libdovecot-storage.so.0(imapc_storage_run+0x26) 
> [0xb76df1e6] -> 
> /usr/lib/dovecot/libdovecot-storage.so.0(imapc_mailbox_sync_init+0x6de) [0xb76ddfde] 
> -> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x3b) 
> [0xb76f468b] -> 
> /usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x3c) 
> [0xb76f47cc] -> doveadm() [0x8072510] -> doveadm() [0x8072789] -> 
> doveadm() [0x80729b2] -> doveadm(dsync_worker_msg_iter_next+0x29) 
> [0x8070a69] -> doveadm() [0x806b6e1] -> doveadm() [0x806b736] -> 
> doveadm(dsync_brain_msg_sync_more+0x4cb) [0x806bc7b] -> 
> doveadm(dsync_brain_sync+0x3bb) [0x806a3ab]
> Aborted
>

gdb:

Starting program: /usr/bin/doveadm -o imapc_user=mailaccount at domain.com 
-o imapc_password=******* backup -u mailaccount at domain.com -R imapc:
[Thread debugging using libthread_db enabled]
Using host libthread_db library 
"/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1".
dsync(mailaccount at domain.com): Panic: pool_data_stack_realloc(): stack 
frame changed
dsync(mailaccount at domain.com): Error: Raw backtrace: 
/usr/lib/dovecot/libdovecot.so.0(+0x4209a) [0xb7e4d09a] -> 
/usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x41) 
[0xb7e4d1a1] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0xb7e1f99e] 
-> /usr/lib/dovecot/libdovecot.so.0(+0x547ce) [0xb7e5f7ce] -> 
/usr/lib/dovecot/libdovecot.so.0(+0x3ebf9) [0xb7e49bf9] -> 
/usr/lib/dovecot/libdovecot.so.0(buffer_get_space_unsafe+0x78) 
[0xb7e4a658] -> 
/usr/lib/dovecot/libdovecot.so.0(buffer_append_space_unsafe+0x2a) 
[0xb7e4a75a] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x60005) 
[0xb7efe005] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x62aa9) 
[0xb7f00aa9] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x66e61) 
[0xb7f04e61] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(imapc_connection_input_pending+0x14d) 
[0xb7f05a3d] -> /usr/lib/dovecot/libdovecot-storage.so.0(+0x67aac) 
[0xb7f05aac] -> /usr/lib/dovecot/libdovecot.so.0(io_loop_call_io+0x44) 
[0xb7e5c034] -> 
/usr/lib/dovecot/libdovecot.so.0(io_loop_handler_run+0xce) [0xb7e5ce8e] 
-> /usr/lib/dovecot/libdovecot.so.0(io_loop_run+0x40) [0xb7e5b9d0] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(imapc_client_run+0xa7) 
[0xb7f02297] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(imapc_storage_run+0x26) 
[0xb7f011e6] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(imapc_mailbox_sync_init+0x6de) 
[0xb7efffde] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync_init+0x3b) 
[0xb7f1668b] -> 
/usr/lib/dovecot/libdovecot-storage.so.0(mailbox_sync+0x3c) [0xb7f167cc] 
-> /usr/bin/doveadm() [0x8072510] -> /usr/bin/doveadm() [0x8072789] -> 
/usr/bin/doveadm() [0x80729b2] -> 
/usr/bin/doveadm(dsync_worker_msg_iter_next+0x29) [0x8070a69] -> 
/usr/bin/doveadm() [0x806b6e1] -> /usr/bin/doveadm() [0x806b736] -> 
/usr/bin/doveadm(dsync_brain_msg_sync_more+0x4cb) [0x806bc7b] -> 
/usr/bin/doveadm(dsync_brain_sync+0x3bb) [0x806a3ab]

Program received signal SIGABRT, Aborted.
0xb7fe1424 in __kernel_vsyscall ()
(gdb) bt full
#0 0xb7fe1424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7cd8941 in raise () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
No symbol table info available.
#2 0xb7cdbd72 in abort () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
No symbol table info available.
#3 0xb7e4d0b0 in default_fatal_finish (type=<optimized out>, 
status=<optimized out>) at failures.c:191
backtrace = 0x80930a0 "/usr/lib/dovecot/libdovecot.so.0(+0x4209a) 
[0xb7e4d09a] -> 
/usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x41) 
[0xb7e4d1a1] -> /usr/lib/dovecot/libdovecot.so.0(i_fatal+0) [0xb7e1f99e] 
-> /usr"...
#4 0xb7e4d1a1 in default_fatal_handler (ctx=0xbfffef94, 
format=0xb7e7a2e8 "pool_data_stack_realloc(): stack frame changed",
args=0xbfffefb4 "U\001") at failures.c:205
status = 0
#5 0xb7e1f99e in i_panic (format=0xb7e7a2e8 "pool_data_stack_realloc(): 
stack frame changed") at failures.c:263
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
args = 0xbfffefb4 "U\001"
#6 0xb7e5f7ce in pool_data_stack_realloc (pool=0x8092fd0, mem=0x8093000, 
old_size=32, new_size=64) at mempool-datastack.c:118
dpool = 0x8092fd0
#7 0xb7e49bf9 in buffer_alloc (buf=0x8092fe0, size=64) at buffer.c:32
__FUNCTION__ = "buffer_alloc"
#8 0xb7e4a658 in buffer_check_limits (data_size=4, pos=32, 
buf=0x8092fe0) at buffer.c:64
new_size = 36
#9 buffer_get_space_unsafe (_buf=0x8092fe0, pos=32, size=4) at buffer.c:273
buf = 0x8092fe0
#10 0xb7e4a75a in buffer_append_space_unsafe (buf=0x8092fe0, size=4) at 
buffer.c:279
No locals.
#11 0xb7efe005 in array_append_space_i (array=<synthetic pointer>) at 
../../../../src/lib/array.h:232
data = <optimized out>
#12 imapc_untagged_fetch (reply=0xbffff184, mbox=0x80fd2c8) at 
imapc-mailbox.c:349
old_kws = {arr = {buffer = 0x8093030, element_size = 4}, v = 0x8093030, 
v_modifiable = 0x8093030}
kw = <optimized out>
_data_stack_cur_id = 6
lseq = 341
rseq = 341
mailp = <optimized out>
list = 0x80c72c8
flags_list = 0x80c7458
atom = 0x80c7570 "679"
rec = <optimized out>
flags = MAIL_SEEN
---Type <return> to continue, or q <return> to quit---
fetch_uid = 679
uid = 679
i = <optimized out>
j = <optimized out>
keywords = {arr = {buffer = 0x8092fe0, element_size = 4}, v = 0x8092fe0, 
v_modifiable = 0x8092fe0}
seen_flags = <optimized out>
__FUNCTION__ = "imapc_untagged_fetch"
#13 0xb7f00aa9 in imapc_storage_untagged_cb (reply=0xbffff184, 
context=0x80c53e8) at imapc-storage.c:170
mcb__foreach_end = 0x80fd648
storage = 0x80c53e8
mbox = 0x80fd2c8
cb = <optimized out>
mcb = 0x80fd638
#14 0xb7f04e61 in imapc_connection_input_untagged (conn=0x80c1950) at 
imapc-connection.c:906
imap_args = 0x80c7228
name = 0x80c72a0 "FETCH"
value = <optimized out>
parser = 0x80c7170
reply = {name = 0x80c72a0 "FETCH", num = 341, args = 0x80c7228, 
file_args = 0x80c1b08, file_args_count = 0, resp_text_key = 0x0,
resp_text_value = 0x0, untagged_box_context = 0x80fd2c8}
ret = <optimized out>
#15 0xb7f05a3d in imapc_connection_input_one (conn=0x80c1950) at 
imapc-connection.c:1061
tag = 0x80c7290 "*"
ret = -1
#16 imapc_connection_input_pending (conn=0x80c1950) at 
imapc-connection.c:1407
_data_stack_cur_id = 5
ret = <optimized out>
#17 0xb7f05aac in imapc_connection_input (conn=0x80c1950) at 
imapc-connection.c:1100
errstr = <optimized out>
ret = <optimized out>
#18 0xb7e5c034 in io_loop_call_io (io=0x80d3d28) at ioloop.c:379
ioloop = 0x81655e0
t_id = 4
#19 0xb7e5ce8e in io_loop_handler_run (ioloop=0x81655e0) at 
ioloop-epoll.c:213
ctx = 0x80d3d58
events = 0x0
event = 0x80dec28
list = 0x80e3bb0
io = <optimized out>
---Type <return> to continue, or q <return> to quit---
tv = {tv_sec = 299, tv_usec = 999988}
events_count = 1
msecs = <optimized out>
ret = 1
i = <optimized out>
j = <optimized out>
call = <optimized out>
#20 0xb7e5b9d0 in io_loop_run (ioloop=0x81655e0) at ioloop.c:398
No locals.
#21 0xb7f02297 in imapc_client_run_pre (client=<optimized out>) at 
imapc-client.c:142
connp = <optimized out>
prev_ioloop = 0x80984c8
#22 imapc_client_run (client=0x80c5bf0) at imapc-client.c:161
No locals.
#23 0xb7f011e6 in imapc_storage_run (storage=0x80c53e8) at 
imapc-storage.c:118
No locals.
#24 0xb7efffde in imapc_sync_index (ctx=0x80e6bb8) at imapc-sync.c:351
mbox = 0x80fd2c8
sync_rec = {uid1 = 3221222620, uid2 = 3086630900, type = 134997136, 
add_flags = 244 '\364', remove_flags = 63 '?',
keyword_idx = 3085040665, guid_128 = 
"mK\361\267,\364\377\277\334\364\377\277\060\346\f\b"}
seq1 = 3085537268
seq2 = 135130168
#25 imapc_sync_begin (force=<optimized out>, ctx_r=<synthetic pointer>, 
mbox=0x80fd2c8) at imapc-sync.c:422
ctx = 0x80e6bb8
sync_flags = <optimized out>
ret = <optimized out>
#26 imapc_sync (mbox=0x80fd2c8) at imapc-sync.c:464
sync_ctx = <optimized out>
force = <optimized out>
#27 imapc_mailbox_sync_init (box=0x80fd2c8, 
flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at imapc-sync.c:498
mbox = 0x80fd2c8
capabilities = <optimized out>
changes = false
ret = <optimized out>
#28 0xb7f1668b in mailbox_sync_init (box=0x80fd2c8, 
flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at mail-storage.c:1320
_data_stack_cur_id = 3
ctx = <optimized out>
#29 0xb7f167cc in mailbox_sync (box=0x80fd2c8, 
flags=MAILBOX_SYNC_FLAG_FIX_INCONSISTENT) at mail-storage.c:1368
ctx = <optimized out>
---Type <return> to continue, or q <return> to quit---
status = {sync_delayed_expunges = 0}
#30 0x08072510 in local_mailbox_open (guid=0x80e0e18, box_r=0xbffff4dc, 
worker=<optimized out>) at dsync-worker-local.c:791
lbox = 0x80ce610
box = 0x80fd2c8
metadata = {guid = "\210y\236\267\210\364\377\277\r\rҷ`\006\000", 
virtual_size = 13252281656649187328, cache_fields = 0x80fd2b8,
precache_fields = 3080616300}
#31 0x08072789 in iter_local_mailbox_open (iter=0x80ec1e8) at 
dsync-worker-local.c:826
worker = 0x80ce348
guid = 0x80e0e18
box = <optimized out>
search_args = <optimized out>
ret = <optimized out>
#32 0x080729b2 in local_worker_msg_iter_next (_iter=0x80ec1e8, 
mailbox_idx_r=0xb79e7988, msg_r=0xb79e796c) at dsync-worker-local.c:972
iter = 0x80ec1e8
mail = <optimized out>
guid = <optimized out>
#33 0x08070a69 in dsync_worker_msg_iter_next (iter=0x80ec1e8, 
mailbox_idx_r=0xb79e7988, msg_r=0xb79e796c) at dsync-worker.c:122
_data_stack_cur_id = 2
ret = <optimized out>
#34 0x0806b6e1 in dsync_brain_msg_iter_next (iter=0xb79e7960) at 
dsync-brain-msgs.c:84
ret = 1
#35 0x0806b736 in dsync_brain_msg_sync_mailbox_end (iter1=0xb79e7960, 
iter2=0xb79e79b8) at dsync-brain-msgs.c:360
ret = <optimized out>
#36 0x0806bc7b in dsync_brain_msg_sync_mailbox_more (sync=<optimized 
out>) at dsync-brain-msgs.c:392
No locals.
#37 dsync_brain_msg_sync_more (sync=0xb79e7028) at dsync-brain-msgs.c:407
mailboxes = 0xb79e7070
count = 26
mailbox_idx = <optimized out>
#38 0x0806a3ab in dsync_brain_sync_msgs (brain=<optimized out>) at 
dsync-brain.c:736
mailboxes = {arr = {buffer = 0x80f6ab8, element_size = 88}, v = 
0x80f6ab8, v_modifiable = 0x80f6ab8}
pool = 0x80f6aa8
ret = <optimized out>
#39 dsync_brain_sync (brain=0x80c1b70) at dsync-brain.c:857
No locals.
#40 dsync_brain_sync (brain=0x80c1b70) at dsync-brain.c:815
No locals.
#41 0x0806b202 in dsync_brain_subs_list_finished (brain=<optimized out>) 
at dsync-brain.c:169
No locals.
---Type <return> to continue, or q <return> to quit---
#42 dsync_worker_subs_input (context=0x80ed188) at dsync-brain.c:222
list = 0x80ed188
subs = {vname = 0x0, storage_name = 0x0, ns_prefix = 0x0, last_change = 0}
unsubs = {name_sha1 = {guid = '\000' <repeats 15 times>}, ns_prefix = 
0x0, last_change = 0}
ret = <optimized out>
#43 0x0806a715 in dsync_brain_sync (brain=0x80c1b70) at dsync-brain.c:842
No locals.
#44 dsync_brain_sync (brain=0x80c1b70) at dsync-brain.c:815
No locals.
#45 0x0806b060 in dsync_brain_mailbox_list_finished (brain=<optimized 
out>) at dsync-brain.c:98
No locals.
#46 dsync_worker_mailbox_input (context=0x80d73c8) at dsync-brain.c:125
list = 0x80d73c8
dsync_box = {name = 0x0, name_sep = 0 '\000', name_sha1 = {guid = '\000' 
<repeats 15 times>}, mailbox_guid = {
guid = '\000' <repeats 15 times>}, uid_validity = 0, uid_next = 0, 
message_count = 0, first_recent_uid = 0,
highest_modseq = 0, last_change = 0, flags = 0, cache_fields = {arr = 
{buffer = 0x0, element_size = 0}, v = 0x0,
v_modifiable = 0x0}}
dup_box = 0x80d1cd0
ret = <optimized out>
#47 0x0806a755 in dsync_brain_sync (brain=0x80c1b70) at dsync-brain.c:833
No locals.
#48 dsync_brain_sync (brain=0x80c1b70) at dsync-brain.c:815
No locals.
#49 0x0806b298 in dsync_brain_sync_all (brain=0x80c1b70) at 
dsync-brain.c:897
old_state = DSYNC_STATE_GET_MAILBOXES
__FUNCTION__ = "dsync_brain_sync_all"
#50 0x08068445 in cmd_dsync_start (ctx=0x809ef98, worker1=<optimized 
out>, worker2=<optimized out>) at doveadm-dsync.c:342
brain = 0x80c1b70
#51 0x08068aa7 in cmd_dsync_run (_ctx=0x809ef98, user=0x80b4020) at 
doveadm-dsync.c:387
ctx = 0x809ef98
worker1 = 0x80ce348
worker2 = 0x80ba350
workertmp = <optimized out>
lock_path = <optimized out>
lock = 0x809efc4
lock_fd = <optimized out>
ret = 0
#52 0x08054510 in doveadm_mail_next_user (error_r=0xbffffa5c, 
ctx=0x809ef98, input=<optimized out>) at doveadm-mail.c:311
ret = 0
---Type <return> to continue, or q <return> to quit---
#53 doveadm_mail_next_user (ctx=0x809ef98, input=<optimized out>, 
error_r=0xbffffa5c) at doveadm-mail.c:270
error = <optimized out>
ret = <optimized out>
#54 0x08054fd0 in doveadm_mail_cmd (cmd=0x809d000, argc=<optimized out>, 
argv=0x80981e4) at doveadm-mail.c:518
input = {module = 0x0, service = 0x807b55c "doveadm", username = 
0x8098245 "mailaccount at domain.com", session_id = 0x0,
local_ip = {family = 0, u = {ip6 = {__in6_u = {__u6_addr8 = '\000' 
<repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0},
__u6_addr32 = {0, 0, 0, 0}}}, ip4 = {s_addr = 0}}}, remote_ip = {family 
= 0, u = {ip6 = {__in6_u = {
__u6_addr8 = '\000' <repeats 15 times>, __u6_addr16 = {0, 0, 0, 0, 0, 0, 
0, 0}, __u6_addr32 = {0, 0, 0, 0}}}, ip4 = {
s_addr = 0}}}, local_port = 0, remote_port = 0, userdb_fields = 0x0, 
flags_override_add = 0, flags_override_remove = 0,
no_userdb_lookup = 0}
ctx = 0x809ef98
getopt_args = <optimized out>
wildcard_user = 0x0
error = 0xb7cbb054 ""
ret = <optimized out>
c = <optimized out>
#55 0x08055489 in doveadm_mail_try_run (cmd_name=0x809823b "backup", 
argc=5, argv=0x80981d4) at doveadm-mail.c:577
cmd__foreach_end = 0x809d03c
cmd = 0x809d000
cmd_name_len = 6
__FUNCTION__ = "doveadm_mail_try_run"
#56 0x08054151 in main (argc=5, argv=0x80981d4) at doveadm.c:376
cmd_name = <optimized out>
i = <optimized out>
quick_init = false
c = <optimized out>



More information about the dovecot mailing list