Fabian Fritz
2018-Dec-06 18:34 UTC
Dovecot 2.3.4 crashing on Solaris 10 - "Panic: output stream is missing error handling"
Hi, I just compiled Dovecot for Solaris 10 and try to run it now. Other than setting a custom port, I did not add custom settings. When I tried running doveconf for the first time, it crashed immediately: doveconf -n # 2.3.4 (): /export/dovecot/etc/dovecot/dovecot.conf # OS: SunOS 5.10 sun4u~~ # Hostname: merlin service pop3-login { inet_listener pop3 { port = 1110 } } submission_max_mail_size = 0 doveconf: Panic: output stream is missing error handling doveconf: Error: Raw backtrace: 0xff01b3a8 -> 0xff063b04 -> 0x1673c -> 0x1797c -> 0x14478 Abort (core dumped) The same error appears when I run dovecot -F. Unfortunately I currently don't have access to the core dumps (I might do later), but I could run it with the Debugger with user process debugging enabled: (This is the part when it crashes. I can provide the full output if requested) truss -u "libdovecot" /export/dovecot/bin/doveconf -n service pop3-login { inet_listener pop3 { port = 1110 } } submission_max_mail_size = 0 /1: write(1, " s e r v i c e p o p 3".., 95) = 95 /1 at 1: <- libdovecot:o_stream_uncork() = 0xa1918 /1 at 1: -> libdovecot:buffer_free(0xa1a10, 0x0, 0x0, 0x0) /1 at 1: -> libdovecot:pool_system_free(0xff0fb050, 0x4af10, 0xff0fb030, 0xff059470) /1 at 1: <- libdovecot:buffer_free() = 0 /1 at 1: -> libdovecot:buffer_free(0xa1a18, 0x1c00, 0xfec47940, 0x0) /1 at 1: -> libdovecot:pool_system_free(0xff0fb050, 0x4af60, 0xff0fb030, 0xff059470) /1 at 1: <- libdovecot:buffer_free() = 0 /1 at 1: -> libdovecot:pool_datastack_create(0xc3ed8, 0xc4200, 0x328, 0x0) /1 at 1: <- libdovecot:pool_datastack_create() = 0x42a58 /1 at 1: -> libdovecot:buffer_create_dynamic(0x42a58, 0x20, 0x8000, 0xff0f44f4) /1 at 1: <- libdovecot:buffer_create_dynamic() = 0x42a68 /1 at 1: -> libdovecot:buffer_append(0x42a68, 0x525c8, 0x4, 0x42a68) /1 at 1: -> libdovecot:buffer_write(0x42a68, 0x0, 0x525c8, 0x4) /1 at 1: <- libdovecot:buffer_append() = 0x42a88 /1 at 1: -> libdovecot:array_sort_i(0xffbfec38, 0x1cd70, 0x0, 0x52830) /1 at 1: <- libdovecot:array_sort_i() = 0x42a88 /1 at 1: -> libdovecot:buffer_append_space_unsafe(0x42a68, 0x4, 0x4, 0x1cd70) /1 at 1: -> libdovecot:buffer_get_space_unsafe(0x42a68, 0x4, 0x4, 0x1cd70) /1 at 1: <- libdovecot:buffer_append_space_unsafe() = 0x42a8c /1 at 1: -> libdovecot:o_stream_uncork(0xa1968, 0xffbfedb0, 0x0, 0x1) /1 at 1: <- libdovecot:o_stream_uncork() = 0xa1918 /1 at 1: -> libdovecot:o_stream_destroy(0xffbfed3c, 0x0, 0x0, 0x1) /1 at 1: -> libdovecot:o_stream_unref(0xffbfed3c, 0x0, 0x0, 0x1) doveconf: Panic: output stream is missing error handling /1: write(2, " d o v e c o n f : P a".., 58) = 58 /1: getcontext(0xFFBFE988) /1: open("/proc/self/as", O_RDONLY) = 8 /1: fstat64(8, 0xFFBFE7B8) = 0 /1: pread(8, "FFBFEB H", 4, 0xFFBFE958) = 4 /1: pread(8, "FF\0CBD0", 4, 0xFFBFE95C) = 4 /1: pread(8, "FFBFEBA8", 4, 0xFFBFEB80) = 4 /1: pread(8, "FF01B11C", 4, 0xFFBFEB84) = 4 /1: pread(8, "FFBFEC\b", 4, 0xFFBFEBE0) = 4 /1: pread(8, "FF01B3A8", 4, 0xFFBFEBE4) = 4 /1: pread(8, "FFBFEC80", 4, 0xFFBFEC40) = 4 /1: pread(8, "FF06 ;04", 4, 0xFFBFEC44) = 4 /1: pread(8, "FFBFECE0", 4, 0xFFBFECB8) = 4 /1: pread(8, "\001 g <", 4, 0xFFBFECBC) = 4 /1: pread(8, "FFBFED @", 4, 0xFFBFED18) = 4 /1: pread(8, "\001 y |", 4, 0xFFBFED1C) = 4 /1: pread(8, "FFBFEDF0", 4, 0xFFBFED78) = 4 /1: pread(8, "\001 D x", 4, 0xFFBFED7C) = 4 /1: pread(8, "\0\0\0\0", 4, 0xFFBFEE28) = 4 /1: pread(8, "\0\0\0\0", 4, 0xFFBFEE2C) = 4 /1: close(8) = 0 doveconf: Error: Raw backtrace: 0xff01b3a8 -> 0xff063b04 -> 0x1673c -> 0x1797c -> 0x14478 /1: write(2, " d o v e c o n f : E r".., 90) = 90 /1: sigaction(SIGABRT, 0x00000000, 0xFFBFEB88) = 0 /1: sigaction(SIGABRT, 0xFFBFEA38, 0xFFBFEAD8) = 0 /1: lwp_sigmask(SIG_SETMASK, 0x00000000, 0x00000000) = 0xFFBFFEFF [0x0000FFFF] /1: lwp_kill(1, SIGABRT) = 0 /1: Received signal #6, SIGABRT [default] /1: siginfo: SIGABRT pid=25172 uid=0 code=-1 I have no idea about what that error means. Thanks, Fabian