[Dovecot] Crash in pop3 with version 2.2.12

Urban Loesch bind at enas.net
Fri Mar 28 08:04:00 UTC 2014


Hi,

today I upgraded to version 2.2.12 under Debian Squeeze.
I saw some people on the list they had the same problems with version 2.2.11, but which should have been fixed in version 2.2.12.

My logfile shows:

..
Mar 28 08:25:01 mailstore dovecot: pop3-login: Login: user=<ul at domain.net>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, mpid=34568, secured,
session=<Jp6RmaX1YAB/AAAB>
Mar 28 08:25:06 mailstore dovecot: pop3(ul at domain.net pid:34568 session:<Jp6RmaX1YAB/AAAB>): Fatal: master: service(pop3): child 34568 killed with
signal 11 (core dumped)
...

I made some more dubugging and I found that the pop3 process crashed on the "uidl" command.
Here my output from telnet session:

..
root at mailstore: #  telnet localhost 110
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
+OK Dovecot ready.
user ul at domain.net
+OK
pass PASS
+OK Logged in.
list
+OK 5 messages:
1 3492
2 21924
3 3525
4 3472
5 3273
.
uidl
Connection closed by foreign host.
...

Listing massages or retrieving messages works normally. Only on "uidl" command the services crashes.

I made a backtrace.

-----> start backtrace <-----
Core was generated by `dovecot/pop3'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f9dd8ca488d in vfprintf () from /lib/libc.so.6
(gdb) bt full
#0  0x00007f9dd8ca488d in vfprintf () from /lib/libc.so.6
No symbol table info available.
#1  0x00007f9dd8cc6732 in vsnprintf () from /lib/libc.so.6
No symbol table info available.
#2  0x00007f9dd904d0db in str_vprintfa (str=0x11aa4f8, fmt=0x409184 "%u %s", args=0x7ffffab4fff0) at str.c:155
        args2 = {{gp_offset = 16, fp_offset = 48, overflow_arg_area = 0x7ffffab500e0, reg_save_area = 0x7ffffab50010}}
        init_size = 4231558
        pos = 0
        ret = <value optimized out>
        ret2 = <value optimized out>
        __FUNCTION__ = "str_vprintfa"
#3  0x00000000004055ff in client_send_line (client=0x11d1e50, fmt=<value optimized out>) at pop3-client.c:678
        str = 0x11aa4f8
        _data_stack_cur_id = 4
        va = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 0x7ffffab500e0, reg_save_area = 0x7ffffab50010}}
        ret = <value optimized out>
        __FUNCTION__ = "client_send_line"
#4  0x00000000004073cd in list_uidls_saved_iter (client=0x11d1e50, ctx=0x11da3c0) at pop3-commands.c:666
        found = true
#5  list_uids_iter (client=0x11d1e50, ctx=0x11da3c0) at pop3-commands.c:693
        str = <value optimized out>
        permanent_uidl = <value optimized out>
        found = <value optimized out>
        failed = <value optimized out>
#6  0x0000000000407d88 in cmd_uidl (client=0x11d1e50, name=<value optimized out>, args=0x408880 "") at pop3-commands.c:874
        ctx = 0x0
        seq = <value optimized out>
#7  client_command_execute (client=0x11d1e50, name=<value optimized out>, args=0x408880 "") at pop3-commands.c:938
No locals.
#8  0x0000000000405870 in client_handle_input (client=0x11d1e50) at pop3-client.c:739
        _data_stack_cur_id = 3
        line = <value optimized out>
        args = 0x408880 ""
        ret = <value optimized out>
#9  0x00007f9dd903c3d6 in io_loop_call_io (io=0x11d2760) at ioloop.c:388
        ioloop = 0x11b2740
        t_id = 2
#10 0x00007f9dd903d45f in io_loop_handler_run (ioloop=<value optimized out>) at ioloop-epoll.c:220
        ctx = 0x11b2aa0
        event = 0x11b3900
        list = 0x11b44d0
        io = 0x51
        tv = {tv_sec = 9, tv_usec = 999326}
        msecs = <value optimized out>
        ret = 1
        i = 0
        call = false
        __FUNCTION__ = "io_loop_handler_run"
#11 0x00007f9dd903c348 in io_loop_run (ioloop=0x11b2740) at ioloop.c:412
        __FUNCTION__ = "io_loop_run"
#12 0x00007f9dd8fea953 in master_service_run (service=0x11b25d0, callback=0x409186) at master-service.c:566
No locals.
#13 0x0000000000404ac7 in main (argc=1, argv=0x11b2390) at main.c:277
        set_roots = {0x4094e0, 0x0}
        login_set = {auth_socket_path = 0x11aa050 "/var/run/dovecot/auth-master", postlogin_socket_path = 0x0, postlogin_timeout_secs = 60, callback =
0x404ca0 <login_client_connected>,
          failure_callback = 0x404c50 <login_client_failed>, request_auth_token = 0}
        service_flags = <value optimized out>
        storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_DISALLOW_ROOT
        username = 0x0
        c = <value optimized out>
(gdb) quit
-----> end backtrace <-----

And at least my pop3 configuration part:

-----> start config <-----
protocol pop3 {
  mail_plugins = " quota mail_log notify acl zlib stats"
  pop3_client_workarounds = outlook-no-nuls oe-ns-eoh
  pop3_lock_session = yes
  pop3_logout_format = bytes_sent=%o top=%t/%p, retr=%r/%b, del=%d/%m, size=%s uidl_hash=%u session=<%{session}>
  pop3_reuse_xuidl = yes
}
-----> end config <-----

Setting "pop3_reuse_xuidl = no" has noe effect. Always the same crash.

Thanks and regards
Urban Loesch




More information about the dovecot mailing list