[Dovecot] dovecot-auth segfault with vpopmail 5.5.0 on amd64

Lawrence lawrence at computersolutions.cn
Mon Aug 31 20:41:32 EEST 2009


Seeing dovecot-auth segfault on amd64

dovecot is 1.2.4


pertinent details below:



  ldd /usr/local/libexec/dovecot/dovecot-auth
	linux-vdso.so.1 =>  (0x00007fffef1fe000)
	libcrypt.so.1 => /lib/libcrypt.so.1 (0x00007fe8e6bae000)
	libvpopmail.so => /usr/lib/libvpopmail.so (0x00007fe8e6986000)
	libdl.so.2 => /lib/libdl.so.2 (0x00007fe8e6782000)
	librt.so.1 => /lib/librt.so.1 (0x00007fe8e657a000)
	libc.so.6 => /lib/libc.so.6 (0x00007fe8e6229000)
	/lib64/ld-linux-x86-64.so.2 (0x00007fe8e6de6000)
	libpthread.so.0 => /lib/libpthread.so.0 (0x00007fe8e600e000)


dovecot -n


# 1.2.4: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.26-1-amd64 x86_64 Debian squeeze/sid
base_dir: /var/run/dovecot
log_path: /var/log/dovecot.log
listen: 127.0.0.1:143
ssl_listen: *:993
ssl_cert_file: /var/qmail/control/servercert.pem
ssl_key_file: /var/qmail/control/clientcert.pem
disable_plaintext_auth: no
login_dir: /var/run/dovecot/login
login_executable: /usr/local/libexec/dovecot/imap-login
login_greeting: Computer Solutions IMAP Server
login_max_connections: 4096
mail_max_userip_connections: 50
first_valid_uid: 89
first_valid_gid: 89
mail_debug: yes
mail_drop_priv_before_exec: yes
mail_plugins: quota imap_quota
imap_client_workarounds: outlook-idle
namespace:
   type: private
   prefix: INBOX.
   inbox: yes
   list: yes
   subscriptions: yes
auth default:
   user: vpopmail
   passdb:
     driver: vpopmail
   userdb:
     driver: vpopmail
plugin:
   quota: maildir



this is the strace

16:59:30.529067 epoll_wait(7, {}, 7, 1788) = 0
16:59:32.317110 epoll_wait(7, {{EPOLLIN, {u32=17196288,  
u64=17196288}}}, 7, 5000) = 1
16:59:34.777612 read(8, "AUTH\t1\tPLAIN\tservice=imap\tsecured"...,  
4074) = 134
16:59:34.777750 --- SIGSEGV (Segmentation fault) @ 0 (0) ---


and from a core dump

gdb /usr/local/libexec/dovecot/dovecot-auth ./core
GNU gdb (GDB) 6.8.50.20090628-cvs-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/>...

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /lib/libcrypt.so.1...done.
Loaded symbols for /lib/libcrypt.so.1
Reading symbols from /usr/lib/libvpopmail.so...done.
Loaded symbols for /usr/lib/libvpopmail.so
Reading symbols from /lib/libdl.so.2...done.
Loaded symbols for /lib/libdl.so.2
Reading symbols from /lib/librt.so.1...done.
Loaded symbols for /lib/librt.so.1
Reading symbols from /lib/libc.so.6...done.
Loaded symbols for /lib/libc.so.6
Reading symbols from /lib64/ld-linux-x86-64.so.2...done.
Loaded symbols for /lib64/ld-linux-x86-64.so.2
Reading symbols from /lib/libpthread.so.0...done.
Loaded symbols for /lib/libpthread.so.0
Reading symbols from /lib/libnss_compat.so.2...done.
Loaded symbols for /lib/libnss_compat.so.2
Reading symbols from /lib/libnsl.so.1...done.
Loaded symbols for /lib/libnsl.so.1
Reading symbols from /lib/libnss_nis.so.2...done.
Loaded symbols for /lib/libnss_nis.so.2
Reading symbols from /lib/libnss_files.so.2...done.
Loaded symbols for /lib/libnss_files.so.2
Core was generated by `dovecot-auth'.
Program terminated with signal 11, Segmentation fault.
#0  0x0000000000000000 in ?? ()
(gdb)



(gdb) bt full
#0  0x0000000000000000 in ?? ()
No symbol table info available.
#1  0x000000000041eb2d in vpopmail_lookup_vqp (request=0x1ae6548,  
vpop_user=0x7fff7a044830 "lawrence", vpop_domain=0x7fff7a0447d0  
"shanghaiguide.com") at userdb-vpopmail.c:43
        vpw = <value optimized out>
#2  0x000000000041c9c6 in vpopmail_password_lookup  
(auth_request=0x7fff7a044830, cleartext=false,  
result_r=0x7fff7a0448d4) at passdb-vpopmail.c:65
        vpop_user = "lawrence", '\0' <repeats 72 times>
        vpop_domain = "shanghaiguide.com", '\0' <repeats 63 times>
        vpw = <value optimized out>
        password = <value optimized out>
#3  0x000000000041cc0d in vpopmail_verify_plain  
(request=0x7fff7a044830, password=0x1ad1278 "123", callback=0x412390  
<auth_request_verify_plain_callback>) at passdb-vpopmail.c:119
        result = <value optimized out>
        scheme = <value optimized out>
        tmp_pass = <value optimized out>
        crypted_pass = <value optimized out>
        ret = <value optimized out>
#4  0x000000000041221d in auth_request_verify_plain  
(request=0x1ae6548, password=0x1ad1278 "123", callback=0x41ab00  
<plain_verify_callback>) at auth-request.c:507
        passdb = 0x1ad9a10
        result = <value optimized out>
        cache_key = <value optimized out>
        __PRETTY_FUNCTION__ = "auth_request_verify_plain"
#5  0x000000000041726e in mech_plain_auth_continue (request=0x1ae6548,  
data=0x1ad1250 "", data_size=<value optimized out>) at mech-plain.c:58
        authid = 0x1ad1250 ""
        authenid = 0x1ad1251 "lawrence at shanghaiguide.com"
        error = <value optimized out>
        pass = 0x1ad1278 "123"
        i = <value optimized out>
        count = <value optimized out>
#6  0x0000000000412c12 in auth_request_handler_auth_begin  
(handler=0x1ae18a8, args=<value optimized out>) at auth-request- 
handler.c:388
        mech = <value optimized out>
        request = 0x1ae6548
        list = 0x1ad1110
        name = <value optimized out>
        arg = 0x1ad1218 "P\22\255\1"
        initial_resp = 0x1ad109c  
"AGxhd3JlbmNlQHNoYW5naGFpZ3VpZGUuY29tADEyMw=="
        initial_resp_len = 4428754
        id = <value optimized out>
        buf = 0x1ad1218
#7  0x000000000040e2d6 in auth_client_handle_line (conn=0x1ae01f0) at  
auth-client-connection.c:174
No locals.
#8  auth_client_input (conn=0x1ae01f0) at auth-client-connection.c:250
---Type <return> to continue, or q <return> to quit---
        _data_stack_cur_id = 3
        line = 0x1ae0866 "AUTH\t1\tPLAIN\tservice=imap\tsecured 
\tlip 
= 
127.0.0.1 
\trip 
= 
127.0.0.1 
\tlport 
=993\trport=42735\tresp=AGxhd3JlbmNlQHNoYW5naGFpZ3VpZGUuY29tADEyMw=="
        ret = 2
#9  0x0000000000429e8b in io_loop_handler_run (ioloop=<value optimized  
out>) at ioloop-epoll.c:208
        ctx = 0x1ad9fe0
        event = 0x1adca40
        list = 0x1ae0500
        io = 0x1ae04c0
        tv = {tv_sec = 4, tv_usec = 999952}
        t_id = 2
        msecs = <value optimized out>
        ret = 1
        call = <value optimized out>
#10 0x0000000000429318 in io_loop_run (ioloop=0x1ad9350) at ioloop.c:335
No locals.
#11 0x0000000000416aae in main (argc=<value optimized out>,  
argv=<value optimized out>) at main.c:347
        foreground = false




More information about the dovecot mailing list