[Dovecot] Lazyexpunge and Segmentation fault

mailing at securitylabs.it mailing at securitylabs.it
Mon Nov 30 20:52:02 EET 2009


Timo Sirainen ha scritto:
> On Nov 30, 2009, at 9:25 AM, mailing at securitylabs.it wrote:
>
>   
>> Now every time I try to expunge a mailbox dovecot crash. Here the strace:
>>     
>
> strace is almost useless for figuring out why program crashes. Could you get gdb backtrace? See http://dovecot.org/bugreport.html
>   
Hello, Timo here gdb backtrace:

GNU gdb 6.8-debian
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later 
<http://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"...

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/i686/nosegneg/libdl.so.2...done.
Loaded symbols for /lib/i686/nosegneg/libdl.so.2
Reading symbols from /lib/i686/nosegneg/librt.so.1...done.
Loaded symbols for /lib/i686/nosegneg/librt.so.1
Reading symbols from /lib/i686/nosegneg/libc.so.6...done.
Loaded symbols for /lib/i686/nosegneg/libc.so.6
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/i686/nosegneg/libpthread.so.0...done.
Loaded symbols for /lib/i686/nosegneg/libpthread.so.0
Reading symbols from 
/usr/local/lib/dovecot/imap/lib02_lazy_expunge_plugin.so...done.
Loaded symbols for /usr/local/lib/dovecot/imap/lib02_lazy_expunge_plugin.so
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/lib20_mail_log_plugin.so...done.
Loaded symbols for /usr/local/lib/dovecot/imap/lib20_mail_log_plugin.so
Core was generated by `imap'.
Program terminated with signal 11, Segmentation fault.
[New process 32041]
#0  lazy_expunge_mail_expunge (_mail=0x9907ae8) at lazy-expunge-plugin.c:116
116                     lt->expunge_box = 
mailbox_open_or_create(deststorage,
(gdb) bt full
#0  lazy_expunge_mail_expunge (_mail=0x9907ae8) at lazy-expunge-plugin.c:116
        lt = (struct lazy_expunge_transaction *) 0x99079b8
#1  0x08069960 in imap_expunge (box=0x98db538, next_search_arg=0x0) at 
imap-expunge.c:35
        ctx = (struct mail_search_context *) 0x99079d0
        t = (struct mailbox_transaction_context *) 0x98fea28
        mail = (struct mail *) 0x9907ae8
        search_args = (struct mail_search_args *) 0x0
        expunges = true
#2  0x08061dc8 in cmd_expunge_finish (cmd=0x98d64d0, search_args=0x0) at 
cmd-expunge.c:27
        client = (struct client *) 0x98d6250
#3  0x08067b4c in client_command_input (cmd=0x98d64d0) at client.c:612
        client = (struct client *) 0x98d6250
        command = <value optimized out>
        __PRETTY_FUNCTION__ = "client_command_input"
#4  0x08067be9 in client_command_input (cmd=0x98d64d0) at client.c:661
        client = (struct client *) 0x98d6250
        command = <value optimized out>
        __PRETTY_FUNCTION__ = "client_command_input"
#5  0x08067d5d in client_handle_input (client=0x98d6250) at client.c:702
        _data_stack_cur_id = 3
        ret = false
        remove_io = <value optimized out>
        handled_commands = false
        __PRETTY_FUNCTION__ = "client_handle_input"
#6  0x080686bf in client_input (client=0x98d6250) at client.c:753
        cmd = <value optimized out>
        output = (struct ostream *) 0x98d6404
        bytes = <value optimized out>
        __PRETTY_FUNCTION__ = "client_input"
#7  0x080fb8c0 in io_loop_handler_run (ioloop=0x98d19b0) at 
ioloop-epoll.c:208
        ctx = (struct ioloop_handler_context *) 0x98d1ab8
        event = (const struct epoll_event *) 0x98d1af8
        list = (struct io_list *) 0x98d4228
        io = (struct io_file *) 0x98d6460
        tv = {tv_sec = 1799, tv_usec = 999278}
        t_id = 2
        msecs = <value optimized out>
        ret = 1
        i = 0
        j = 0
        call = <value optimized out>
#8  0x080fad30 in io_loop_run (ioloop=0x98d19b0) at ioloop.c:335
No locals.
#9  0x0807119a in main (argc=Cannot access memory at address 0xc
) at main.c:327
No locals.


>
> Did you migrate to Dovecot from another server? Sounds anyway like TB is configured to have "INBOX." namespace prefix or something like that. Or possibly it's caching wrong hierarchy separator and you need to recreate the account in TB.
>   
With a different version of TB on another computer this does not happen, tomorrow I will try to recreate the account on the problematic TB.

Thanks, Igor




More information about the dovecot mailing list