[Dovecot] dict Panic after upgrade to 2.1.7

ckubu ckubu at so36.net
Tue Jul 3 17:11:34 EEST 2012


hallo,

> > dovecot log entries:
> > Jun 23 23:19:10 mx dovecot: dict: Panic: file driver-pgsql.c: line 84
> > (driver_pgsql_set_state): assertion failed: (state == SQL_DB_STATE_BUSY
> > || db-
> > 
> >> cur_result == NULL)
> 
> This is clearly a bug, but I don't really see why it's happening. It would
> be helpful if you could get a gdb backtrace:
> http://dovecot.org/bugreport.html

at all, i got 4 core dump files.

Jul  3 15:16:57 mx dovecot: dict: Fatal: master: service(dict): child 11902 killed with signal 6 (core dumped)
:qJul  3 15:22:59 mx dovecot: dict: Panic: file driver-pgsql.c: line 84 (driver_pgsql_set_state): assertion failed: (state == 
SQL_DB_STATE_BUSY || db->cur_result == NULL)
Jul  3 15:22:59 mx dovecot: dict: Error: Raw backtrace: /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x4478a) 
[0x7f6ab8f1078a] -> /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x447d6) [0x7f6ab8f107d6] -> 
/usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f6ab8ee75ef] -> dovecot/dict() [0x40a9a6] -> dovecot/dict() 
[0x40aa01] -> dovecot/dict() [0x40be43] -> dovecot/dict() [0x409474] -> dovecot/dict(sql_db_cache_deinit+0x20) [0x4089d0] -> 
dovecot/dict(main+0x169) [0x4059f9] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7f6ab8960c8d] -> dovecot/dict() [0x404b59]
Jul  3 15:22:59 mx dovecot: dict: Panic: file driver-pgsql.c: line 84 (driver_pgsql_set_state): assertion failed: (state == 
SQL_DB_STATE_BUSY || db->cur_result == NULL)
Jul  3 15:22:59 mx dovecot: dict: Error: Raw backtrace: /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x4478a) 
[0x7f2d4160c78a] -> /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x447d6) [0x7f2d4160c7d6] -> 
/usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(i_error+0) [0x7f2d415e35ef] -> dovecot/dict() [0x40a9a6] -> dovecot/dict() 
[0x40aa01] -> dovecot/dict() [0x40be43] -> dovecot/dict() [0x409474] -> dovecot/dict(sql_db_cache_deinit+0x20) [0x4089d0] -> 
dovecot/dict(main+0x169) [0x4059f9] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7f2d4105cc8d] -> dovecot/dict() [0x404b59]
Jul  3 15:22:59 mx dovecot: dict: Panic: file driver-pgsql.c: line 84 (driver_pgsql_set_state): assertion failed: (state == 
SQL_DB_STATE_BUSY || db->cur_result == NULL)
Jul  3 15:22:59 mx dovecot: dict: Error: Raw backtrace: /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x4478a) 
[0x7fca2e05c78a] -> /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x447d6) [0x7fca2e05c7d6] -> 
/usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(i_error+0) [0x7fca2e0335ef] -> dovecot/dict() [0x40a9a6] -> dovecot/dict() 
[0x40aa01] -> dovecot/dict() [0x40be43] -> dovecot/dict() [0x409474] -> dovecot/dict(sql_db_cache_deinit+0x20) [0x4089d0] -> 
dovecot/dict(main+0x169) [0x4059f9] -> /lib/libc.so.6(__libc_start_main+0xfd) [0x7fca2daacc8d] -> dovecot/dict() [0x404b59]
Jul  3 15:22:59 mx dovecot: dict: Fatal: master: service(dict): child 12033 killed with signal 6 (core dumped)
Jul  3 15:22:59 mx dovecot: dict: Fatal: master: service(dict): child 12340 killed with signal 6 (core dumped)
Jul  3 15:22:59 mx dovecot: dict: Fatal: master: service(dict): child 11847 killed with signal 6 (core dumped)

i will give you the gdb backtrace from the first dump:

gdb /usr/local/dovecot-2.1.7/libexec/dovecot/dict core.dict.11902
GNU gdb (GDB) 7.0.1-debian
Copyright (C) 2009 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/local/dovecot-2.1.7/libexec/dovecot/dict...done.
Reading symbols from /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0...done.
Loaded symbols for /usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0
Reading symbols from /usr/lib/libpq.so.5...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libpq.so.5
Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib/libdl.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/librt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /usr/lib/libssl.so.0.9.8...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libssl.so.0.9.8
Reading symbols from /usr/lib/libcrypto.so.0.9.8...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libcrypto.so.0.9.8
Reading symbols from /usr/lib/libkrb5.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libkrb5.so.3
Reading symbols from /lib/libcom_err.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libcom_err.so.2
Reading symbols from /usr/lib/libgssapi_krb5.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgssapi_krb5.so.2
Reading symbols from /lib/libcrypt.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/lib/libldap_r-2.4.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libldap_r-2.4.so.2
Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib64/ld-linux-x86-64.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /usr/lib/libz.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libk5crypto.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libk5crypto.so.3
Reading symbols from /usr/lib/libkrb5support.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libkrb5support.so.0
Reading symbols from /lib/libkeyutils.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libkeyutils.so.1
Reading symbols from /lib/libresolv.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libresolv.so.2
Reading symbols from /usr/lib/liblber-2.4.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/liblber-2.4.so.2
Reading symbols from /usr/lib/libsasl2.so.2...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libsasl2.so.2
Reading symbols from /usr/lib/libgnutls.so.26...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgnutls.so.26
Reading symbols from /usr/lib/libtasn1.so.3...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libtasn1.so.3
Reading symbols from /usr/lib/libgcrypt.so.11...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgcrypt.so.11
Reading symbols from /usr/lib/libgpg-error.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libgpg-error.so.0
Reading symbols from /lib/libgcc_s.so.1...(no debugging symbols found)...done.
Loaded symbols for /lib/libgcc_s.so.1
Core was generated by `dovecot/dict'.
Program terminated with signal 6, Aborted.
#0  0x00007ffc1f3da1b5 in raise () from /lib/libc.so.6
(gdb) bt full
#0  0x00007ffc1f3da1b5 in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00007ffc1f3dcfc0 in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00007ffc1f97679d in default_fatal_finish (type=<value optimized out>, status=0) at failures.c:191
        backtrace = 0x1b10110 "/usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x4478a) [0x7ffc1f97678a] -> 
/usr/local/dovecot-2.1.7/lib/dovecot/libdovecot.so.0(+0x447d6) [0x7ffc1f9767d6] -> /usr/local/dovecot-2.1.7/lib/dovec"...
#3  0x00007ffc1f9767d6 in i_internal_fatal_handler (ctx=0x7fff25ea55c0, format=<value optimized out>,
    args=<value optimized out>) at failures.c:649
        status = 0
#4  0x00007ffc1f94d5ef in i_panic (format=0x2e7e <Address 0x2e7e out of bounds>) at failures.c:263
        ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
        args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area = 0x7fff25ea5690, reg_save_area = 0x7fff25ea55d0}}
#5  0x000000000040a9a6 in driver_pgsql_set_state (db=0x1b22280, state=<value optimized out>) at driver-pgsql.c:84
        __FUNCTION__ = "driver_pgsql_set_state"
#6  0x000000000040aa01 in driver_pgsql_close (db=0x1b22280) at driver-pgsql.c:116
No locals.
#7  0x000000000040be43 in driver_pgsql_deinit_v (_db=0x1b22280) at driver-pgsql.c:263
No locals.
#8  0x0000000000409474 in driver_sqlpool_deinit (_db=0x1b21ee0) at driver-sqlpool.c:504
        conn_end = 0x1b221a0
        host = <value optimized out>
        conn = 0x1b22180
        __FUNCTION__ = "driver_sqlpool_deinit"
#9  0x00000000004089d0 in sql_db_cache_deinit (_cache=<value optimized out>) at sql-db-cache.c:142
        cache = 0x1b1e460
#10 0x00000000004059f9 in main_deinit (argc=1, argv=0x1b183a0) at main.c:72
No locals.
#11 main (argc=1, argv=0x1b183a0) at main.c:104
        set_roots = {0x40c640, 0x0}
        error = 0x0
(gdb) quit

Thank you for having a look.

bw
Christoph


-- 
e: ckubu at so36.net



More information about the dovecot mailing list