[Dovecot] imap proxy setup - "killed with signal 11"
hi-
i'm setting up an imap proxy in front of a novell groupwise server. it seems to so far be partially working, but dovecot is having trouble in certain cases. i expect that it's ultimately due to what i believe is a very poor implementation of imap provided by groupwise [at least based on other experiences in the past] - but that's a big part of why i'd like to have dovecot in between it and clients.
below is information collected during starting of dovecot, opening/initial connection from a client [os x mail.app], closing of the client, and stopping of dovecot.
os is ubuntu 12.10 development/beta, dovecot is 2.1.7 courtesy of ubuntu's packages.
log entries:
Oct 11 13:24:33 halo dovecot: master: Dovecot v2.1.7 starting up
Oct 11 13:24:49 halo dovecot: imap-login: Login: user=<jdoe>,
method=PLAIN, rip=10.68.40.110, lip=10.59.1.53, mpid=14171, TLS,
session=<iHgu2cvLlwAKRChu>
Oct 11 13:24:50 halo dovecot: imap-login: Login: user=<jdoe>,
method=PLAIN, rip=10.68.40.110, lip=10.59.1.53, mpid=14174, TLS,
session=
gdb backtrace:
~ >gdb /usr/lib/dovecot/imap /var/cache/imapproxy/jdoe/core GNU gdb (GDB) 7.5-ubuntu 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...Reading symbols from /usr/lib/debug/usr/lib/dovecot/imap...done. done. [New LWP 13939]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `dovecot/imap'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000000000 in ?? ()
(gdb) bt full
#0 0x0000000000000000 in ?? ()
No symbol table info available.
#1 0x00007fc7f6cb611e in imap_parser_reset (parser=0x7fc7f8a0f3a0) at
imap-parser.c:93
No locals.
#2 0x00007fc7f6f7ada7 in imapc_connection_input_reset
(conn=conn@entry=0x7fc7f8a0d270) at imapc-connection.c:664
No locals.
#3 0x00007fc7f6f7c6f4 in imapc_connection_input_untagged
(conn=conn@entry=0x7fc7f8a0d270) at imapc-connection.c:908
imap_args = 0x7fc7f8a0f4f8
name = 0x7fc7f8a0f5d0 ""
value = <optimized out>
parser = 0x0
reply = {name = 0x7fc7f8a0f5d0 "", num = 11, args =
0x7fc7f8a0f4f8, file_args = 0x7fc7f8a0d5d0, file_args_count = 0,
resp_text_key = 0x0, resp_text_value = 0x0,
untagged_box_context = 0x7fc7f8a1ad70}
ret = <optimized out>
#4 0x00007fc7f6f7d25e in imapc_connection_input_one
(conn=0x7fc7f8a0d270) at imapc-connection.c:1061
tag = 0x7fc7f8a0f5c0 ""
ret = -1
#5 imapc_connection_input_pending (conn=0x7fc7f8a0d270) at
imapc-connection.c:1407
_data_stack_cur_id = 6
ret = <optimized out>
#6 0x00007fc7f6f7d2c2 in imapc_connection_input (conn=0x7fc7f6c8f798)
at imapc-connection.c:1100
errstr = <optimized out>
ret = <optimized out>
#7 0x00007fc7f6cdf006 in io_loop_call_io (io=0x7fc7f8a23800) at
ioloop.c:379
ioloop = 0x7fc7f8a23630
t_id = 5
#8 0x00007fc7f6cdfcb7 in io_loop_handler_run
(ioloop=ioloop@entry=0x7fc7f8a23630) at ioloop-epoll.c:213
ctx = 0x7fc7f8a23850
events = 0x7fc7f8a245e0
event = 0x7fc7f8a238c0
list = 0x7fc7f8a24320
io = <optimized out>
tv = {tv_sec = 299, tv_usec = 999402}
events_count = <optimized out>
msecs = <optimized out>
ret = 1
i = <optimized out>
call = <optimized out>
#9 0x00007fc7f6cdea18 in io_loop_run (ioloop=0x7fc7f8a23630) at
ioloop.c:398
No locals.
#10 0x00007fc7f6f7a0f7 in imapc_client_run_pre (client=<optimized out>)
at imapc-client.c:142
connp = 0x7fc7f8a0cfe0
prev_ioloop = 0x7fc7f89e3670
#11 imapc_client_run (client=0x7fc7f8a0ce80) at imapc-client.c:161
No locals.
#12 0x00007fc7f6f79254 in imapc_storage_run (storage=0x7fc7f8a0be60) at
imapc-storage.c:118
No locals.
#13 0x00007fc7f6f78311 in imapc_sync_index (ctx=0x7fc7f8a1fc70) at
imapc-sync.c:351
mbox = 0x7fc7f8a1ad70
sync_rec = {uid1 = 47, uid2 = 0, type = (unknown: 4171272512),
add_flags = 199 '\307', remove_flags = 127 '\177', keyword_idx = 0,
guid_128 =
"\000\000\000\000)\235\312\366\307\177\000\000p\255\241",
doveconf -n # 2.1.7: /etc/dovecot/dovecot.conf # OS: Linux 3.5.0-17-generic x86_64 Ubuntu quantal (development branch) first_valid_gid = 999 first_valid_uid = 999 imapc_host = backend.example.com last_valid_gid = 999 last_valid_uid = 999 log_timestamp = "%d.%m.%Y %H.%M.%S " login_greeting = dovecot ready mail_gid = imapproxy mail_home = /var/cache/imapproxy/%u mail_location = imapc:%h/%n/Maildir mail_uid = imapproxy
config: passdb { args = host=backend.example.com default_fields = userdb_imapc_user=%u userdb_imapc_password=%w driver = imap } protocols = " imap" service auth-worker { user = $default_internal_user } service auth { unix_listener /var/spool/postfix/private/auth { group = postfix mode = 0666 user = postfix } } ssl = required ssl_cert =
thanks -ben
On 11.10.2012, at 20.35, btb wrote:
i'm setting up an imap proxy in front of a novell groupwise server. it seems to so far be partially working, but dovecot is having trouble in certain cases. i expect that it's ultimately due to what i believe is a very poor implementation of imap provided by groupwise [at least based on other experiences in the past] - but that's a big part of why i'd like to have dovecot in between it and clients.
os is ubuntu 12.10 development/beta, dovecot is 2.1.7 courtesy of ubuntu's packages.
There have been a couple of imapc fixes since v2.1.7. It's possible that the crash is fixed by one of them.
Oct 11 13:24:52 halo dovecot: imap(jdoe): Error: imapc: Mailbox 'Trash' state corrupted: Expunged message reappeared in session (uid=6282 < next_uid=6283)
Could you get imapc rawlogs where this happens? Point imapc_rawlog_dir setting to some directory.
#0 0x0000000000000000 in ?? () No symbol table info available. #1 0x00007fc7f6cb611e in imap_parser_reset (parser=0x7fc7f8a0f3a0) at imap-parser.c:93 No locals. #2 0x00007fc7f6f7ada7 in imapc_connection_input_reset (conn=conn@entry=0x7fc7f8a0d270) at imapc-connection.c:664 No locals. #3 0x00007fc7f6f7c6f4 in imapc_connection_input_untagged (conn=conn@entry=0x7fc7f8a0d270) at imapc-connection.c:908
This backtrace unfortunately doesn't make it very clear what the problem is. I'd guess it's trying to use already freed memory (one such bug was already fixed).
participants (2)
-
btb
-
Timo Sirainen