[Dovecot] [Dovecot 2.1] imap service crash when using some clients

interfaSys sàrl interfasys at gmail.com
Thu Feb 16 19:04:33 EET 2012


That patch didn't fix it, but I've now compiled Dovecot without LTO and
got even more info :)

Core was generated by `imap'.
Program terminated with signal 11, Segmentation fault.
Reading symbols from /usr/lib/dovecot/libdovecot-storage.so.0...done.
Loaded symbols for /usr/lib/dovecot/libdovecot-storage.so.0
Reading symbols from /usr/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /usr/lib/dovecot/libdovecot.so.0
Reading symbols from /lib/libc.so.7...done.
Loaded symbols for /lib/libc.so.7
Reading symbols from /usr/lib/librt.so.1...done.
Loaded symbols for /usr/lib/librt.so.1
Reading symbols from /usr/lib/dovecot/lib01_acl_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib01_acl_plugin.so
Reading symbols from /usr/lib/dovecot/lib02_imap_acl_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib02_imap_acl_plugin.so
Reading symbols from /usr/lib/dovecot/lib10_quota_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib10_quota_plugin.so
Reading symbols from /usr/lib/dovecot/lib11_imap_quota_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib11_imap_quota_plugin.so
Reading symbols from /usr/lib/dovecot/lib11_trash_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib11_trash_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_autocreate_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_autocreate_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_fts_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_fts_plugin.so
Reading symbols from /usr/lib/dovecot/lib20_zlib_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib20_zlib_plugin.so
Reading symbols from /lib/libz.so.5...done.
Loaded symbols for /lib/libz.so.5
Reading symbols from /usr/lib/libbz2.so.4...done.
Loaded symbols for /usr/lib/libbz2.so.4
Reading symbols from /usr/lib/dovecot/lib21_fts_squat_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib21_fts_squat_plugin.so
Reading symbols from /usr/lib/dovecot/lib30_imap_zlib_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib30_imap_zlib_plugin.so
Reading symbols from /usr/lib/dovecot/lib90_antispam_plugin.so...done.
Loaded symbols for /usr/lib/dovecot/lib90_antispam_plugin.so
Reading symbols from /libexec/ld-elf.so.1...done.
Loaded symbols for /libexec/ld-elf.so.1
#0  0x00000000105954b6 in imap_match (glob=0x0, data=0x10aa01d8
"INBOX/spam") at array.h:189
189     array.h: No such file or directory.
        in array.h
(gdb) bt full
#0  0x00000000105954b6 in imap_match (glob=0x0, data=0x10aa01d8
"INBOX/spam") at array.h:189
        ctx = {inboxcase_end = 0x7fffffffe7d0 "\237\004", sep = 64 '@',
inboxcase = 248}
        i = 0
        ret = IMAP_MATCH_NO
        match = IMAP_MATCH_NO
#1  0x000000001049a119 in autocreate_iter_autobox (ctx=0x10a0f840,
autobox=0x10a0f9a8) at mailbox-list-iter.c:88
        actx = (struct mailbox_list_autocreate_iterate_context *) 0x10a0f918
        match = 32767
        __FUNCTION__ = "autocreate_iter_autobox"
#2  0x000000001049a484 in autocreate_iter_next (ctx=0x10a0f840) at
mailbox-list-iter.c:88
        actx = (struct mailbox_list_autocreate_iterate_context *) 0x10a0f918
        info = (const struct mailbox_info *) 0x0
        autoboxes = (const struct autocreate_box *) 0x10a0f9a8
        autobox = (const struct autocreate_box *) 0x10a0f9a8
        count = 1
        __FUNCTION__ = "autocreate_iter_next"
#3  0x000000001049a561 in mailbox_list_iter_next (ctx=0x10a0f840) at
mailbox-list-iter.c:88
        info = (const struct mailbox_info *) 0x7fffffffe86c
#4  0x000000000040d06a in list_namespace_mailboxes (ctx=0x10a3f158) at
array.h:189
        info = (const struct mailbox_info *) 0x10a0f920
        ns = (struct mail_namespace *) 0x0
        flags = 536870916
        str = (string_t *) 0x10a04290
        mutf7_name = (string_t *) 0x10a043e0
        name = 0x10a10040 "INBOX"
        ret = 1
#5  0x000000000040dc25 in cmd_list_continue (cmd=0x10a3f040) at array.h:189
        _data_stack_cur_id = 4
        ctx = (struct cmd_list_context *) 0x10a3f158
        ret = 0
#6  0x000000000040e3b7 in cmd_list_full (cmd=0x10a3f040, lsub=false) at
array.h:189
        client = (struct client *) 0x10a3e840
        args = (const struct imap_arg *) 0x10aa4118
        list_args = (const struct imap_arg *) 0x10aa4340
        arg_count = 1
        ctx = (struct cmd_list_context *) 0x10a3f158
        patterns = {arr = {buffer = 0x10a3f1a8, element_size = 8}, v =
0x10a3f1a8, v_modifiable = 0x10a3f1a8}
        pattern = 0x10a04268 "INBOX"
        patterns_strarr = (const char * const *) 0x10a3f1e0
        str = (string_t *) 0x10a041f0
#7  0x000000000040e40c in cmd_list (cmd=0x10a3f040) at array.h:189
No locals.
#8  0x00000000004140a0 in command_exec (cmd=0x10a3f040) at
imap-commands.c:90
        hook = (const struct command_hook *) 0x10a22200
        ret = false
#9  0x00000000004130b9 in client_command_input (cmd=0x10a3f040) at
imap-client.c:94
        client = (struct client *) 0x10a3e840
        command = (struct command *) 0x7fff00000001
        __FUNCTION__ = "client_command_input"
#10 0x000000000041337d in client_handle_next_command (client=0x10a3e840,
remove_io_r=0x7fffffffea6d) at imap-client.c:94
        size = 279029312
#11 0x00000000004134c3 in client_handle_input (client=0x10a3e840) at
imap-client.c:94
        _data_stack_cur_id = 3
        ret = false
        remove_io = false
        handled_commands = false
        __FUNCTION__ = "client_handle_input"
#12 0x0000000000413639 in client_input (client=0x10a3e840) at
imap-client.c:94
        cmd = (struct client_command_context *) 0x10a20178
        output = (struct ostream *) 0x10a1a6c8
        bytes = 2
        __FUNCTION__ = "client_input"
#13 0x00000000105cf961 in io_loop_call_io (io=0x10a22ec0) at ioloop.c:26
        ioloop = (struct ioloop *) 0x10a20040
        t_id = 2
#14 0x00000000105d1382 in io_loop_handler_run (ioloop=0x10a20040) at
array.h:189
        ctx = (struct ioloop_handler_context *) 0x10a21080
        events = (struct kevent *) 0x10a27000
        event = (const struct kevent *) 0x10a27000
        tv = {tv_sec = 1799, tv_usec = 999243}
        ts = {tv_sec = 1799, tv_nsec = 999243000}
        io = (struct io_file *) 0x10a22ec0
        events_count = 6
        ret = 1
        i = 0
        __FUNCTION__ = "io_loop_handler_run"
#15 0x00000000105cfa04 in io_loop_run (ioloop=0x10a20040) at ioloop.c:26
No locals.
#16 0x00000000105b3f1c in master_service_run (service=0x10a1a140,
callback=0x41f71b <client_connected>) at master-service.c:74
No locals.
#17 0x000000000041fa23 in main (argc=1, argv=0x7fffffffec60) at main.c:68
        set_roots = {0x422d80, 0x0}
        login_set = {auth_socket_path = 0x10a04068
"/var/run/dovecot/auth-master", postlogin_socket_path = 0x0,
postlogin_timeout_secs = 60,
  callback = 0x41f514 <login_client_connected>, failure_callback =
0x41f692 <login_client_failed>}
        service_flags = MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN
        storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT
        username = 0x0
        c = -1



On 16/02/2012 16:18, Timo Sirainen wrote:
> On 16.2.2012, at 3.12, interfaSys sàrl wrote:
> 
>> Here is a more meanigful backtrace. It happens every time I log in,
>> using any imap client.
> ..
>> #0  0x00000000105e0d88 in imap_match () from
>> /usr/lib/dovecot/libdovecot.so.0
>> No symbol table info available.
>> #1  0x00000000104e82e5 in autocreate_iter_autobox.20436.5667 () from
>> /usr/lib/dovecot/libdovecot-storage.so.0
>> No symbol table info available.
> 
> Still debug symbols missing from libraries, but .. perhaps this fixes it? http://hg.dovecot.org/dovecot-2.1/rev/72e1e17d2e22
> 
> I don't know why it would happen with all imap clients though. And if that doesn't solve it, show your doveconf -n output.
> 
> 


More information about the dovecot mailing list