Le 08/08/2012 15:41, Timo Sirainen a écrit :
On 8.8.2012, at 9.42, tonio@starbridge.org wrote:
I've just tried this patch, so far pop-login error doesnt shows up , but now I've got this one: (imap-login this time)
Aug 8 08:19:36 eol1 dovecot: imap-login: Fatal: master: service(imap-login): child 31887 killed with signal 6 (core dumped) .. #6 0xb779678d in hash_table_remove (table=0x83596b8, key=0x8833fe0) at hash.c:317 node = <optimized out> hash = 1839751767 #7 0xb778adda in setting_entry_detach (entry=0x8833fd0, cache=0x8057648) at master-service-settings-cache.c:167 I don't see how this could happen by looking at the code. I also can't reproduce this myself. Can you easily reproduce this? Could you run imap-login via valgrind (it slows things down):
service imap-login { executable = /usr/bin/valgrind -q --vgdb=no /usr/local/libexec/dovecot/imap-login }
(you may not have/need --vgdb=no, depends on your valgrind version)
Timo, I can'f find what trigger this error, and it seems only happenig under some load here the error log in mail.log: (by the way, this is not the same server than before, this one running a Debian Wheezy on a 2.6.32.2 linux kernel and 64 bits architecture.)
Aug 9 09:01:36 smtp dovecot: imap-login: Error: ==27313== Invalid read of size 4 Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== at 0x5069BA1: settings_parser_get_list (settings-parser.c:254) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E3EA7C: login_settings_read (login-settings.c:230) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41347: ssl_servername_callback (ssl-proxy-openssl.c:1144) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568F161: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567B204: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567F8C4: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568C102: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41AF0: ssl_step (ssl-proxy-openssl.c:465) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E3EE3D: client_connected_finish (main.c:139) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x508C3E4: master_service_listen (master-service.c:803) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0275: io_loop_call_io (ioloop.c:379) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0F06: io_loop_handler_run (ioloop-epoll.c:213) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== Address 0x65fc1e0 is 96 bytes inside a block of size 8,192 free'd Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== at 0x4C27D4E: free (vg_replace_malloc.c:427) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x508DC1E: master_service_settings_cache_read (master-service-settings-cache.c:168) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E3EA6A: login_settings_read (login-settings.c:226) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41347: ssl_servername_callback (ssl-proxy-openssl.c:1144) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568F161: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567B204: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567F8C4: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568C102: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41AF0: ssl_step (ssl-proxy-openssl.c:465) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0275: io_loop_call_io (ioloop.c:379) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0F06: io_loop_handler_run (ioloop-epoll.c:213) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x509FC87: io_loop_run (ioloop.c:398) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== Invalid read of size 4 Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== at 0x5069BB3: settings_parser_get_list (settings-parser.c:255) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E3EA7C: login_settings_read (login-settings.c:230) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41347: ssl_servername_callback (ssl-proxy-openssl.c:1144) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568F161: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567B204: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567F8C4: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568C102: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41AF0: ssl_step (ssl-proxy-openssl.c:465) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E3EE3D: client_connected_finish (main.c:139) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x508C3E4: master_service_listen (master-service.c:803) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0275: io_loop_call_io (ioloop.c:379) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0F06: io_loop_handler_run (ioloop-epoll.c:213) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== Address 0x65fc1e0 is 96 bytes inside a block of size 8,192 free'd Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== at 0x4C27D4E: free (vg_replace_malloc.c:427) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x508DC1E: master_service_settings_cache_read (master-service-settings-cache.c:168) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E3EA6A: login_settings_read (login-settings.c:226) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41347: ssl_servername_callback (ssl-proxy-openssl.c:1144) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568F161: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567B204: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x567F8C4: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x568C102: ??? (in /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x4E41AF0: ssl_step (ssl-proxy-openssl.c:465) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0275: io_loop_call_io (ioloop.c:379) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x50A0F06: io_loop_handler_run (ioloop-epoll.c:213) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== by 0x509FC87: io_loop_run (ioloop.c:398) Aug 9 09:01:37 smtp dovecot: imap-login: Error: ==27313== Aug 9 09:01:37 smtp dovecot: imap-login: Panic: file login-settings.c: line 232 (login_settings_read): assertion failed: (cache_sets[count] == NULL)
backtrace on vgcore:
gdb /usr/lib/dovecot/imap-login /root/vgcore.27313 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 "x86_64-linux-gnu". For bug reporting instructions, please see: http://www.gnu.org/software/gdb/bugs/... Reading symbols from /usr/lib/dovecot/imap-login...done.
warning: core file may not match specified executable file.
[New LWP 27313]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by '. Program terminated with signal 6, Aborted. #0 0x0000000005311475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 64 ../nptl/sysdeps/unix/sysv/linux/raise.c: Aucun fichier ou dossier de ce type. (gdb) bt full #0 0x0000000005311475 in *__GI_raise (sig=<optimized out>) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 pid = <optimized out> selftid = <optimized out> #1 0x00000000053146f0 in *__GI_abort () at abort.c:92 act = {__sigaction_handler = {sa_handler = 0x4e45130, sa_sigaction = 0x4e45130}, sa_mask = {__val = {34342962424, 84234600, 67249360, 84246240, 4294967295, 86924192, 67250608, 2684328, 4294967295, 34342962672, 1, 2679208, 0, 34342962672, 113514016, 84197376}}, sa_flags = 67164658, sa_restorer = 0x1} sigs = {__val = {32, 0 <repeats 15 times>}} #2 0x0000000005093538 in default_fatal_finish (type=<optimized out>, status=status@entry=0) at failures.c:191 backtrace = 0x76d2364 "\003\003P#
P1"
#3 0x000000000509356e in i_internal_fatal_handler (ctx=0x7ff0004e0,
format=<optimized out>, args=<optimized out>)
at failures.c:649
status = 0
#4 0x0000000005067efa in i_panic (format=format@entry=0x4e45130 "file
%s: line %d (%s): assertion failed: (%s)")
at failures.c:263
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area =
0x7ff0005d0, reg_save_area = 0x7ff000510}}
#5 0x0000000004e3ecd4 in login_settings_read (pool=0x8783670,
local_ip=local_ip@entry=0xafce3e4,
remote_ip=remote_ip@entry=0xafce3f8, local_name=<optimized out>,
other_settings_r=other_settings_r@entry=0x7ff000698)
at login-settings.c:232
input = {roots = 0x6056c0, config_path = 0x0,
preserve_environment = false, preserve_user = false,
preserve_home = false, never_exec = false, use_sysexits =
false, parse_full_config = false,
module = 0x4043b4 "imap-login", service = 0x4043af "imap",
username = 0x0, local_ip = {family = 2, u = {ip6 = {
__in6_u = {__u6_addr8 = "Wb§e", '\000'