According to man page, the only way it can return EINVAL (22) is either bad filter, or bad timeout. I can't see how the filter would be bad, so I'm guessing ts must be bad. Unfortunately I forgot to ask for it, so I am going to have to ask you run it again and run
p ts if that's valid, then the only thing that can be bad if the file descriptor 23. Aki > On October 23, 2016 at 7:42 PM Larry Rosenman <larry...@gmail.com> wrote: > > > ok, gdb7 works: > (gdb) fr 6 > #6 0x00000008011a3e49 in io_loop_handler_run_internal (ioloop=0x801c214e0) > at ioloop-kqueue.c:131 > 131 i_panic("kevent(): %m"); > (gdb) p errno > $1 = 22 > (gdb) p ret > $2 = -1 > (gdb) p *ioloop > $3 = {prev = 0x801c21080, cur_ctx = 0x0, io_files = 0x801c4f980, > next_io_file = 0x0, timeouts = 0x801c19e60, timeouts_new = {arr = {buffer = > 0x801c5ac80, element_size = 8}, v = 0x801c5ac80, > v_modifiable = 0x801c5ac80}, handler_context = 0x801c19e80, > notify_handler_context = 0x0, max_fd_count = 0, time_moved_callback = > 0x800d53bb0 <mail_storage_service_time_moved>, > next_max_time = 1477240784, ioloop_wait_usecs = 29863, io_pending_count = > 1, running = 1, iolooping = 1} > (gdb) p *ctx > $4 = {kq = 22, deleted_count = 0, events = {arr = {buffer = 0x801c5acc0, > element_size = 32}, v = 0x801c5acc0, v_modifiable = 0x801c5acc0}} > (gdb) p *events > $5 = {ident = 23, filter = -1, flags = 0, fflags = 0, data = 8, udata = > 0x801c4f980} > (gdb) > > > > On Sun, Oct 23, 2016 at 11:27 AM, Larry Rosenman <larry...@gmail.com> wrote: > > > grrr. > > > > /home/mrm $ gdb /usr/local/bin/doveadm > > GNU gdb 6.1.1 [FreeBSD] > > Copyright 2004 Free Software Foundation, Inc. > > GDB is free software, covered by the GNU General Public License, and you > > are > > welcome to change it and/or distribute copies of it under certain > > conditions. > > Type "show copying" to see the conditions. > > There is absolutely no warranty for GDB. Type "show warranty" for details. > > This GDB was configured as "amd64-marcel-freebsd"... > > (gdb) run -D -vvvvvv index * > > Starting program: /usr/local/bin/doveadm -D -vvvvvv index * > > > > Program received signal SIGTRAP, Trace/breakpoint trap. > > Cannot remove breakpoints because program is no longer writable. > > It might be running in another process. > > Further execution is probably impossible. > > 0x0000000800624490 in ?? () > > (gdb) > > > > Ideas? > > > > > > On Sun, Oct 23, 2016 at 11:14 AM, Aki Tuomi <aki.tu...@dovecot.fi> wrote: > > > >> Hi, > >> > >> can you run doveadm in gdb, wait for it to crash, and then go to frame 6 > >> ( io_loop_handler_run_internal) and run > >> > >> p errno > >> p ret > >> p *ioloop > >> p *ctx > >> p *events > >> > >> Sorry but the crash doesn't make enough sense yet to me, we need to > >> determine what the invalid parameter is. > >> > >> > Larry Rosenman http://www.lerctr.org/~ler > >> > Phone: +1 214-642-9640 (c) E-Mail: larry...@gmail.com > >> > US Mail: 17716 Limpia Crk, Round Rock, TX 78664-7281 > >> > > > > > > > > -- > > Larry Rosenman http://www.lerctr.org/~ler > > Phone: +1 214-642-9640 (c) E-Mail: larry...@gmail.com > > US Mail: 17716 Limpia Crk, Round Rock, TX 78664-7281 > > > > > > -- > Larry Rosenman http://www.lerctr.org/~ler > Phone: +1 214-642-9640 (c) E-Mail: larry...@gmail.com > US Mail: 17716 Limpia Crk, Round Rock, TX 78664-7281