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

Adi Pircalabu adi at ddns.com.au
Fri Oct 7 01:53:21 UTC 2016


Thanks. See the "sanitized" doveconf -n output below. Unfortunately I 
can't post log entries.
Looking at the various data I'm collecting, the crashes are always 
occurring during busy periods, when the maximum numbers of connections 
configured on the backend IMAP servers is reached. As a side note, all 
the backend servers are running using valid SSL certificates. Perhaps 
under load, or when the per IP connections limit is reached, one of them 
is disconnecting unexpectedly, or doesn't send the certificate?

# 2.2.25 (7be1766): /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-642.4.2.el6.x86_64 x86_64 CentOS release 6.8 (Final)
auth_cache_negative_ttl = 5 mins
auth_cache_size = 16 M
auth_cache_ttl = 18 hours
default_client_limit = 6120
default_process_limit = 500
mbox_write_locks = fcntl
namespace inbox {
   inbox = yes
   location =
   mailbox Drafts {
     special_use = \Drafts
   }
   mailbox Junk {
     special_use = \Junk
   }
   mailbox Sent {
     special_use = \Sent
   }
   mailbox "Sent Messages" {
     special_use = \Sent
   }
   mailbox Trash {
     special_use = \Trash
   }
   prefix =
}
passdb {
   args = /etc/dovecot/dovecot-sql.conf.ext
   driver = sql
}
service auth {
   client_limit = 6120
}
service imap-login {
   process_limit = 2048
   process_min_avail = 20
   service_count = 0
   vsz_limit = 256 M
}
service imap {
   process_limit = 2048
}
service pop3 {
   process_limit = 1024
}
ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle1.pem
ssl_key = </etc/pki/tls/certs/valid-ssl-bundle1.pem
userdb {
   driver = prefetch
}
protocol imap {
   imap_capability = IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE
}
local IP.AD.DR.15 {
   protocol imap {
     ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle1.pem
     ssl_key = </etc/pki/tls/certs/valid-ssl-bundle1.pem
   }
}
local IP.AD.DR.15 {
   protocol pop3 {
     ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle1.pem
     ssl_key = </etc/pki/tls/certs/valid-ssl-bundle1.pem
   }
}
local IP.AD.DR.16 {
   protocol imap {
     ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle2.pem
     ssl_key = </etc/pki/tls/certs/valid-ssl-bundle2.pem
   }
}
local IP.AD.DR.16 {
   protocol pop3 {
     ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle2.pem
     ssl_key = </etc/pki/tls/certs/valid-ssl-bundle2.pem
   }
}
local IP.AD.DR.17 {
   protocol imap {
     ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle3.pem
     ssl_key = </etc/pki/tls/certs/valid-ssl-bundle3.pem
   }
}
local IP.AD.DR.17 {
   protocol pop3 {
     ssl_cert = </etc/pki/tls/certs/valid-ssl-bundle3.pem
     ssl_key = </etc/pki/tls/certs/valid-ssl-bundle3.pem
   }
}

---
Adi Pircalabu

On 06-10-2016 16:02, Aki Tuomi wrote:
> It seems to error on ssl certificate not received.
> 
> Can you post doveconf -n and logs?
> 
> doveconf -a is usually not wanted.
> 
> Aki
> 
>> On October 6, 2016 at 7:27 AM Adi Pircalabu <adi at ddns.com.au> wrote:
>> 
>> 
>> 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