[imap-login] SSL related crashes using the latest 2.2.25

Adi Pircalabu adi at ddns.com.au
Thu Oct 6 04:27:00 UTC 2016


I'm running Dovecot as proxy in front of some IMAP/POP3 Dovecot & 
Courier-IMAP servers and in the last couple of days I've been seeing a 
lot of imap-login crashes (signal 11) on both 2.2.18 and 2.2.25, all SSL 
related. The following backtraces are taken running 2.2.25, built from 
source on a test system similar to the live proxy servers.
OS: CentOS 6.8 64bit
Packages: openssl-1.0.1e-48.el6_8.3.x86_64, dovecot-2.2.25-2.el6.x86_64 
built from source RPM.

Can post "doveconf -a" if required.

Core was generated by `dovecot/imap-login -D'.
Program terminated with signal 11, Segmentation fault.
#0  ssl_proxy_has_broken_client_cert (proxy=0x0) at 
ssl-proxy-openssl.c:677
677	{
(gdb) bt full
#0  ssl_proxy_has_broken_client_cert (proxy=0x0) at 
ssl-proxy-openssl.c:677
No locals.
#1  0x00007fdec4e6b489 in login_proxy_ssl_handshaked (context=0x14b4170) 
at login-proxy.c:759
         proxy = 0x14b4170
#2  0x00007fdec4e70e4b in ssl_handshake (proxy=0x169d7b0) at 
ssl-proxy-openssl.c:468
         ret = <value optimized out>
#3  ssl_step (proxy=0x169d7b0) at ssl-proxy-openssl.c:519
No locals.
#4  0x00007fdec4beee0b in io_loop_call_io (io=0x13fdab0) at ioloop.c:564
         ioloop = 0x12a07b0
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#5  0x00007fdec4bf0407 in io_loop_handler_run_internal (ioloop=<value 
optimized out>) at ioloop-epoll.c:220
         ctx = 0x12fb8d0
         events = <value optimized out>
         event = 0x171fb20
         list = 0x15f8c50
         io = <value optimized out>
         tv = {tv_sec = 46, tv_usec = 134490}
         events_count = <value optimized out>
         msecs = <value optimized out>
         ret = 1
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#6  0x00007fdec4beeeb5 in io_loop_handler_run (ioloop=0x12a07b0) at 
ioloop.c:612
No locals.
#7  0x00007fdec4bef058 in io_loop_run (ioloop=0x12a07b0) at ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#8  0x00007fdec4b81b23 in master_service_run (service=0x12a0650, 
callback=<value optimized out>) at master-service.c:640
No locals.
#9  0x00007fdec4e6e593 in login_binary_run (binary=<value optimized 
out>, argc=2, argv=0x12a0390) at main.c:486
         set_pool = 0x12a0b80
         login_socket = <value optimized out>
         c = <value optimized out>
#10 0x00007fdec47dad1d in __libc_start_main (main=0x402ac0 <main>, 
argc=2, ubp_av=0x7ffc53ee5688, init=<value optimized out>, fini=<value 
optimized out>, rtld_fini=<value optimized out>, 
stack_end=0x7ffc53ee5678) at libc-start.c:226
         result = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 
5496455093114277129, 4204960, 140721716614784, 0, 0, 
-5494405746439844599, -5477823887334535927}, mask_was_saved = 0}}, priv 
= {pad = {0x0, 0x0, 0x404f70, 0x7ffc53ee5688}, data = {
               prev = 0x0, cleanup = 0x0, canceltype = 4214640}}}
         not_first_call = <value optimized out>
#11 0x00000000004029c9 in _start ()
No symbol table info available.

Core was generated by `dovecot/imap-login -D'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f1a58620dec in _IO_vfprintf_internal (s=<value optimized 
out>, format=<value optimized out>, ap=<value optimized out>) at 
vfprintf.c:1641
1641		  process_string_arg (((struct printf_spec *) NULL));
(gdb) bt full
#0  0x00007f1a58620dec in _IO_vfprintf_internal (s=<value optimized 
out>, format=<value optimized out>, ap=<value optimized out>) at 
vfprintf.c:1641
         len = <value optimized out>
         string_malloced = <value optimized out>
         step0_jumps = {0, -1285, -1198, 3818, 3910, 3206, 3307, 4086, 
1925, 2133, 2249, 3731, 4474, -4059, -1109, -1062, 868, 956, 968, 980, 
-1505, -495, 665, 755, 827, -3962, 395, 4392, -4059, 3997}
         space = 0
         is_short = 0
         use_outdigits = 0
         step1_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 2133, 2249, 3731, 
4474, -4059, -1109, -1062, 868, 956, 968, 980, -1505, -495, 665, 755, 
827, -3962, 395, 4392, -4059, 0}
         group = 0
         prec = -1
         step2_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2249, 3731, 4474, 
-4059, -1109, -1062, 868, 956, 968, 980, -1505, -495, 665, 755, 827, 
-3962, 395, 4392, -4059, 0}
         string = <value optimized out>
         left = 0
         is_long_double = 0
         width = 0
         step3a_jumps = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2336, 0, 0, 0, 
-1109, -1062, 868, 956, 968, 0, 0, 0, 0, 755, 0, 0, 0, 0, 0, 0}
         alt = 0
         showsign = 0
         is_long = 0
         is_char = 0
         pad = 32 ' '
         step3b_jumps = {0 <repeats 11 times>, 4474, 0, 0, -1109, -1062, 
868, 956, 968, 980, -1505, -495, 665, 755, 827, -3962, 395, 0, 0, 0}
         step4_jumps = {0 <repeats 14 times>, -1109, -1062, 868, 956, 
968, 980, -1505, -495, 665, 755, 827, -3962, 395, 0, 0, 0}
         is_negative = <value optimized out>
         base = <value optimized out>
         the_arg = {pa_wchar = 0 L'\000', pa_int = 0, pa_long_int = 0, 
pa_long_long_int = 0, pa_u_int = 0, pa_u_long_int = 0, 
pa_u_long_long_int = 0, pa_double = 0, pa_long_double = 0, pa_string = 
0x0, pa_wstring = 0x0,
           pa_pointer = 0x0, pa_user = 0x0}
         spec = 115 's'
         _buffer = {__routine = 0, __arg = 0xf583a1d84, __canceltype = 
24, __prev = 0x0}
         _avail = <value optimized out>
         thousands_sep = 0x0
         grouping = 0xffffffffffffffff <Address 0xffffffffffffffff out of 
bounds>
         done = 97
         f = 0x7f1a58c90b0d "s"
         lead_str_end = 0x7f1a58c90b05 "%s:%u: %s"
         end_of_spec = <value optimized out>
         work_buffer = 
"\341v\361[\372\037\002\363\315\301y\017\302.\a\272\306B\267\001\377\244\276Uu\023\005\301\a\227\f\353\374\062V\002\000\000\000\000\320\006}S\375\177\000\000\340\062V\002\000\000\000\000\273\252\377W\032\177\000\000(\036f\002\000\000\000\000|\004}S\375\177\000\000\320\006}S\375\177\000\000a+\aX\032\177\000\000(\036f\002\000\000\000\000 
\036f\002\000\000\000\000\360\003}S\375\177\000\000\301\025\000X\000\000\000\000\210\033f\002\000\000\000\000(\036f\002\024\000\000\000\t`\v\217~0\"\"\\\200'\217X_\331q\325o\244\210\000\000\000\000\340\062V\002\000\000\000\000\n\000\000\000\000\000\000\000Wo\020X\000\000\000\000\b\024V\002\000\000\000\000\226$\377W\032\177\000\000\001\000\000\000\000\000\000\000\211\001\000\000\000\000\000\000\260\006}S\375\177\000\000\240\257\235\003\000\000\000\000\260\006}S\375\177\000\000\200"...
         workstart = 0x0
         workend = 0x7ffd537d0748 ""
         ap_save = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 
0x7ffd537d0b60, reg_save_area = 0x7ffd537d0aa0}}
         nspecs_done = 2
         save_errno = 0
         readonly_format = 0
         args_malloced = 0x0
         specs = 0xa00000001
         specs_malloced = false
         jump_table = 
"\001\000\000\004\000\016\000\006\000\000\a\002\000\003\t\000\005\b\b\b\b\b\b\b\b\b\000\000\000\000\000\000\000\032\000\031\000\023\023\023\000\035\000\000\f\000\000\000\000\000\000\025\000\000\000\000\022\000\r\000\000\000\000\000\000\032\000\024\017\023\023\023\n\017\034\000\v\030\027\021\026\f\000\025\033\020\000\000\022\000\r"
#1  0x00007f1a586d8c50 in ___vsnprintf_chk (
     s=0x1fe0e38 "proxy: Received invalid SSL certificate from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root",
     maxlen=<value optimized out>, flags=1, slen=<value optimized out>, 
format=0x7f1a58c90ad8 "proxy: Received invalid SSL certificate from 
%s:%u: %s", args=0x7ffd537d0a80) at vsnprintf_chk.c:65
         sf = {f = {_sbf = {_f = {_flags = -72515583,
                 _IO_read_ptr = 0x1fe0e38 "proxy: Received invalid SSL 
certificate from \314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root", _IO_read_end = 0x1fe0e38 "proxy: 
Received invalid SSL certificate from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root",
                 _IO_read_base = 0x1fe0e38 "proxy: Received invalid SSL 
certificate from \314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root", _IO_write_base = 0x1fe0e38 "proxy: 
Received invalid SSL certificate from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root",
                 _IO_write_ptr = 0x1fe0e99 "k/CN=AddTrust External CA 
Root", _IO_write_end = 0x1fe0f6d "oodvale.vic.au): disconnecting 
127.0.0.1 (Disconnected by client: EOF(0s idle, in=217, out=796))",
                 _IO_buf_base = 0x1fe0e38 "proxy: Received invalid SSL 
certificate from \314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root", _IO_buf_end = 0x1fe0f6d 
"oodvale.vic.au): disconnecting 127.0.0.1 (Disconnected by client: 
EOF(0s idle, in=217, out=796))", _IO_save_base = 0x0, _IO_backup_base = 
0x0, _IO_save_end = 0x0, _markers = 0x0, _chain = 0x0,
                 _fileno = 1489493956, _flags2 = 4, _old_offset = 
139751135368008, _cur_column = 0, _vtable_offset = -57 '\307', _shortbuf 
= "X", _lock = 0x0, _offset = 4294967673, _codecvt = 0x381f620, 
_wide_data = 0x7ffd537d09c0,
                 _freeres_list = 0x0, _freeres_buf = 0x7ffd537d0ab0, 
_freeres_size = 140726004157144, _mode = -1, _unused2 = 
"\032\177\000\000\000\000\000\000\000\000\000\000\315\320e\207\000\000\000"}, 
vtable = 0x7f1a58966440}, _s = {
               _allocate_buffer = 0, _free_buffer = 0}},
           overflow_buf = "\001", '\000' <repeats 15 times>, 
"\001\000\000\000\000\000\000\000\350V\vY\032\177\000\000\200\302g\256\333\333;\221\330\n\311X\032\177\000\000\034\n}S\375\177\000\000\002\000\000\000\000\000\000"}
         ret = <value optimized out>
#2  0x00007f1a58a220ff in vsnprintf (format=0x7f1a58c90ad8 "proxy: 
Received invalid SSL certificate from %s:%u: %s", args=0x7ffd537d0a80, 
size_r=0x7ffd537d0a5c) at /usr/include/bits/stdio2.h:78
No locals.
#3  t_noalloc_strdup_vprintf (format=0x7f1a58c90ad8 "proxy: Received 
invalid SSL certificate from %s:%u: %s", args=0x7ffd537d0a80, 
size_r=0x7ffd537d0a5c) at strfuncs.c:132
         args2 = {{gp_offset = 8, fp_offset = 48, overflow_arg_area = 
0x7ffd537d0b60, reg_save_area = 0x7ffd537d0aa0}}
         tmp = 0x1fe0e38 "proxy: Received invalid SSL certificate from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315:6: 
k/CN=AddTrust External CA Root"
         init_size = 310
         ret = <value optimized out>
         __FUNCTION__ = "t_noalloc_strdup_vprintf"
#4  0x00007f1a58a221d9 in p_strdup_vprintf (pool=0x7f1a58c76830, 
format=<value optimized out>, args=<value optimized out>) at 
strfuncs.c:156
         tmp = <value optimized out>
         buf = <value optimized out>
         size = <value optimized out>
#5  0x00007f1a58a222ea in t_strdup_printf (format=<value optimized out>) 
at strfuncs.c:263
         args = {{gp_offset = 32, fp_offset = 48, overflow_arg_area = 
0x7ffd537d0b60, reg_save_area = 0x7ffd537d0aa0}}
         ret = 0x0
#6  0x00007f1a58c88548 in login_proxy_ssl_handshaked (context=0x3141260) 
at login-proxy.c:760
         proxy = 0x3141260
#7  0x00007f1a58c8de4b in ssl_handshake (proxy=0x3498970) at 
ssl-proxy-openssl.c:468
         ret = <value optimized out>
#8  ssl_step (proxy=0x3498970) at ssl-proxy-openssl.c:519
No locals.
#9  0x00007f1a58a0be0b in io_loop_call_io (io=0x322e900) at ioloop.c:564
         ioloop = 0x1f817b0
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#10 0x00007f1a58a0d407 in io_loop_handler_run_internal (ioloop=<value 
optimized out>) at ioloop-epoll.c:220
         ctx = 0x1fdc8d0
         events = <value optimized out>
         event = 0x34a22e8
         list = 0x317b250
         io = <value optimized out>
         tv = {tv_sec = 0, tv_usec = 614018}
         events_count = <value optimized out>
         msecs = <value optimized out>
         ret = 3
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#11 0x00007f1a58a0beb5 in io_loop_handler_run (ioloop=0x1f817b0) at 
ioloop.c:612
No locals.
#12 0x00007f1a58a0c058 in io_loop_run (ioloop=0x1f817b0) at ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#13 0x00007f1a5899eb23 in master_service_run (service=0x1f81650, 
callback=<value optimized out>) at master-service.c:640
No locals.
#14 0x00007f1a58c8b593 in login_binary_run (binary=<value optimized 
out>, argc=2, argv=0x1f81390) at main.c:486
         set_pool = 0x1f81b80
         login_socket = <value optimized out>
         c = <value optimized out>
#15 0x00007f1a585f7d1d in __libc_start_main (main=0x402ac0 <main>, 
argc=2, ubp_av=0x7ffd537d0de8, init=<value optimized out>, fini=<value 
optimized out>, rtld_fini=<value optimized out>, 
stack_end=0x7ffd537d0dd8) at libc-start.c:226
         result = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 
-6805578527007124004, 4204960, 140726004157920, 0, 0, 
6806940805326362076, 6897556252474660316}, mask_was_saved = 0}}, priv = 
{pad = {0x0, 0x0, 0x404f70, 0x7ffd537d0de8}, data = {
               prev = 0x0, cleanup = 0x0, canceltype = 4214640}}}
         not_first_call = <value optimized out>
#16 0x00000000004029c9 in _start ()
No symbol table info available.

Core was generated by `dovecot/imap-login -D'.
Program terminated with signal 11, Segmentation fault.
#0  t_strcut (str=0xffffffffffffffff <Address 0xffffffffffffffff out of 
bounds>, cutchar=64 '@') at strfuncs.c:294
294		for (p = str; *p != '\0'; p++) {
(gdb) bt full
#0  t_strcut (str=0xffffffffffffffff <Address 0xffffffffffffffff out of 
bounds>, cutchar=64 '@') at strfuncs.c:294
         p = 0xffffffffffffffff <Address 0xffffffffffffffff out of 
bounds>
#1  0x00007f1afa1a7d2f in get_var_expand_users (tab=0x1c37e98, 
user=0xffffffffffffffff <Address 0xffffffffffffffff out of bounds>) at 
client-common.c:523
         i = <value optimized out>
#2  0x00007f1afa1a7f29 in get_var_expand_table (client=0x27b85b0,
     msg=0x1c37e38 "proxy: SSL certificate not received from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315@:6") at 
client-common.c:541
         tab = 0x1c37e98
#3  client_get_log_str (client=0x27b85b0, msg=0x1c37e38 "proxy: SSL 
certificate not received from \314-A\235q\210\021\b\354\062Lzح)\367.\002 
\031\233 \362w⊓\224\356K7\343\224 
\002\037\364!+\266\371\277O`K\021\b\315@:6")
     at client-common.c:644
         static_tab = {{key = 115 's', value = 0x0, long_key = 0x0}, {key 
= 36 '$', value = 0x0, long_key = 0x0}, {key = 0 '\000', value = 0x0, 
long_key = 0x0}}
         func_table = {{key = 0x7f1afa1b2d0c "passdb", func = 
0x7f1afa1a7c70 <client_var_expand_func_passdb>}, {key = 0x0, func = 0}}
         tab = <value optimized out>
         e = <value optimized out>
         str = <value optimized out>
         str2 = <value optimized out>
         pos = <value optimized out>
#4  0x00007f1afa1a847a in client_log_err (client=0x27b85b0,
     msg=0x1c37e38 "proxy: SSL certificate not received from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315@:6") at 
client-common.c:692
         _data_stack_cur_id = 3
#5  0x00007f1afa1ab51e in login_proxy_ssl_handshaked (context=0x237e910) 
at login-proxy.c:765
         proxy = 0x237e910
#6  0x00007f1afa1b0e4b in ssl_handshake (proxy=0x23cb660) at 
ssl-proxy-openssl.c:468
         ret = <value optimized out>
#7  ssl_step (proxy=0x23cb660) at ssl-proxy-openssl.c:519
No locals.
#8  0x00007f1af9f2ee0b in io_loop_call_io (io=0x285cf20) at ioloop.c:564
         ioloop = 0x1bd87b0
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#9  0x00007f1af9f30407 in io_loop_handler_run_internal (ioloop=<value 
optimized out>) at ioloop-epoll.c:220
         ctx = 0x1c338d0
         events = <value optimized out>
         event = 0x260eac0
         list = 0x227b980
         io = <value optimized out>
         tv = {tv_sec = 0, tv_usec = 519697}
         events_count = <value optimized out>
         msecs = <value optimized out>
         ret = 1
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#10 0x00007f1af9f2eeb5 in io_loop_handler_run (ioloop=0x1bd87b0) at 
ioloop.c:612
No locals.
#11 0x00007f1af9f2f058 in io_loop_run (ioloop=0x1bd87b0) at ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#12 0x00007f1af9ec1b23 in master_service_run (service=0x1bd8650, 
callback=<value optimized out>) at master-service.c:640
No locals.
#13 0x00007f1afa1ae593 in login_binary_run (binary=<value optimized 
out>, argc=2, argv=0x1bd8390) at main.c:486
         set_pool = 0x1bd8b80
         login_socket = <value optimized out>
         c = <value optimized out>
#14 0x00007f1af9b1ad1d in __libc_start_main (main=0x402ac0 <main>, 
argc=2, ubp_av=0x7ffcdfc7cd68, init=<value optimized out>, fini=<value 
optimized out>, rtld_fini=<value optimized out>, 
stack_end=0x7ffcdfc7cd58) at libc-start.c:226
         result = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 
-5108975228267825424, 4204960, 140724062899552, 0, 0, 
5107356402929858288, 5128673613026916080}, mask_was_saved = 0}}, priv = 
{pad = {0x0, 0x0, 0x404f70, 0x7ffcdfc7cd68}, data = {
               prev = 0x0, cleanup = 0x0, canceltype = 4214640}}}
         not_first_call = <value optimized out>
#15 0x00000000004029c9 in _start ()
No symbol table info available.

Core was generated by `dovecot/imap-login -D'.
Program terminated with signal 11, Segmentation fault.
#0  ssl_proxy_is_handshaked (proxy=0x21a930a940a43715) at 
ssl-proxy-openssl.c:720
720	{
(gdb) bt full
#0  ssl_proxy_is_handshaked (proxy=0x21a930a940a43715) at 
ssl-proxy-openssl.c:720
No locals.
#1  0x00007f0c84b63326 in get_var_expand_table (client=0xc49c50,
     msg=0x8b5e38 "proxy: SSL certificate not received from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315@:6") at 
client-common.c:556
         ssl_state = <value optimized out>
         ssl_error = <value optimized out>
         tab = 0x8b5e98
#2  client_get_log_str (client=0xc49c50, msg=0x8b5e38 "proxy: SSL 
certificate not received from \314-A\235q\210\021\b\354\062Lzح)\367.\002 
\031\233 \362w⊓\224\356K7\343\224 
\002\037\364!+\266\371\277O`K\021\b\315@:6")
     at client-common.c:644
         static_tab = {{key = 115 's', value = 0x0, long_key = 0x0}, {key 
= 36 '$', value = 0x0, long_key = 0x0}, {key = 0 '\000', value = 0x0, 
long_key = 0x0}}
         func_table = {{key = 0x7f0c84b6dd0c "passdb", func = 
0x7f0c84b62c70 <client_var_expand_func_passdb>}, {key = 0x0, func = 0}}
         tab = <value optimized out>
         e = <value optimized out>
         str = <value optimized out>
         str2 = <value optimized out>
         pos = <value optimized out>
#3  0x00007f0c84b6347a in client_log_err (client=0xc49c50,
     msg=0x8b5e38 "proxy: SSL certificate not received from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 \002\037\364!+\266\371\277O`K\021\b\315@:6") at 
client-common.c:692
         _data_stack_cur_id = 3
#4  0x00007f0c84b6651e in login_proxy_ssl_handshaked (context=0xf464b0) 
at login-proxy.c:765
         proxy = 0xf464b0
#5  0x00007f0c84b6be4b in ssl_handshake (proxy=0xd5d600) at 
ssl-proxy-openssl.c:468
         ret = <value optimized out>
#6  ssl_step (proxy=0xd5d600) at ssl-proxy-openssl.c:519
No locals.
#7  0x00007f0c848e9e0b in io_loop_call_io (io=0xdf5ea0) at ioloop.c:564
         ioloop = 0x8567b0
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#8  0x00007f0c848eb407 in io_loop_handler_run_internal (ioloop=<value 
optimized out>) at ioloop-epoll.c:220
         ctx = 0x8b18d0
         events = <value optimized out>
         event = 0xf305f0
         list = 0xc4a700
         io = <value optimized out>
         tv = {tv_sec = 0, tv_usec = 954174}
         events_count = <value optimized out>
         msecs = <value optimized out>
         ret = 1
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#9  0x00007f0c848e9eb5 in io_loop_handler_run (ioloop=0x8567b0) at 
ioloop.c:612
No locals.
#10 0x00007f0c848ea058 in io_loop_run (ioloop=0x8567b0) at ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#11 0x00007f0c8487cb23 in master_service_run (service=0x856650, 
callback=<value optimized out>) at master-service.c:640
No locals.
#12 0x00007f0c84b69593 in login_binary_run (binary=<value optimized 
out>, argc=2, argv=0x856390) at main.c:486
         set_pool = 0x856b80
         login_socket = <value optimized out>
         c = <value optimized out>
#13 0x00007f0c844d5d1d in __libc_start_main (main=0x402ac0 <main>, 
argc=2, ubp_av=0x7ffd41fc1f28, init=<value optimized out>, fini=<value 
optimized out>, rtld_fini=<value optimized out>, 
stack_end=0x7ffd41fc1f18) at libc-start.c:226
         result = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 
-3476376496289340868, 4204960, 140725710495520, 0, 0, 
3475633251103023676, 3591732184888123964}, mask_was_saved = 0}}, priv = 
{pad = {0x0, 0x0, 0x404f70, 0x7ffd41fc1f28}, data = {
               prev = 0x0, cleanup = 0x0, canceltype = 4214640}}}
         not_first_call = <value optimized out>
#14 0x00000000004029c9 in _start ()
No symbol table info available.

Core was generated by `dovecot/imap-login -D'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007ff9e5e5f40b in p_malloc (pool=0x1f10c90, str=0x1f1d3d0 
"4qyKMRI+AAAAAAAA") at mempool.h:76
76		return pool->v->malloc(pool, size);
(gdb) bt full
#0  0x00007ff9e5e5f40b in p_malloc (pool=0x1f10c90, str=0x1f1d3d0 
"4qyKMRI+AAAAAAAA") at mempool.h:76
No locals.
#1  p_strdup (pool=0x1f10c90, str=0x1f1d3d0 "4qyKMRI+AAAAAAAA") at 
strfuncs.c:43
         mem = <value optimized out>
         len = 17
#2  0x00007ff9e60c2e9f in client_get_session_id (client=0x1f10980) at 
client-common.c:482
         buf = 0x1f1d328
         base64_buf = 0x1f1d398
         tv = {tv_sec = 1475622745, tv_usec = 58530}
         timestamp = 1475622745058530
         i = 48
#3  0x00007ff9e60c302c in get_var_expand_table (client=0x1f10980, 
msg=0x1f1ce38 "proxy: SSL certificate not received from (null):0") at 
client-common.c:568
         tab = 0x1f1ce70
#4  client_get_log_str (client=0x1f10980, msg=0x1f1ce38 "proxy: SSL 
certificate not received from (null):0") at client-common.c:644
         static_tab = {{key = 115 's', value = 0x0, long_key = 0x0}, {key 
= 36 '$', value = 0x0, long_key = 0x0}, {key = 0 '\000', value = 0x0, 
long_key = 0x0}}
         func_table = {{key = 0x7ff9e60cdd0c "passdb", func = 
0x7ff9e60c2c70 <client_var_expand_func_passdb>}, {key = 0x0, func = 0}}
         tab = <value optimized out>
         e = <value optimized out>
         str = <value optimized out>
         str2 = <value optimized out>
         pos = <value optimized out>
#5  0x00007ff9e60c347a in client_log_err (client=0x1f10980, 
msg=0x1f1ce38 "proxy: SSL certificate not received from (null):0") at 
client-common.c:692
         _data_stack_cur_id = 3
#6  0x00007ff9e60c651e in login_proxy_ssl_handshaked (context=0x256cfb0) 
at login-proxy.c:765
         proxy = 0x256cfb0
#7  0x00007ff9e60cbe4b in ssl_handshake (proxy=0x23f6710) at 
ssl-proxy-openssl.c:468
         ret = <value optimized out>
#8  ssl_step (proxy=0x23f6710) at ssl-proxy-openssl.c:519
No locals.
#9  0x00007ff9e5e49e0b in io_loop_call_io (io=0x256cc40) at ioloop.c:564
         ioloop = 0x1ebd7b0
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#10 0x00007ff9e5e4b407 in io_loop_handler_run_internal (ioloop=<value 
optimized out>) at ioloop-epoll.c:220
         ctx = 0x1f188d0
         events = <value optimized out>
         event = 0x24d25f0
         list = 0x2561f10
         io = <value optimized out>
         tv = {tv_sec = 0, tv_usec = 551105}
         events_count = <value optimized out>
         msecs = <value optimized out>
         ret = 1
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#11 0x00007ff9e5e49eb5 in io_loop_handler_run (ioloop=0x1ebd7b0) at 
ioloop.c:612
No locals.
#12 0x00007ff9e5e4a058 in io_loop_run (ioloop=0x1ebd7b0) at ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#13 0x00007ff9e5ddcb23 in master_service_run (service=0x1ebd650, 
callback=<value optimized out>) at master-service.c:640
No locals.
#14 0x00007ff9e60c9593 in login_binary_run (binary=<value optimized 
out>, argc=2, argv=0x1ebd390) at main.c:486
         set_pool = 0x1ebdb80
         login_socket = <value optimized out>
         c = <value optimized out>
#15 0x00007ff9e5a35d1d in __libc_start_main (main=0x402ac0 <main>, 
argc=2, ubp_av=0x7ffe367d2178, init=<value optimized out>, fini=<value 
optimized out>, rtld_fini=<value optimized out>, 
stack_end=0x7ffe367d2168) at libc-start.c:226
         result = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 
-3428671975511032229, 4204960, 140729812590960, 0, 0, 
3429075480732761691, 3429810282407657051}, mask_was_saved = 0}}, priv = 
{pad = {0x0, 0x0, 0x404f70, 0x7ffe367d2178}, data = {
               prev = 0x0, cleanup = 0x0, canceltype = 4214640}}}
         not_first_call = <value optimized out>
#16 0x00000000004029c9 in _start ()
No symbol table info available.

Core was generated by `dovecot/imap-login -D'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007f029b173314 in str_sanitize_skip_start 
(src=0x2f6d6f632e61636f <Address 0x2f6d6f632e61636f out of bounds>, 
max_bytes=64) at str-sanitize.c:13
13		for (i = 0; i < max_bytes && src[i] != '\0'; ) {
(gdb) bt full
#0  0x00007f029b173314 in str_sanitize_skip_start 
(src=0x2f6d6f632e61636f <Address 0x2f6d6f632e61636f out of bounds>, 
max_bytes=64) at str-sanitize.c:13
         chr = 0
         i = 0
#1  str_sanitize (src=0x2f6d6f632e61636f <Address 0x2f6d6f632e61636f out 
of bounds>, max_bytes=64) at str-sanitize.c:88
         str = <value optimized out>
         i = <value optimized out>
#2  0x00007f029b3d7f9e in get_var_expand_table (client=0x221ee70,
     msg=0x187fe38 "proxy: SSL certificate not received from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 
\002\037\364!+\266\371\277O`K\021\bͰ\a\202\001:6") at 
client-common.c:548
         tab = 0x187fe98
#3  client_get_log_str (client=0x221ee70, msg=0x187fe38 "proxy: SSL 
certificate not received from \314-A\235q\210\021\b\354\062Lzح)\367.\002 
\031\233 \362w⊓\224\356K7\343\224 
\002\037\364!+\266\371\277O`K\021\bͰ\a\202\001:6")
     at client-common.c:644
         static_tab = {{key = 115 's', value = 0x0, long_key = 0x0}, {key 
= 36 '$', value = 0x0, long_key = 0x0}, {key = 0 '\000', value = 0x0, 
long_key = 0x0}}
         func_table = {{key = 0x7f029b3e2d0c "passdb", func = 
0x7f029b3d7c70 <client_var_expand_func_passdb>}, {key = 0x0, func = 0}}
         tab = <value optimized out>
         e = <value optimized out>
         str = <value optimized out>
         str2 = <value optimized out>
         pos = <value optimized out>
#4  0x00007f029b3d847a in client_log_err (client=0x221ee70,
     msg=0x187fe38 "proxy: SSL certificate not received from 
\314-A\235q\210\021\b\354\062Lzح)\367.\002 \031\233 
\362w⊓\224\356K7\343\224 
\002\037\364!+\266\371\277O`K\021\bͰ\a\202\001:6") at 
client-common.c:692
         _data_stack_cur_id = 3
#5  0x00007f029b3db51e in login_proxy_ssl_handshaked (context=0x19b2530) 
at login-proxy.c:765
         proxy = 0x19b2530
#6  0x00007f029b3e0e4b in ssl_handshake (proxy=0x195df70) at 
ssl-proxy-openssl.c:468
         ret = <value optimized out>
#7  ssl_step (proxy=0x195df70) at ssl-proxy-openssl.c:519
No locals.
#8  0x00007f029b15ee0b in io_loop_call_io (io=0x216d790) at ioloop.c:564
         ioloop = 0x18207b0
         t_id = 2
         __FUNCTION__ = "io_loop_call_io"
#9  0x00007f029b160407 in io_loop_handler_run_internal (ioloop=<value 
optimized out>) at ioloop-epoll.c:220
         ctx = 0x187b8d0
         events = <value optimized out>
         event = 0x1df4668
         list = 0x2025710
         io = <value optimized out>
         tv = {tv_sec = 11, tv_usec = 323409}
         events_count = <value optimized out>
         msecs = <value optimized out>
         ret = 3
         i = <value optimized out>
         call = <value optimized out>
         __FUNCTION__ = "io_loop_handler_run_internal"
#10 0x00007f029b15eeb5 in io_loop_handler_run (ioloop=0x18207b0) at 
ioloop.c:612
No locals.
#11 0x00007f029b15f058 in io_loop_run (ioloop=0x18207b0) at ioloop.c:588
         __FUNCTION__ = "io_loop_run"
#12 0x00007f029b0f1b23 in master_service_run (service=0x1820650, 
callback=<value optimized out>) at master-service.c:640
No locals.
#13 0x00007f029b3de593 in login_binary_run (binary=<value optimized 
out>, argc=2, argv=0x1820390) at main.c:486
         set_pool = 0x1820b80
         login_socket = <value optimized out>
         c = <value optimized out>
#14 0x00007f029ad4ad1d in __libc_start_main (main=0x402ac0 <main>, 
argc=2, ubp_av=0x7ffd637fd608, init=<value optimized out>, fini=<value 
optimized out>, rtld_fini=<value optimized out>, 
stack_end=0x7ffd637fd5f8) at libc-start.c:226
         result = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {0, 
-4141182239951058275, 4204960, 140726272775680, 0, 0, 
4142562126330825373, 4071998539020864157}, mask_was_saved = 0}}, priv = 
{pad = {0x0, 0x0, 0x404f70, 0x7ffd637fd608}, data = {
               prev = 0x0, cleanup = 0x0, canceltype = 4214640}}}
         not_first_call = <value optimized out>
#15 0x00000000004029c9 in _start ()
No symbol table info available.


-- 
Adi Pircalabu


More information about the dovecot mailing list