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

interfaSys sàrl interfasys at gmail.com
Thu Feb 16 03:12:07 EET 2012


Hello,

Here is a more meanigful backtrace. It happens every time I log in,
using any imap client.


*********************
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  0x00000000105e0d88 in imap_match () from
/usr/lib/dovecot/libdovecot.so.0
(gdb) bt full
#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.
#2  0x00000000104e6eda in autocreate_iter_next.20443 () from
/usr/lib/dovecot/libdovecot-storage.so.0
No symbol table info available.
#3  0x00000000104dd72e in mailbox_list_iter_next () from
/usr/lib/dovecot/libdovecot-storage.so.0
No symbol table info available.
#4  0x0000000000416351 in list_namespace_mailboxes.7882 (ctx=0x10a3f158)
at cmd-list.c:408
        info = (const struct mailbox_info *) 0x10a0f920
        ns = (struct mail_namespace *) 0x0
        flags = 536870916
        str = (struct buffer *) 0x10a04290
        mutf7_name = (struct buffer *) 0x10a043e0
        name = (const __unknown__ *) 0x10a10040 "INBOX"
        ret = 1
#5  0x000000000041c2ac in cmd_list_continue (cmd=0x10a3f040) at
cmd-list.c:823
        _data_stack_cur_id = 4
        ctx = (struct cmd_list_context *) 0x10a3f158
        ret = 0
#6  0x000000000041c1d0 in cmd_list_full (cmd=0x10a3f040, lsub=false) at
cmd-list.c:999
        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 = (const __unknown__ *) 0x10a04268 "INBOX"
        patterns_strarr = (const __unknown__ * const *) 0x10a3f1e0
        str = (struct buffer *) 0x10a041f0
#7  0x000000000041bc80 in cmd_list (cmd=0x10a3f040) at cmd-list.c:1014
No locals.
#8  0x0000000000411264 in command_exec (cmd=0x10a3f040) at
imap-commands.c:147
        hook = (const struct command_hook *) 0x10a22200
        ret = false
#9  0x000000000040df3c in client_command_input (cmd=0x10a3f040) at
imap-client.c:673
        client = (struct client *) 0x10a3e840
        command = (struct command *) 0x7fff00000001
        __FUNCTION__ = "client_command_input"
        __FUNCTION__ = "client_command_input"
#10 0x000000000040de42 in client_handle_next_command (client=0x10a3e840,
remove_io_r=0x7fffffffea6d) at imap-client.c:740
        size = 279029312
#11 0x000000000040d7b5 in client_handle_input (client=0x10a3e840) at
imap-client.c:777
        _data_stack_cur_id = 3
        ret = false
        remove_io = false
        handled_commands = false
        __FUNCTION__ = "client_handle_input"
        __FUNCTION__ = "client_handle_input"
#12 0x000000000040d35c in client_input (client=0x10a3e840) at
imap-client.c:816
        cmd = (struct client_command_context *) 0x10a20178
        output = (struct ostream *) 0x10a1a6c8
        bytes = 2
        __FUNCTION__ = "client_input"
        __FUNCTION__ = "client_input"
#13 0x00000000105cdffa in io_loop_call_io () from
/usr/lib/dovecot/libdovecot.so.0
No symbol table info available.
#14 0x00000000105c1e16 in io_loop_handler_run () from
/usr/lib/dovecot/libdovecot.so.0
No symbol table info available.
#15 0x00000000105c1cc4 in io_loop_run () from
/usr/lib/dovecot/libdovecot.so.0
No symbol table info available.
#16 0x00000000105c19ff in master_service_run () from
/usr/lib/dovecot/libdovecot.so.0
No symbol table info available.
#17 0x000000000041eda9 in main (argc=1, argv=0x7fffffffec60) at main.c:384
        set_roots = {0x4230c0, 0x0}
        login_set = {auth_socket_path = 0x10a04068
"/var/run/dovecot/auth-master", postlogin_socket_path = 0x0,
postlogin_timeout_secs = 60,
  callback = 0x41ede9 <login_client_connected>, failure_callback =
0x4190af <login_client_failed.21250>}
        service_flags = MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN
        storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT
        username = (const __unknown__ *) 0x0
        c = -1
        set_roots = {0x4230c0, 0x0}
******************

Cheers,

Olivier



On 13/02/2012 00:49, Timo Sirainen wrote:
> On 13.2.2012, at 2.02, interfaSys sàrl wrote:
> 
>> #0  0x00000000105c64e7 in imap_match () from
>> /usr/lib/dovecot/libdovecot.so.0
>> No symbol table info available.
>> #1  0x00000000104b4bf6 in mailbox_list_iter_next () from
>> /usr/lib/dovecot/libdovecot-storage.so.0
>> No symbol table info available.
>> #2  0x0000000000416b99 in cmd_list_continue.6853 ()
>> No symbol table info available.
>> #3  0x000000000042166d in cmd_list_full ()
> 
> This crash looks interesting, but unfortunately the libraries are stripped of debug symbols so I can't really guess why it would crash here. By default Dovecot includes them, so you must have stripped them yourself. Can you get another backtrace with debug symbols enabled?
> 
> Or alternatively can you look at what IMAP command Horde sends that crashes Dovecot? http://wiki2.dovecot.org/Debugging/Rawlog shows one way of recording the IMAP traffic.
> 
> 


More information about the dovecot mailing list