Hi Timo, I've got some errors with pop3 proxying and dovecot 2.1.9 I's occured on the proxy side: Aug 7 13:16:47 dev1 dovecot: pop3-login: Fatal: master: service(pop3-login): child 23046 killed with signal 11 (core dumped) Server side shows no error, and runs the same dovecot version. Thanks for your help. Best regards Tonio Buonaguidi Core dump: GNU gdb (GDB) 7.4.1-debian Copyright (C) 2012 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". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/lib/dovecot/pop3-login...done. [New LWP 23046] warning: Can't read pathname for load map: Erreur d'entr?e/sortie. [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1". Core was generated by `dovecot/pop3-login -D'. Program terminated with signal 11, Segmentation fault. #0 settings_parser_dup (old_ctx=0x8783480, new_pool=0x632e6465) at settings-parser.c:1742 1742 pool_ref(new_pool); doveconf -n # 2.1.9: /etc/dovecot/dovecot.conf # OS: Linux 2.6.32.2-xxxx-std-ipv6-32 i686 Debian wheezy/sid auth_cache_size = 4 k auth_mechanisms = plain login director_mail_servers = bb.bb.bb.bb cc.cc.cc.cc director_servers = dd.dd.dd.dd aa.aa.aa.aa log_timestamp = %Y-%m-%d %H:%M:%S mail_debug = yes managesieve_notify_capability = mailto managesieve_sieve_capability = comparator-i;octet comparator-i;ascii-casemap fileinto reject envelope encoded-character vacation subaddress comparator-i;ascii-numeric relational regex imap4flags copy include variables body enotify environment mailbox date spamtest spamtestplus virustest passdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } protocols = imap pop3 sieve service auth { unix_listener /var/spool/postfix/private/auth { group = mail mode = 0660 user = postfix } unix_listener auth-master { mode = 0660 user = vmail } unix_listener auth-userdb { mode = 0660 user = vmail } } service director { fifo_listener login/proxy-notify { mode = 0666 } inet_listener { address = aa.aa.aa.aa port = 9090 } unix_listener director-userdb { mode = 0600 } unix_listener login/director { mode = 0666 } } service imap-login { executable = imap-login director inet_listener imap { address = aa.aa.aa.aa yy.yyy.yy.yy xx.xx.xx.xx port = 143 } inet_listener imaps { address = aa.aa.aa.aa yy.yyy.yy.yy xx.xx.xx.xx port = 993 } process_limit = 256 process_min_avail = 2 service_count = 0 vsz_limit = 256 M } service managesieve-login { inet_listener sieve { address = aa.aa.aa.aa yy.yyy.yy.yy xx.xx.xx.xx port = 4190 } vsz_limit = 64 M } service pop3-login { executable = pop3-login -D inet_listener pop3 { address = aa.aa.aa.aa yy.yyy.yy.yy xx.xx.xx.xx port = 110 } inet_listener pop3s { address = aa.aa.aa.aa yy.yyy.yy.yy xx.xx.xx.xx port = 995 } service_count = 0 } ssl_ca = </etc/dovecot/ca-bundle.crt ssl_cert = </etc/dovecot/imap.xxx.certchained2.pem ssl_client_cert = </etc/dovecot/imap.xxx.certchained2.pem ssl_client_key = </etc/dovecot/imap.xxx.key.pem ssl_key = </etc/dovecot/imap.xxx.key.pem userdb { args = /etc/dovecot/dovecot-sql.conf driver = sql } protocol imap { imap_client_workarounds = delay-newmail imap_max_line_length = 64 k mail_max_userip_connections = 10 } protocol pop3 { pop3_client_workarounds = outlook-no-nuls oe-ns-eoh pop3_uidl_format = %08Xu%08Xv } protocol sieve { passdb { args = /etc/dovecot/sieve-sql.conf driver = sql } } local xx.xx.xx.xx { disable_plaintext_auth = no } local yy.yyy.yy.yy { protocol imap { ssl = required ssl_cert = </etc/dovecot/mail.pem ssl_key = </etc/dovecot/mail.key.pem } } local yy.yyy.yy.yy { protocol sieve { ssl = required ssl_cert = </etc/dovecot/mail.pem ssl_key = </etc/dovecot/mail.pem } } local xx.xx.xx.xx { protocol imap { ssl = yes ssl_cert = </etc/dovecot/imap.certchained.pem ssl_key = </etc/dovecot/imap.key.pem } } local xx.xx.xx.xx { protocol pop3 { ssl = yes ssl_cert = </etc/dovecot/pop.certchained.pem ssl_key = </etc/dovecot/pop.key.pem } } local xx.xx.xx.xx { protocol sieve { ssl = yes ssl_cert = </etc/dovecot/mail.certchained.pem ssl_key = </etc/dovecot/mail.key.pem } }
Le 07/08/2012 13:47, tonio at starbridge.org a ?crit :> > Hi Timo, > I've got some errors with pop3 proxying and dovecot 2.1.9 > > I's occured on the proxy side: > > Aug 7 13:16:47 dev1 dovecot: pop3-login: Fatal: master: > service(pop3-login): child 23046 killed with signal 11 (core dumped) > > Server side shows no error, and runs the same dovecot version. > > Thanks for your help. > Best regards > Tonio Buonaguidi > > Core dump: > > > GNU gdb (GDB) 7.4.1-debian > Copyright (C) 2012 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". > For bug reporting instructions, please see: > <http://www.gnu.org/software/gdb/bugs/>... > Reading symbols from /usr/lib/dovecot/pop3-login...done. > [New LWP 23046] > > warning: Can't read pathname for load map: Erreur d'entr?e/sortie. > [Thread debugging using libthread_db enabled] > Using host libthread_db library > "/lib/i386-linux-gnu/i686/cmov/libthread_db.so.1". > Core was generated by `dovecot/pop3-login -D'. > Program terminated with signal 11, Segmentation fault. > #0 settings_parser_dup (old_ctx=0x8783480, new_pool=0x632e6465) at > settings-parser.c:1742 > 1742 pool_ref(new_pool); > >sorry I've forgot bt full ! (gdb) bt full #0 settings_parser_dup (old_ctx=0xa26920, new_pool=0x6d6f632e32) at settings-parser.c:1742 new_ctx = <optimized out> iter = <optimized out> new_link = <optimized out> links = <optimized out> key = <optimized out> value = <optimized out> i = <optimized out> parser_pool = <optimized out> __FUNCTION__ = "settings_parser_dup" #1 0x00007fc7a77c3ecc in cache_add (parser=0xa26920, output=0x7ffffe4557f0, input=0x7ffffe455790, cache=0x60ea50) at master-service-settings-cache.c:221 entry = 0xe98b90 pool = 0xe98b70 pool_size = <optimized out> entry_local_name = 0xe98b90 "pop.te.com" #2 master_service_settings_cache_read (cache=0x60ea50, input=<optimized out>, dyn_parsers=<optimized out>, parser_r=0x7ffffe4558b8, error_r=<optimized out>) at master-service-settings-cache.c:297 output = {specific_services = 0x0, service_uses_local = 1, service_uses_remote = 0, used_local = 1, used_remote = 0} new_input = {roots = 0x604500, config_path = 0x0, preserve_environment = false, preserve_user = false, preserve_home = false, never_exec = false, use_sysexits = false, parse_full_config = false, module = 0x403640 "pop3-login", service = 0x40363b "pop3", username = 0x0, local_ip = {family = 2, u = {ip6 = { __in6_u = {__u6_addr8 = ".iHb", '\000' <repeats 11 times>, __u6_addr16 = {26926, 25160, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {1648912686, 0, 0, 0}}}, ip4 = {s_addr = 1648912686}}}, remote_ip = {family = 2, u = { ip6 = {__in6_u = {__u6_addr8 = "ZT\220]", '\000' <repeats 11 times>, __u6_addr16 = {21594, 23952, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {1569739866, 0, 0, 0}}}, ip4 = {s_addr = 1569739866}}}, local_name = 0x9fa1d0 "pop.te.com"} set = <optimized out> __FUNCTION__ = "master_service_settings_cache_read" #3 0x00007fc7a7a25a1b in login_settings_read (pool=0xbc54e0, local_ip=<optimized out>, remote_ip=<optimized out>, local_name=<optimized out>, other_settings_r=0x7ffffe455908) at login-settings.c:226 input = {roots = 0x604500, config_path = 0x0, preserve_environment = false, preserve_user = false, preserve_home = false, never_exec = false, use_sysexits = false, parse_full_config = false, module = 0x403640 "pop3-login", service = 0x40363b "pop3", username = 0x0, local_ip = {family = 2, u = {ip6 = { ---Type <return> to continue, or q <return> to quit--- __in6_u = {__u6_addr8 = ".iHb", '\000' <repeats 11 times>, __u6_addr16 = {26926, 25160, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {1648912686, 0, 0, 0}}}, ip4 = {s_addr = 1648912686}}}, remote_ip = {family = 2, u = { ip6 = {__in6_u = {__u6_addr8 = "ZT\220]", '\000' <repeats 11 times>, __u6_addr16 = {21594, 23952, 0, 0, 0, 0, 0, 0}, __u6_addr32 = {1569739866, 0, 0, 0}}}, ip4 = {s_addr = 1569739866}}}, local_name = 0x9fa1d0 "pop.te.com"} error = <optimized out> parser = <optimized out> cache_sets = <optimized out> sets = <optimized out> i = <optimized out> count = <optimized out> __FUNCTION__ = "login_settings_read" #4 0x00007fc7a7a28278 in ssl_servername_callback (ssl=0xa0d6e0, al=<optimized out>, context=<optimized out>) at ssl-proxy-openssl.c:1144 ctx = <optimized out> proxy = <optimized out> client = 0xe95b98 host = <optimized out> other_sets = 0x0 #5 0x00007fc7a71c6162 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 No symbol table info available. #6 0x00007fc7a71b2205 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 No symbol table info available. #7 0x00007fc7a71b68c5 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 No symbol table info available. #8 0x00007fc7a71c3103 in ?? () from /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 No symbol table info available. #9 0x00007fc7a7a289b9 in ssl_handshake (proxy=0xa185e0) at ssl-proxy-openssl.c:465 ret = <optimized out> #10 ssl_step (proxy=0xa185e0) at ssl-proxy-openssl.c:528 No locals. #11 0x00007fc7a77d6566 in io_loop_call_io (io=0xa15080) at ioloop.c:379 ioloop = 0x60d6e0 t_id = 2 #12 0x00007fc7a77d7237 in io_loop_handler_run (ioloop=<optimized out>) at ioloop-epoll.c:213 ctx = 0x9e6470 events = 0x0 event = 0x9e8030 list = 0x9f8ae0 io = <optimized out> tv = {tv_sec = 179, tv_usec = 999811} msecs = <optimized out> ret = 1 i = <optimized out> call = <optimized out> #13 0x00007fc7a77d5f78 in io_loop_run (ioloop=0x60d6e0) at ioloop.c:398 No locals. #14 0x00007fc7a77c1ee3 in master_service_run (service=0x60d590, callback=<optimized out>) at master-service.c:543 No locals. #15 0x00007fc7a7a266be in login_binary_run (binary=<optimized out>, argc=2, argv=0x60d370) at main.c:406 set_pool = 0x60da20 allow_core_dumps = <optimized out> login_socket = <optimized out> c = <optimized out> #16 0x00007fc7a7419ead in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6 No symbol table info available. #17 0x0000000000401fd9 in _start () No symbol table info available.
On 7.8.2012, at 15.54, tonio at starbridge.org wrote:> #0 settings_parser_dup (old_ctx=0xa26920, new_pool=0x6d6f632e32) at settings-parser.c:1742 > new_ctx = <optimized out> > iter = <optimized out> > new_link = <optimized out> > links = <optimized out> > key = <optimized out> > value = <optimized out> > i = <optimized out> > parser_pool = <optimized out> > __FUNCTION__ = "settings_parser_dup" > #1 0x00007fc7a77c3ecc in cache_add (parser=0xa26920, output=0x7ffffe4557f0, input=0x7ffffe455790, cache=0x60ea50) > at master-service-settings-cache.c:221 > entry = 0xe98b90 > pool = 0xe98b70 > pool_size = <optimized out> > entry_local_name = 0xe98b90 "pop.te.com"I guess nobody had tried to run Dovecot with many local / remote {} blocks previously. Fixed: http://hg.dovecot.org/dovecot-2.1/rev/2815175a0ffc
Le 07/08/2012 16:57, Timo Sirainen a ?crit :> On 7.8.2012, at 15.54, tonio at starbridge.org wrote: > >> #0 settings_parser_dup (old_ctx=0xa26920, new_pool=0x6d6f632e32) at settings-parser.c:1742 >> new_ctx = <optimized out> >> iter = <optimized out> >> new_link = <optimized out> >> links = <optimized out> >> key = <optimized out> >> value = <optimized out> >> i = <optimized out> >> parser_pool = <optimized out> >> __FUNCTION__ = "settings_parser_dup" >> #1 0x00007fc7a77c3ecc in cache_add (parser=0xa26920, output=0x7ffffe4557f0, input=0x7ffffe455790, cache=0x60ea50) >> at master-service-settings-cache.c:221 >> entry = 0xe98b90 >> pool = 0xe98b70 >> pool_size = <optimized out> >> entry_local_name = 0xe98b90 "pop.te.com" > I guess nobody had tried to run Dovecot with many local / remote {} blocks previously. Fixed: http://hg.dovecot.org/dovecot-2.1/rev/2815175a0ffc >Thanks Timo I will give it a try ASAP, but is it a bad thing to run dovecot with many local {} ? Thanks again for your work ! Regards Tonio