On 16/05/2023 16:24 EEST Moritz Orbach via dovecot dovecot@dovecot.org wrote:
Hi all,
Our Dovecot replication crashes because an assertion in dovecot-core/src/lib/fd-util.c fails:
#6 0x00007fd5ac89b08e in fd_set_nonblock (fd=-1, nonblock=true) at fd-util.c:102 102 i_assert(fd > -1);
This only happens if dovecot starts the replication by itself, i.e. not when using “doveadm sync -d -u USER”
Chasing the contents of fd in the stack: #7 0x0000560045173e21 in cmd_dsync_ibc_stream_init (ctx=0x560045966d48, name=0x560045986e15 "smtp-mz.chiorino.com:9090", temp_prefix=0x56004590dbe8 "/tmp/dovecot.doveadm.") at doveadm-dsync.c:567 567 fd_set_nonblock(ctx->fd_in, TRUE);
The struct member ctx->fd_in is already -1 at this point.
#8 0x0000560045174662 in cmd_dsync_run (_ctx=0x560045966d48, user=0x5600459a1748) at doveadm-dsync.c:706 706 ibc = cmd_dsync_ibc_stream_init(ctx, ctx->remote_name,
The variable ctx gets defined in this function. The struct member ctx->fd_in is -1.
This is as much (hopefully useful) info I can give without guidance.
dovecot-sysreport attached.
The sysreport is missing the core file. Log excerpt would've been nice too, in addition to the assert error. Can you provide these?
I'm wondering if this happens because connection fails to smtp-mz.chiorino.com:9090. Can you test that?
Aki