Auth process sometimes stop responding after upgrade

Simone Lazzaris s.lazzaris at interactive.eu
Sat Sep 8 14:56:24 EEST 2018


In data venerdì 7 settembre 2018 18:43:36 CEST, Timo Sirainen ha scritto:

Hi Timo;
it happened again, this time on a "high-performance" instance (e.g., WITH 
service_count=0)

> On 7 Sep 2018, at 16.50, Simone Lazzaris <s.lazzaris at interactive.eu> wrote:
> > Some more information: the issue has just occurred, again on an instance
> > without the "service_count = 0" configuration directive on pop3-login.
> Could you also try two more things when it happens again:
> 
> ltrace -tt -e '*' -o ltrace.log -p <pid>
> (My guess this isn't going to be very useful, but just in case it might
> be..)

Done; unfortunately, ltrace.log is empty.

> gdb -p <pid>
> bt full
> quit
> 

Here it is:

root at imapfront2:/usr/local/src/dovecot-2.2.36/src# gdb -p 31635
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/>.
Attaching to process 31635
Reading symbols from /usr/local/libexec/dovecot/director...done.
Reading symbols from /usr/local/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /usr/local/lib/dovecot/libdovecot.so.0
Reading symbols from /lib/i386-linux-gnu/i686/cmov/libc.so.6...(no debugging 
symbols found)...done.
Loaded symbols for /lib/i386-linux-gnu/i686/cmov/libc.so.6
Reading symbols from /lib/i386-linux-gnu/i686/cmov/libdl.so.2...(no debugging 
symbols found)...done.
Loaded symbols for /lib/i386-linux-gnu/i686/cmov/libdl.so.2
Reading symbols from /lib/i386-linux-gnu/i686/cmov/librt.so.1...(no debugging 
symbols found)...done.
Loaded symbols for /lib/i386-linux-gnu/i686/cmov/librt.so.1
Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /lib/i386-linux-gnu/i686/cmov/libpthread.so.0...(no 
debugging symbols found)...done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/i686/cmov/
libthread_db.so.1".
Loaded symbols for /lib/i386-linux-gnu/i686/cmov/libpthread.so.0
0xb76fa428 in __kernel_vsyscall ()
(gdb) bt full
#0  0xb76fa428 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb752929e in epoll_ctl () from /lib/i386-linux-gnu/i686/cmov/libc.so.6
No symbol table info available.
#2  0xb7678aa0 in io_loop_handle_add (io=io at entry=0x815db90) at ioloop-
epoll.c:106
        ctx = 0x8144e98
        list = 0x814556c
        event = {events = 27, data = {ptr = 0x815c160, fd = 135643488, u32 = 
135643488, u64 = 135643488}}
        op = 1
        first = <optimized out>
#3  0xb7676a7d in io_add_file (fd=fd at entry=27, 
condition=condition at entry=IO_READ, 
    source_filename=source_filename at entry=0x805f7f4 "doveadm-connection.c", 
source_linenum=source_linenum at entry=1070, 
    callback=callback at entry=0x8057e10 <doveadm_connection_input>, 
context=context at entry=0x8166398) at ioloop.c:64
        io = 0x815db90
        __FUNCTION__ = "io_add_file"
#4  0xb7676bef in io_add (fd=27, condition=condition at entry=IO_READ, 
    source_filename=source_filename at entry=0x805f7f4 "doveadm-connection.c", 
source_linenum=source_linenum at entry=1070, 
    callback=callback at entry=0x8057e10 <doveadm_connection_input>, 
context=context at entry=0x8166398) at ioloop.c:87
        io = <optimized out>
        __FUNCTION__ = "io_add"
#5  0x08057135 in doveadm_connection_set_io (conn=conn at entry=0x8166398) at 
doveadm-connection.c:1070
No locals.
#6  0x08059528 in doveadm_connections_ring_synced () at doveadm-connection.c:
1171
        conn = 0x8166398
        callback = 0x8057f90 <doveadm_connection_cmd_run_synced>
#7  0xb76777b7 in io_loop_handle_timeouts_real (ioloop=0x8138678) at ioloop.c:
568
        timeout = 0x8165a38
        item = 0x8165a38
        tv = {tv_sec = 0, tv_usec = 0}
        tv_call = {tv_sec = 1536404874, tv_usec = 999375}
        t_id = 3
#8  io_loop_handle_timeouts (ioloop=ioloop at entry=0x8138678) at ioloop.c:581
        _data_stack_cur_id = 2
#9  0xb7678dd2 in io_loop_handler_run_internal (ioloop=ioloop at entry=0x8138678) 
at ioloop-epoll.c:196
        ctx = 0x8144e98
        events = 0x0
        event = 0x8138678
        list = <optimized out>
        io = <optimized out>
        tv = {tv_sec = 0, tv_usec = 0}
        events_count = 15
        msecs = 0
        ret = 0
        i = <optimized out>
        j = <optimized out>
        call = <optimized out>
        __FUNCTION__ = "io_loop_handler_run_internal"
#10 0xb7677496 in io_loop_handler_run (ioloop=ioloop at entry=0x8138678) at 
ioloop.c:649
No locals.
---Type <return> to continue, or q <return> to quit---
#11 0xb7677658 in io_loop_run (ioloop=0x8138678) at ioloop.c:624
        __FUNCTION__ = "io_loop_run"
#12 0xb75f045e in master_service_run (service=0x81385a8, 
callback=callback at entry=0x804d360 <client_connected>) at master-service.c:719
No locals.
#13 0x0804cf5e in main (argc=1, argv=0x8138300) at main.c:366
        set_roots = {0x805f680, 0x0}
        test_port = 0
        error = <optimized out>
        debug = false
        c = <optimized out>
(gdb) quit
A debugging session is active.

        Inferior 1 [process 31635] will be detached.

Quit anyway? (y or n) y

> Preferably install dovecot-dbg package also so the gdb backtrace output will
> be better.

Well, I've compiled dovecot from the source, so I don't have a package. I'll 
try your patch on a server or two, and see if it solve the issues for them.

-- 
Simone Lazzaris
Qcom SpA




More information about the dovecot mailing list