On 16-07-03 03:30:36, Timo Sirainen wrote: > On 02 Jul 2016, at 03:30, Adam Weinberger <ad...@adamw.org> wrote: > > > >>> Jul 1 10:07:27 imap dovecot: master: Panic: kevent(EV_ADD, READ, 54) > >>> failed: Bad file descriptor > >>> > >>> It's not dumping core, and I get the message even with "protocols =" > >>> > >>> Downgrading back to 2.2.24 fixes it. What info would be helpful for me to > >>> provide here? > >> > >> gdb backtrace: http://dovecot.org/bugreport.html#coredumps > >> > > > > Fuller logs attached. Thanks for your help, Timo. > > > > #6 0x2815b23a in i_panic (format=0x281ccf7a "kevent(EV_ADD, READ, %d) > > failed: %m") at failures.c:275 > > #7 0x28185e10 in io_loop_handle_add (io=0x288843a0) at ioloop-kqueue.c:67 > > #8 0x281815a8 in io_add_file (fd=56, condition=IO_READ, > > source_linenum=244, callback=0x2818a7d0 <signal_read>, context=0x0) at > > ioloop.c:59 > > #9 0x281813a6 in io_add (fd=56, condition=IO_READ, source_linenum=244, > > callback=0x2818a7d0 <signal_read>, context=0x0) at ioloop.c:81 > > #10 0x2818a666 in lib_signals_set_handler (signo=1, flags=3, > > handler=0x804e6c0 <sig_settings_reload>, context=0x0) at lib-signals.c:243 > > #11 0x0804e129 in main_init (set=0x2881d098) at main.c:518 > > #12 0x0804d562 in main (argc=3, argv=0xffffae08) at main.c:890 > > Weird. I haven't touched anything even close to that. Also kqueue works on my > OSX. The only thing that comes to my mind is > https://github.com/dovecot/core/commit/fde7b8a03bf91cfa5bb7ca3e84545386243fa0d2 > > Does it happen to work if you use the attached patch? > The patch doesn't apply cleanly for me on OpenBSD -current.
Hmm... Looks like a unified diff to me... The text leading up to this was: -------------------------- |commit 3fea4d5988de365503df44a9b067e3b181cac65c |Author: Timo Sirainen <timo.sirai...@dovecot.fi> |Date: Thu Jun 30 14:08:24 2016 +0300 | | master: Stopping didn't close dead-pipes early enough. | | This caused stopping to be too slow. Broken by 0153cf542. | |diff --git a/src/master/service-monitor.c b/src/master/service-monitor.c |index 19655c2..44cdb26 100644 |--- a/src/master/service-monitor.c |+++ b/src/master/service-monitor.c -------------------------- Patching file service-monitor.c using Plan A... Hunk #1 succeeded at 513 (offset 8 lines). Hunk #2 failed at 538. Hunk #3 succeeded at 595 with fuzz 2 (offset 8 lines). 1 out of 3 hunks failed--saving rejects to service-monitor.c.rej Hmm... The next patch looks like a unified diff to me... The text leading up to this was: -------------------------- |commit fde7b8a03bf91cfa5bb7ca3e84545386243fa0d2 |Author: Timo Sirainen <timo.sirai...@dovecot.fi> |Date: Tue Jun 28 23:38:11 2016 +0300 | | master: Added support for stopping specific services. | | We need to have a per-service fd for detecting a dead master. | |diff --git a/src/master/service-monitor.c b/src/master/service-monitor.c |index bf4e931..fb4f64f 100644 |--- a/src/master/service-monitor.c |+++ b/src/master/service-monitor.c -------------------------- Patching file service-monitor.c using Plan A... Reversed (or previously applied) patch detected! Assume -R? [y] If I select [y] and continue to build I get lots of build errors. -- Edgar Pettijohn