[oi-dev] /usr/libexec/dovecot/anvil crashes immediately
Stephan Althaus
Stephan.Althaus at Duedinghausen.eu
Thu Feb 10 20:33:55 UTC 2022
On 2/9/22 21:25, Till Wegmueller wrote:
> Hello Fritz
>
> It talks about a failed code assertion so something went out of
> expected bounds. Can you check if doevecot wrote something more
> usefull to syslog?
>
> Here it just says "file %s: line %d (%s): assertion failed: (%s)"
> But not the actual assertion failure message.
>
> The one below that is
> #8 0x00007ffef056048b in io_loop_handle_add (io=0x42d7c0) at
> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/ioloop-poll.c:94
> ctx = 0x423180
> condition = IO_READ
> old_count = 3221223792
> index = 0
> old_events = 59
> fd = 4
> __func__ = "io_loop_handle_add"
>
> But I can't tell if thats the panic or why dovecots panics here.
>
> -Till
>
> On 09.02.22 16:45, Friedrich Kink via oi-dev wrote:
>> Sent this already to dovecot mailinglist without response so far.
>> Maybe someone reading this list can help. Unfortunately it did not
>> show up during the test run of the package and I used earlier
>> versions without this problem.
>>
>>
>> Dear list,
>>
>> I built a dovecot package for openindiana (which is a Solaris
>> derivative) from latest version 2.3.18. Everything compiles and
>> builds fine without any issue. Even subsequent installation and
>> startup of main dovecot process works as expected. But execution of
>> /usr/libexec/dovecot/anvil immediately crashes. To get some more
>> meaningful backtrace I compiled with -g. Below some facts of my
>> environment and a backtrace. Maybe some of you are more familiar with
>> this kind of issue as I, and can give some hint or share ideas how to
>> nail down the problem. Or can it be a configuration issue? BTW it is
>> running in a so-called zone. And former versions, I don't know
>> exactly but I believe up to 2.3.17, did not show this crash.
>>
>> gcc --version
>> gcc (OpenIndiana 7.5.0-il-0) 7.5.0
>>
>> Configure parameters:
>>
>> gcc_OPT = -g
>>
>> CONFIGURE_OPTIONS+= --sysconfdir=/etc \
>> --localstatedir=/var \
>> --with-gssapi=plugin \
>> --with-ldap=plugin \
>> --with-sql=plugin \
>> --with-lua=plugin \
>> --with-ssl=openssl \
>> --with-ioloop=poll \
>> --with-notify=none \
>> --with-sodium \
>> --with-mysql \
>> --with-pgsql \
>> --enable-static=no \
>> --without-systemd \
>> SSL_CFLAGS=-I/usr/openssl/1.1/include \
>> SSL_LIBS="-L/usr/openssl/1.1/lib/amd64 -lssl
>> -lcrypto" \
>> LDFLAGS="-lldap_r"
>>
>> Backtrace:
>>
>> (gdb) bt full
>> #0 0x00007fff5d2e6f2a in _lwp_kill () from /lib/64/libc.so.1
>> No symbol table info available.
>> #1 0x00007fff5d2dd7f0 in thr_kill () from /lib/64/libc.so.1
>> No symbol table info available.
>> #2 0x00007fff5d27ae7e in raise () from /lib/64/libc.so.1
>> No symbol table info available.
>> #3 0x00007fff5d254ad8 in abort () from /lib/64/libc.so.1
>> No symbol table info available.
>> #4 0x00007ffef05367c0 in default_fatal_finish (type=LOG_TYPE_PANIC,
>> status=0) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/failures.c:459
>> backtrace = 0x4178b8
>> "/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'backtrace_append_libc+0x4c
>> [0x7ffef0522042] ->
>> /usr/lib/amd64/dovecot/libdovecot.so.0.0.0'backtrace_append+0x18
>> [0x7ffef05221c5] -> /usr/lib/amd64/dovecot/li"...
>> recursed = 0
>> #5 0x00007ffef0536827 in fatal_handler_real (ctx=0x7fffbffff820,
>> format=0x7ffef05d8730 "file %s: line %d (%s): assertion failed:
>> (%s)", args=0x7fffbffff850)
>> at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/failures.c:471
>> status = 0
>> #6 0x00007ffef0536871 in default_fatal_handler (ctx=0x7fffbffff820,
>> format=0x7ffef05d8730 "file %s: line %d (%s): assertion failed:
>> (%s)", args=0x7fffbffff850)
>> at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/failures.c:479
>> No locals.
>> #7 0x00007ffef0536aed in i_panic (format=0x7ffef05d8730 "file %s:
>> line %d (%s): assertion failed: (%s)") at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/failures.c:524
>> ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp =
>> 0x0, timestamp_usecs = 0, log_prefix = 0x0, log_prefix_type_pos = 0}
>> args = {{gp_offset = 8, fp_offset = 48, overflow_arg_area =
>> 0x7fffbffff930, reg_save_area = 0x7fffbffff870}}
>> #8 0x00007ffef056048b in io_loop_handle_add (io=0x42d7c0) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/ioloop-poll.c:94
>> ctx = 0x423180
>> condition = IO_READ
>> old_count = 3221223792
>> index = 0
>> old_events = 59
>> fd = 4
>> __func__ = "io_loop_handle_add"
>> #9 0x00007ffef055c1ab in io_add_file (ioloop=0x423070, fd=4,
>> condition=IO_READ, source_filename=0x7ffef05d9f48
>> "/usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c",
>> source_linenum=192, callback=0x7ffef05698f4 <signal_read>,
>> context=0x0) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/ioloop.c:72
>> io = 0x42d7c0
>> __func__ = "io_add_file"
>> #10 0x00007ffef055c27a in io_add_to (ioloop=0x423070, fd=4,
>> condition=IO_READ, source_filename=0x7ffef05d9f48
>> "/usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c",
>> source_linenum=192, callback=0x7ffef05698f4 <signal_read>,
>> context=0x0) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/ioloop.c:94
>> io = 0x7ffef0609aa0 <static_system_pool>
>> __func__ = "io_add_to"
>> #11 0x00007ffef0569289 in lib_signals_init_io (l=0x420a00) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c:192
>> __func__ = "lib_signals_init_io"
>> #12 0x00007ffef056933c in lib_signals_ioloop_ref (ioloop=0x423070) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c:205
>> l = 0x420a00
>> #13 0x00007ffef0569507 in signal_handler_switch_ioloop (h=0x4209c0)
>> at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c:232
>> No locals.
>> #14 0x00007ffef056a10a in lib_signals_set_handler (signo=2,
>> flags=LIBSIG_FLAG_DELAYED, handler=0x7ffef0475e74 <sig_die>,
>> context=0x422f20)
>> at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c:520
>> h = 0x4209c0
>> __func__ = "lib_signals_set_handler"
>> #15 0x00007ffef0477596 in master_service_init_finish
>> (service=0x422f20) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib-master/master-service.c:668
>> sigint_flags = LIBSIG_FLAG_DELAYED
>> st = {st_dev = 79, st_ino = 4209307, st_mode = 1, st_nlink =
>> 79, st_uid = 4218704, st_gid = 0, st_rdev = 17179869185, st_size =
>> 4337776, st_atim = {tv_sec = 140736414612384, tv_nsec = 1},
>> st_mtim = {tv_sec = 0, tv_nsec = 8388608}, st_ctim =
>> {tv_sec = 0, tv_nsec = 0}, st_blksize = 4378928, st_blocks = 255,
>> st_fstype = " /B\000\000\000\000\000 /B\000\000\000\000"}
>> __func__ = "master_service_init_finish"
>> #16 0x0000000000403cce in main (argc=1, argv=0x7fffbffffc38) at
>> /usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/anvil/main.c:80
>>
>> service_flags = (MASTER_SERVICE_FLAG_UPDATE_PROCTITLE |
>> MASTER_SERVICE_FLAG_DONT_SEND_STATS)
>> error = 0x7fffbffffc10 " \374\377\277\377\177"
>>
>> Thanks a lot for any help,
>>
>> Fritz
>>
>>
>> _______________________________________________
>> oi-dev mailing list
>> oi-dev at openindiana.org
>> https://openindiana.org/mailman/listinfo/oi-dev
>
> _______________________________________________
> oi-dev mailing list
> oi-dev at openindiana.org
> https://openindiana.org/mailman/listinfo/oi-dev
Hello Fritz!
o support your investigation, I tried mdb and it says
mdb: target performed exec of /usr/libexec/dovecot/anvil
*Panic: epoll_ctl(add, 4) failed: Not owner (fd doesn't support epoll)*
Error: Raw backtrace:
/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'backtrace_append+0x3f
[0x7fff7fbac40f] ->
/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'backtrace_get+0x1f
[0x7fff7fbac55f] ->
/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'fatal_handler_real+0x163
[0x7fff7fbc24e3] -> /usr/lib/amd64/dovecot/libdovecot.so.0.0.0'0x162521
[0x7fff7fbc2521] ->
/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'i_fatal+0x0 [0x7fff7fbc3644]
-> /usr/lib/amd64/dovecot/libdovecot.so.0.0.0'io_loop_handle_add+0x1e3
[0x7fff7fbe1153] ->
/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'io_add_to+0xe0
[0x7fff7fbdea40] ->
/usr/lib/amd64/dovecot/libdovecot.so.0.0.0'io_add+0x26 [0x7fff7fbdeb26]
-> /usr/libexec/dovecot/anvil'main+0x11a [0x4036ca] ->
/usr/libexec/dovecot/anvil'_start_crt+0x87 [0x4033d7] ->
/usr/libexec/dovecot/anvil'_start+0x18 [0x403338]
That epoll_ctl() would then be in*core/src/lib/ioloop-epoll.c*
function*void io_loop_handle_add(struct io_file *io)*
The question is which or what type of file is that..
open("/dev/poll", O_RDWR) = 4
ioctl(4, DP_EPOLLCOMPAT, 0x00000000) = 0
fcntl(4, F_GETFD, 0x00000000) = 0
fcntl(4, F_SETFD, 0x00000001) = 0
write(4, "04\0\0\01B\0\0\0 p ! B\0".., 16) Err#90 ELOOP
mmap(0x00010000, 65536, PROT_READ|PROT_WRITE|PROT_EXEC,
MAP_PRIVATE|MAP_ANON|MAP_ALIGN, 4294967295, 0) = 0x7FFFAF4D0000
Panic: epoll_ctl(add, 4) failed: Invalid argument
And now, what is wrong with this? I don't know :-(
Other files are opened, too:
# grep -i open truss.txt
open("/var/ld/64/ld.config", O_RDONLY) Err#2 ENOENT
open("/lib/64/libc.so.1", O_RDONLY) = 3
open("/usr/lib/amd64/dovecot/libdovecot.so.0", O_RDONLY) = 3
open("/lib/64/libsocket.so.1", O_RDONLY) = 3
open("/lib/64/libnsl.so.1", O_RDONLY) = 3
open("/dev/null", O_WRONLY) = 3
open("/var/ld/64/ld.config", O_RDONLY) Err#2 ENOENT
open("/lib/64/libc.so.1", O_RDONLY) = 3
open("/usr/lib/amd64/dovecot/libdovecot.so.0", O_RDONLY) = 3
open("/lib/64/libsocket.so.1", O_RDONLY) = 3
open("/lib/64/libnsl.so.1", O_RDONLY) = 3
open("/dev/null", O_WRONLY) = 3
open("/dev/poll", O_RDWR) = 6
open("/usr/lib/amd64/dovecot/settings", O_RDONLY|O_NDELAY|O_LARGEFILE)
Err#2 ENOENT
open("/etc/dovecot/dovecot.conf", O_RDONLY) = 7
open("/usr/share/dovecot/protocols.d/", O_RDONLY|O_NDELAY|O_LARGEFILE)
Err#2 ENOENT
open("/etc/dovecot/conf.d/", O_RDONLY|O_NDELAY|O_LARGEFILE) = 8
open("/etc/dovecot/conf.d/99-mail-stack-delivery.conf", O_RDONLY) = 8
open("/etc/dovecot/conf.d/90-sieve.conf", O_RDONLY) = 9
open("/etc/dovecot/conf.d/90-sieve-extprograms.conf", O_RDONLY) = 10
open("/etc/dovecot/conf.d/90-quota.conf", O_RDONLY) = 11
open("/etc/dovecot/conf.d/90-plugin.conf", O_RDONLY) = 12
open("/etc/dovecot/conf.d/90-acl.conf", O_RDONLY) = 13
open("/etc/dovecot/conf.d/20-pop3.conf", O_RDONLY) = 14
open("/etc/dovecot/conf.d/20-managesieve.conf", O_RDONLY) = 15
open("/etc/dovecot/conf.d/20-imap.conf", O_RDONLY) = 16
open("/etc/dovecot/conf.d/15-mailboxes.conf", O_RDONLY) = 17
open("/etc/dovecot/conf.d/15-lda.conf", O_RDONLY) = 18
open("/etc/dovecot/conf.d/10-tcpwrapper.conf", O_RDONLY) = 19
open("/etc/dovecot/conf.d/10-ssl.conf", O_RDONLY) = 20
open("/etc/dovecot/conf.d/10-master.conf", O_RDONLY) = 21
open("/etc/dovecot/conf.d/10-mail.conf", O_RDONLY) = 22
open("/etc/dovecot/conf.d/10-logging.conf", O_RDONLY) = 23
open("/etc/dovecot/conf.d/10-director.conf", O_RDONLY) = 24
open("/etc/dovecot/conf.d/10-auth.conf", O_RDONLY) = 25
open("/etc/dovecot/conf.d/auth-system.conf.ext", O_RDONLY) = 26
open("/var/ld/64/ld.config", O_RDONLY) Err#2 ENOENT
open("/lib/64/libc.so.1", O_RDONLY) = 3
open("/usr/lib/amd64/dovecot/libdovecot.so.0", O_RDONLY) = 3
open("/lib/64/libsocket.so.1", O_RDONLY) = 3
open("/lib/64/libnsl.so.1", O_RDONLY) = 3
open("/dev/null", O_WRONLY) = 3
open("/dev/poll", O_RDWR) = 4
open("/proc/self/as", O_RDONLY) = 5
...
Greetings,
Stephan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://openindiana.org/pipermail/oi-dev/attachments/20220210/532e7682/attachment-0001.html>
More information about the oi-dev
mailing list