[Dovecot] dsync crash

Vasiliy Shokov v.shokov at rittal.ru
Thu Sep 16 22:54:48 EEST 2010


>> #7  0x0014d9bd in mailbox_list_get_path () from
>> /usr/lib/dovecot/libdovecot-storage.so.0
>> No symbol table info available.
> ..
>> > (If it doesn't print the name, try a different number to "fr", it's
>> the
>> > mailbox_list_is_valid_pattern frame in the bt.)
>> >
>>
>> I didn't see this pattern in dump. Sorry, I'm not good in C/C++.
>
> Yeah, the problem is that the binaries are stripped out of debug
> symbols. Can you compile non-stripped ones? (It's the default, so how
> are you compiling Dovecot anyway?)
>
>

So, I get information. Sorry for long message.

bt full

#0  0x00126402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x002fbfc0 in raise () from /lib/libc.so.6
No symbol table info available.
#2  0x002fd8d1 in abort () from /lib/libc.so.6
No symbol table info available.
#3  0x00224aff in default_fatal_finish (type=<value optimized out>,
status=0) at failures.c:164
        backtrace = 0x96b21d8 "/usr/lib/dovecot/libdovecot.so.0 [0x224af0]
-> /usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x45)
[0x224be5] -> /usr/lib/dovecot/libdovecot.so.0 [0x224178] ->
/usr/lib/dovecot/libdovecot-sto"...
#4  0x00224be5 in default_fatal_handler (type=LOG_TYPE_PANIC, status=0,
format=0x1c9948 "file %s: line %d (%s): assertion failed: (%s)",
    args=0xbf8b0534 "\224'\035") at failures.c:176
No locals.
#5  0x00224178 in i_panic (format=0x1c9948 "file %s: line %d (%s):
assertion failed: (%s)") at failures.c:230
        args = 0xbf8b0534 "\224'\035"
#6  0x00181876 in fs_list_get_path (_list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list-fs.c:150
        set = (const struct mailbox_list_settings *) 0x96d4764
        root_dir = <value optimized out>
        __FUNCTION__ = "fs_list_get_path"
#7  0x0014d9bd in mailbox_list_get_path (list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list.c:696
No locals.
#8  0x00182734 in fs_list_subs (ctx=0x97119a8) at mailbox-list-fs-iter.c:683
        node = <value optimized out>
        flags = MAILBOX_SUBSCRIBED
        ns = (struct mail_namespace *) 0x96cc6e0
        path = <value optimized out>
        dir = <value optimized out>
        fname = <value optimized out>
        storage_name = 0x96b21a0 "/INBOX"
        st = {st_dev = 10736181289418848, __pad1 = 1544, __st_ino =
158015880, st_mode = 3213559416, st_nlink = 2351838, st_uid =
3213559304,
  st_gid = 3213559448, st_rdev = 9610569145384976, __pad2 = 0, st_size =
-4644611340797739008, st_blksize = 2499712, st_blocks = 73014444049,
st_atim = {
    tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim
= {tv_sec = -1081407944, tv_nsec = 2237248}, st_ino = 0}
#9  0x00182272 in fs_list_iter_next (_ctx=0x97119a8) at
mailbox-list-fs-iter.c:356
        _data_stack_cur_id = 2
        info = (const struct mailbox_info *) 0x0
        __FUNCTION__ = "fs_list_iter_next"
#10 0x0014da42 in mailbox_list_iter_next (ctx=0x97119a8) at
mailbox-list.c:1029
        info = <value optimized out>
#11 0x0014ec7f in mailbox_list_ns_iter_next (_ctx=0x9706210) at
mailbox-list.c:926
        info = (const struct mailbox_info *) 0x0
#12 0x0014da42 in mailbox_list_iter_next (ctx=0x9706210) at
mailbox-list.c:1029
        info = <value optimized out>
#13 0x080580a6 in local_worker_subs_iter_next (_iter=0x970d518,
rec_r=0xbf8b0734) at dsync-worker-local.c:672
        worker = <value optimized out>
        change_lookup = {name_sha1 = {guid = {62 '>', 22 '\026', 223 '▒',
168 '▒', 228 '▒', 61 '=', 188 '▒', 248 '▒', 128 '\200', 36 '$', 38
'&', 0 '\0',
      52 '4', 7 '\a', 139 '\213', 191 '▒'}}, list = 0x0, last_rename =
-1081407720, last_delete = 2233906, last_subs_change = 158378704,
unsubscribed = 0,
---Type <return> to continue, or q <return> to quit---
  deleted_dir = 0}
        info = <value optimized out>
        subs_ns = <value optimized out>
        storage_name = <value optimized out>
#14 0x0804ed08 in dsync_worker_subs_input (context=0x970aab0) at
dsync-brain.c:199
        subs = {vname = 0x0, storage_name = 0x0, ns_prefix = 0x0,
last_change = 0}
        unsubs = {name_sha1 = {guid = {192 '▒', 181 '▒', 176 '▒', 80 'P',
77 'M', 163 '▒', 226 '▒', 109 'm', 7 '\a', 203 '▒', 251 '▒', 123
'{', 197 '▒',
      215 '▒', 226 '▒', 214 '▒'}}, ns_prefix = 0x96e3b98 "", last_change =
1284621231}
        ret = <value optimized out>
#15 0x0804e067 in dsync_brain_sync (brain=0x96cc760) at dsync-brain.c:832
        __FUNCTION__ = "dsync_brain_sync"
#16 0x0804ef29 in dsync_worker_mailbox_input (context=0x96e5ee0) at
dsync-brain.c:99
        dsync_box = {name = 0x0, name_sep = 0 '\0', name_sha1 = {guid = {0
'\0' <repeats 16 times>}}, mailbox_guid = {guid = {0 '\0' <repeats
16 times>}},
  uid_validity = 0, uid_next = 0, message_count = 0, highest_modseq = 0,
last_change = 0, flags = 0, cache_fields = {arr = {buffer = 0x0,
      element_size = 0}, v = 0x0, v_modifiable = 0x0}}
        dup_box = (struct dsync_mailbox *) 0x96ff348
        ret = <value optimized out>
#17 0x0804e016 in dsync_brain_sync (brain=0x96cc760) at dsync-brain.c:823
        __FUNCTION__ = "dsync_brain_sync"
#18 0x0804ec08 in dsync_brain_sync_all (brain=0x96cc760) at dsync-brain.c:887
        __FUNCTION__ = "dsync_brain_sync_all"
#19 0x0804d06b in main (argc=Cannot access memory at address 0x5f
) at dsync.c:292
        set_parser = <value optimized out>
        ssflags = 134
        brain_flags = 10
        storage_service = (struct mail_storage_service_ctx *) 0x96ba310
        service_user = (struct mail_storage_service_user *) 0x96babd0
        input = {module = 0x805a371 "mail", service = 0x8058dc3 "dsync",
username = 0x96b91e9 "v.shokov", local_ip = {family = 0, u = {ip6
= {in6_u = {
          u6_addr8 = {0 '\0' <repeats 16 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 = {0 '\0' <repeats 16
times>}, u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, u6_addr32 = {0, 0, 0,
0}}}, ip4 = {
        s_addr = 0}}}, userdb_fields = 0x0}
        mail_user = (struct mail_user *) 0x96d06f0
        mail_user2 = (struct mail_user *) 0x96d7c98
        worker1 = (struct dsync_worker *) 0x96d4f00
        worker2 = (struct dsync_worker *) 0x96dcab8
        workertmp = <value optimized out>
        error = <value optimized out>
        username = 0x96b91e9 "v.shokov"
        cmd_name = 0x96b91f2 "mirror"
        mailbox = 0x0
        local_location = 0x96b91f9 "sdbox:/dsync/v.shokov"
        remote_cmd_args = (const char * const *) 0x0
        dsync_server = false
        unexpected_changes = <value optimized out>
        dsync_debug = true
---Type <return> to continue, or q <return> to quit---
        reverse_workers = false
        alt_char = 95 '_'
        c = <value optimized out>
        ret = <value optimized out>
        fd_in = <value optimized out>
        fd_out = <value optimized out>
        __FUNCTION__ = "main"
(gdb)
(gdb) fr 6
#6  0x00181876 in fs_list_get_path (_list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list-fs.c:150
150             i_assert(mailbox_list_is_valid_pattern(_list, name));
(gdb) fr 7
#7  0x0014d9bd in mailbox_list_get_path (list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list.c:696
696             return list->v.get_path(list, name, type);
(gdb) fr 6
#6  0x00181876 in fs_list_get_path (_list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list-fs.c:150
150             i_assert(mailbox_list_is_valid_pattern(_list, name));
(gdb) p name
$1 = 0x96b21a0 "/INBOX"
(gdb) bt full
#0  0x00126402 in __kernel_vsyscall ()
No symbol table info available.
#1  0x002fbfc0 in raise () from /lib/libc.so.6
No symbol table info available.
#2  0x002fd8d1 in abort () from /lib/libc.so.6
No symbol table info available.
#3  0x00224aff in default_fatal_finish (type=<value optimized out>,
status=0) at failures.c:164
        backtrace = 0x96b21d8 "/usr/lib/dovecot/libdovecot.so.0 [0x224af0]
-> /usr/lib/dovecot/libdovecot.so.0(default_fatal_handler+0x45)
[0x224be5] -> /usr/lib/dovecot/libdovecot.so.0 [0x224178] ->
/usr/lib/dovecot/libdovecot-sto"...
#4  0x00224be5 in default_fatal_handler (type=LOG_TYPE_PANIC, status=0,
format=0x1c9948 "file %s: line %d (%s): assertion failed: (%s)",
    args=0xbf8b0534 "\224'\035") at failures.c:176
No locals.
#5  0x00224178 in i_panic (format=0x1c9948 "file %s: line %d (%s):
assertion failed: (%s)") at failures.c:230
        args = 0xbf8b0534 "\224'\035"
#6  0x00181876 in fs_list_get_path (_list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list-fs.c:150
        set = (const struct mailbox_list_settings *) 0x96d4764
        root_dir = <value optimized out>
        __FUNCTION__ = "fs_list_get_path"
#7  0x0014d9bd in mailbox_list_get_path (list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list.c:696
No locals.
#8  0x00182734 in fs_list_subs (ctx=0x97119a8) at mailbox-list-fs-iter.c:683
        node = <value optimized out>
        flags = MAILBOX_SUBSCRIBED
        ns = (struct mail_namespace *) 0x96cc6e0
        path = <value optimized out>
        dir = <value optimized out>
        fname = <value optimized out>
        storage_name = 0x96b21a0 "/INBOX"
        st = {st_dev = 10736181289418848, __pad1 = 1544, __st_ino =
158015880, st_mode = 3213559416, st_nlink = 2351838, st_uid =
3213559304,
  st_gid = 3213559448, st_rdev = 9610569145384976, __pad2 = 0, st_size =
-4644611340797739008, st_blksize = 2499712, st_blocks = 73014444049,
st_atim = {
    tv_sec = 0, tv_nsec = 0}, st_mtim = {tv_sec = 0, tv_nsec = 0}, st_ctim
= {tv_sec = -1081407944, tv_nsec = 2237248}, st_ino = 0}
#9  0x00182272 in fs_list_iter_next (_ctx=0x97119a8) at
mailbox-list-fs-iter.c:356
        _data_stack_cur_id = 2
        info = (const struct mailbox_info *) 0x0
        __FUNCTION__ = "fs_list_iter_next"
#10 0x0014da42 in mailbox_list_iter_next (ctx=0x97119a8) at
mailbox-list.c:1029
        info = <value optimized out>
#11 0x0014ec7f in mailbox_list_ns_iter_next (_ctx=0x9706210) at
mailbox-list.c:926
        info = (const struct mailbox_info *) 0x0
#12 0x0014da42 in mailbox_list_iter_next (ctx=0x9706210) at
mailbox-list.c:1029
        info = <value optimized out>
#13 0x080580a6 in local_worker_subs_iter_next (_iter=0x970d518,
rec_r=0xbf8b0734) at dsync-worker-local.c:672
        worker = <value optimized out>
        change_lookup = {name_sha1 = {guid = {62 '>', 22 '\026', 223 '▒',
168 '▒', 228 '▒', 61 '=', 188 '▒', 248 '▒', 128 '\200', 36 '$', 38
'&', 0 '\0',
      52 '4', 7 '\a', 139 '\213', 191 '▒'}}, list = 0x0, last_rename =
-1081407720, last_delete = 2233906, last_subs_change = 158378704,
unsubscribed = 0,
        info = <value optimized out>
        subs_ns = <value optimized out>
        storage_name = <value optimized out>
#14 0x0804ed08 in dsync_worker_subs_input (context=0x970aab0) at
dsync-brain.c:199
        subs = {vname = 0x0, storage_name = 0x0, ns_prefix = 0x0,
last_change = 0}
        unsubs = {name_sha1 = {guid = {192 '▒', 181 '▒', 176 '▒', 80 'P',
77 'M', 163 '▒', 226 '▒', 109 'm', 7 '\a', 203 '▒', 251 '▒', 123
'{', 197 '▒',
      215 '▒', 226 '▒', 214 '▒'}}, ns_prefix = 0x96e3b98 "", last_change =
1284621231}
        ret = <value optimized out>
#15 0x0804e067 in dsync_brain_sync (brain=0x96cc760) at dsync-brain.c:832
        __FUNCTION__ = "dsync_brain_sync"
#16 0x0804ef29 in dsync_worker_mailbox_input (context=0x96e5ee0) at
dsync-brain.c:99
        dsync_box = {name = 0x0, name_sep = 0 '\0', name_sha1 = {guid = {0
'\0' <repeats 16 times>}}, mailbox_guid = {guid = {0 '\0' <repeats
16 times>}},
  uid_validity = 0, uid_next = 0, message_count = 0, highest_modseq = 0,
last_change = 0, flags = 0, cache_fields = {arr = {buffer = 0x0,
      element_size = 0}, v = 0x0, v_modifiable = 0x0}}
        dup_box = (struct dsync_mailbox *) 0x96ff348
        ret = <value optimized out>
#17 0x0804e016 in dsync_brain_sync (brain=0x96cc760) at dsync-brain.c:823
        __FUNCTION__ = "dsync_brain_sync"
#18 0x0804ec08 in dsync_brain_sync_all (brain=0x96cc760) at dsync-brain.c:887
        __FUNCTION__ = "dsync_brain_sync_all"
#19 0x0804d06b in main (argc=Cannot access memory at address 0x5f
) at dsync.c:292
        set_parser = <value optimized out>
        ssflags = 134
        brain_flags = 10
        storage_service = (struct mail_storage_service_ctx *) 0x96ba310
        service_user = (struct mail_storage_service_user *) 0x96babd0
        input = {module = 0x805a371 "mail", service = 0x8058dc3 "dsync",
username = 0x96b91e9 "v.shokov", local_ip = {family = 0, u = {ip6
= {in6_u = {
          u6_addr8 = {0 '\0' <repeats 16 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 = {0 '\0' <repeats 16
times>}, u6_addr16 = {0, 0, 0, 0, 0, 0, 0, 0}, u6_addr32 = {0, 0, 0,
0}}}, ip4 = {
        s_addr = 0}}}, userdb_fields = 0x0}
        mail_user = (struct mail_user *) 0x96d06f0
        mail_user2 = (struct mail_user *) 0x96d7c98
        worker1 = (struct dsync_worker *) 0x96d4f00
        worker2 = (struct dsync_worker *) 0x96dcab8
        workertmp = <value optimized out>
        error = <value optimized out>
        username = 0x96b91e9 "v.shokov"
        cmd_name = 0x96b91f2 "mirror"
        mailbox = 0x0
        local_location = 0x96b91f9 "sdbox:/dsync/v.shokov"
        remote_cmd_args = (const char * const *) 0x0
        dsync_server = false
        unexpected_changes = <value optimized out>
        dsync_debug = true
        reverse_workers = false
        alt_char = 95 '_'
        c = <value optimized out>
        ret = <value optimized out>
        fd_in = <value optimized out>
        fd_out = <value optimized out>
        __FUNCTION__ = "main"



fr 6

#6  0x00181876 in fs_list_get_path (_list=0x96d46f8, name=0x96b21a0
"/INBOX", type=MAILBOX_LIST_PATH_TYPE_DIR) at mailbox-list-fs.c:150
150             i_assert(mailbox_list_is_valid_pattern(_list, name));


p name

$1 = 0x96b21a0 "/INBOX"


Kind regards,

Vasiliy Shokov



More information about the dovecot mailing list