[Dovecot] dovecot/auth killed with signal 6

2012-05-09 Thread Edward Burr
I've had this working for over a month now with no problems. Then I
suffered a power outage today, and now dovecot/auth dies as soon as I start
dovecot. I've spent the past three hours searching google, but can't find
even a hint at what's wrong with my server. As far as I can tell, this is
the only thing that has failed after bringing the server back up when power
was restored. Can anyone help me figure out what is wrong?

The maillog records:
May  9 20:27:37 box dovecot: auth: Debug: Loading modules from directory:
/usr/lib64/dovecot/auth
May  9 20:27:37 box dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libauthdb_ldap.so
May  9 20:27:37 box dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libdriver_mysql.so
May  9 20:27:37 box dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libdriver_pgsql.so
May  9 20:27:37 box dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libdriver_sqlite.so
May  9 20:27:37 box dovecot: auth: Debug: Module loaded:
/usr/lib64/dovecot/auth/libmech_gssapi.so
May  9 20:27:37 box dovecot: auth: Panic: io_add(0x1) called twice fd=13,
callback=0x3016833290 - 0x3016836cd0
May  9 20:27:37 box dovecot: auth: Error: Raw backtrace:
/usr/lib64/dovecot/libdovecot.so.0() [0x301683ca6a] -
/usr/lib64/dovecot/libdovecot.so.0() [0x301683ca
b6] - /usr/lib64/dovecot/libdovecot.so.0() [0x3016816dba] -
/usr/lib64/dovecot/libdovecot.so.0(ioloop_iolist_add+0x7f) [0x301684872f]
- /usr/lib64/dovecot/li
bdovecot.so.0(io_loop_handle_add+0x39) [0x3016849149] -
/usr/lib64/dovecot/libdovecot.so.0(io_add+0xa3) [0x3016848593] -
/usr/lib64/dovecot/libdovecot.so.0(ma
ster_service_io_listeners_add+0x68) [0x3016835b88] -
/usr/lib64/dovecot/libdovecot.so.0(master_service_init_finish+0x192)
[0x30168363c2] - dovecot/auth(main+0
x207) [0x415567] - /lib64/libc.so.6(__libc_start_main+0xfd) [0x3016c1ecdd]
- dovecot/auth() [0x409aa9]
May  9 20:27:37 box dovecot: master: Error: service(auth): child 25615
killed with signal 6 (core dumped)
May  9 20:27:37 box dovecot: master: Error: service(auth): command startup
failed, throttling

A core dump was produced.  The backtrace shows:
# gdb /usr/libexec/dovecot/auth coredump
Core was generated by `dovecot/auth'.
Program terminated with signal 6, Aborted.
#0  0x003016c32885 in raise () from /lib64/libc.so.6
Missing separate debuginfos, use: debuginfo-install
dovecot-2.0.9-2.el6_1.1.x86_64
(gdb) bt full
#0  0x003016c32885 in raise () from /lib64/libc.so.6
#1  0x003016c34065 in abort () from /lib64/libc.so.6
#2  0x00301683ca78 in ?? () from /usr/lib64/dovecot/libdovecot.so.0
#3  0x00301683cab6 in ?? () from /usr/lib64/dovecot/libdovecot.so.0
#4  0x003016816dba in i_panic () from /usr/lib64/dovecot/libdovecot.so.0
#5  0x00301684872f in ioloop_iolist_add () from
/usr/lib64/dovecot/libdovecot.so.0
#6  0x003016849149 in io_loop_handle_add () from
/usr/lib64/dovecot/libdovecot.so.0
#7  0x003016848593 in io_add () from /usr/lib64/dovecot/libdovecot.so.0
#8  0x003016835b88 in master_service_io_listeners_add () from
/usr/lib64/dovecot/libdovecot.so.0
#9  0x0030168363c2 in master_service_init_finish () from
/usr/lib64/dovecot/libdovecot.so.0
#10 0x00415567 in main ()

This is running on CentOS 6.2
# rpm -q dovecot
dovecot-2.0.9-2.el6_1.1.x86_64

# dovecot --version
2.0.9

# dovecot -n
# 2.0.9: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.32-220.13.1.el6.x86_64 x86_64 CentOS release 6.2 (Final)
auth_debug = yes
auth_mechanisms = plain login
auth_verbose = yes
listen = *
mail_debug = yes
mail_location = mbox:~/mail:INBOX=/var/mail/%u
managesieve_notify_capability = mailto
managesieve_sieve_capability = fileinto reject envelope encoded-character
vacation subaddress comparator-i;ascii-numeric relational regex imap4flags
copy include variables body enotify environment mailbox date
mbox_write_locks = fcntl
passdb {
  driver = pam
}
plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
}
service auth {
  inet_listener {
port = 12345
  }
  unix_listener /var/spool/postfix/private/auth {
mode = 0666
  }
  user = $default_internal_user
}
ssl_cert = /etc/pki/dovecot/certs/dovecot.pem
ssl_key = /etc/pki/dovecot/private/dovecot.pem
userdb {
  driver = passwd
}


Re: [Dovecot] dovecot/auth killed with signal 6

2012-05-09 Thread Edward Burr
Okay, I figured out about installing debuginfo for a better backtrace, so
here it is:

#0  0x003016c32885 in raise (sig=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:64
resultvar = 0
pid = 2598
selftid = 2598
#1  0x003016c34065 in abort () at abort.c:92
save_stage = 2
act = {__sigaction_handler = {sa_handler = 0x1, sa_sigaction =
0x1}, sa_mask = {__val = {206536311181, 35954576, 35955280, 0,
206536165913, 4281703, 206536010617,
  206158430224, 140734171103856, 140734171103648, 7, 7,
35807776, 0, 16992, 6717507389398987896}}, sa_flags = 1768709983,
sa_restorer = 0}
sigs = {__val = {32, 0 repeats 15 times}}
#2  0x00301683ca78 in default_fatal_finish (type=value optimized out,
status=0) at failures.c:187
backtrace = 0x2226220 /usr/lib64/dovecot/libdovecot.so.0()
[0x301683ca6a] - /usr/lib64/dovecot/libdovecot.so.0() [0x301683cab6] -
/usr/lib64/dovecot/libdovecot.so.0() [0x3016816dba] -
/usr/lib64/dovecot/libdovecot.so.0(...
#3  0x00301683cab6 in i_internal_fatal_handler (ctx=0x7fff3a46c2e0,
format=value optimized out, args=value optimized out) at failures.c:645
status = 0
#4  0x003016816dba in i_panic (format=0xa26 Address 0xa26 out of
bounds) at failures.c:259
ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp = 0x0}
args = {{gp_offset = 40, fp_offset = 48, overflow_arg_area =
0x7fff3a46c3b0, reg_save_area = 0x7fff3a46c2f0}}
#5  0x00301684872f in ioloop_iolist_add (list=value optimized out,
io=value optimized out) at ioloop-iolist.c:26
i = value optimized out
idx = value optimized out
#6  0x003016849149 in io_loop_handle_add (io=0x224a250) at
ioloop-epoll.c:104
ctx = 0x2243b20
list = 0x2249558
event = {events = 1, data = {ptr = 0x16836cd0, fd = 0, u32
= 0, u64 = 1622259931392507904}}
op = value optimized out
first = value optimized out
#7  0x003016848593 in io_add (fd=13, condition=IO_READ,
callback=0x3016836cd0 master_service_listen, context=0x2249f90) at
ioloop.c:54
io = 0x224a250
__FUNCTION__ = io_add
#8  0x003016835b88 in master_service_io_listeners_add
(service=0x222e4d0) at master-service.c:777
l = 0x2249f90
i = value optimized out
#9  0x0030168363c2 in master_service_init_finish (service=0x222e4d0) at
master-service.c:385
st = {st_dev = 8, st_ino = 15492, st_nlink = 1, st_mode = 4480,
st_uid = 0, st_gid = 0, __pad0 = 0, st_rdev = 0, st_size = 0, st_blksize =
4096, st_blocks = 0, st_atim = {
tv_sec = 1336599449, tv_nsec = 793902156}, st_mtim = {tv_sec =
1336599449, tv_nsec = 793902156}, st_ctim = {tv_sec = 1336599449, tv_nsec =
793902156}, __unused = {0, 0,
0}}
value = value optimized out
count = 4096
__FUNCTION__ = master_service_init_finish
#10 0x00415567 in main (argc=1, argv=0x222e370) at main.c:293
c = value optimized out


Re: [Dovecot] dovecot/auth killed with signal 6

2012-05-09 Thread Edward Burr
Some more info...

I finally got it working by commenting out the configuration under service
auth {
#  inet_listener {
#port = 12345
#  }

which I had in there for SASL with postfix, and which WAS working before
the power outage.
I guess now I need to figure out why it doesn't like that now, but at least
dovecot is working again.