<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi all,</p>
    <p>thanks a lot for all hints and discussion.</p>
    <p>I still do not have a finally correct answer to my problem. But I
      found some interesting things about my dovecot installation. First
      it is running without any problem once built with
      --with-ioloop=poll. What I found during my further investigations
      on this topic is that with epoll I get regular log entries like
      (every minute):</p>
    <p><font face="monospace">Feb  9 22:36:42 mail dovecot: [ID 702911
        mail.crit] anvil: Fatal: epoll_create(): No such file or
        directory<br>
        Feb  9 22:36:42 mail dovecot: [ID 702911 mail.error] master:
        Error: service(anvil): command startup failed, throttling for
        60.000 secs<br>
        Feb  9 22:36:42 mail dovecot: [ID 702911 mail.error] imap-login:
        Error: read(anvil) failed: EOF</font><br>
    </p>
    <p>Built with poll I don't get this log entries. anvil is a default
      service which I did not change at all. That means anvil is running
      configured by default with chroot=empty. According to dovecot
      documentation:</p>
    <p><code class="docutils literal notranslate"><span class="pre"><span
            class="highlighted">doveadm</span></span> <span class="pre"><span
            class="highlighted">who</span></span></code><font
        face="monospace"> and some other <span class="highlighted">doveadm</span>
        commands connect to anvil’s UNIX listener and request its state.</font></p>
    <p>And this works too without problems in my environment, which is
      another proof that everything is ok. My current conclusion is that
      executing /usr/libexec/dovecot/anvil is not working because it is
      not meant to run standalone. Of course this should be covered,
      too. As already mentioned my dovecot setup is running within a
      separate zone. But I've not explicitly configured any chroot
      setting.</p>
    <p>So, definitely dovecot refuses to work correctly if built with
      epoll. But of course all my tests are by far not exhaustive but
      I'm pretty confident that the package I built is doing its job
      flawlessly.</p>
    <p>cheers,</p>
    <p>  Fritz</p>
    <p>PS: further comments of course welcome ;-).<br>
    </p>
    <div class="moz-cite-prefix">Am 09.02.2022 um 20:45 schrieb
      Friedrich Kink via oi-dev:<br>
    </div>
    <blockquote type="cite"
      cite="mid:5006601f-496d-0d33-19af-9abfba7c887f@fkink.de">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <p> </p>
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 14px;" lang="x-unicode">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.<br>
      </div>
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 14px;" lang="x-unicode"><br>
      </div>
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 14px;" lang="x-unicode"><br>
      </div>
      <div class="moz-text-flowed" style="font-family: -moz-fixed;
        font-size: 14px;" lang="x-unicode">Dear list, <br>
        <br>
        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. <br>
        <br>
        gcc --version <br>
        gcc (OpenIndiana 7.5.0-il-0) 7.5.0 <br>
        <br>
        Configure parameters: <br>
        <br>
        gcc_OPT = -g <br>
        <br>
        CONFIGURE_OPTIONS+= --sysconfdir=/etc \ <br>
                            --localstatedir=/var \ <br>
                            --with-gssapi=plugin \ <br>
                            --with-ldap=plugin \ <br>
                            --with-sql=plugin \ <br>
                            --with-lua=plugin \ <br>
                            --with-ssl=openssl \ <br>
                            --with-ioloop=poll \ <br>
                            --with-notify=none \ <br>
                            --with-sodium \ <br>
                            --with-mysql \ <br>
                            --with-pgsql \ <br>
                            --enable-static=no \ <br>
                            --without-systemd \ <br>
                            SSL_CFLAGS=-I/usr/openssl/1.1/include \ <br>
                            SSL_LIBS="-L/usr/openssl/1.1/lib/amd64 -lssl
        -lcrypto" \ <br>
                            LDFLAGS="-lldap_r" <br>
        <br>
        Backtrace: <br>
        <br>
        (gdb) bt full <br>
        #0  0x00007fff5d2e6f2a in _lwp_kill () from /lib/64/libc.so.1 <br>
        No symbol table info available. <br>
        #1  0x00007fff5d2dd7f0 in thr_kill () from /lib/64/libc.so.1 <br>
        No symbol table info available. <br>
        #2  0x00007fff5d27ae7e in raise () from /lib/64/libc.so.1 <br>
        No symbol table info available. <br>
        #3  0x00007fff5d254ad8 in abort () from /lib/64/libc.so.1 <br>
        No symbol table info available. <br>
        #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<br>
                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"... <br>
                recursed = 0 <br>
        #5  0x00007ffef0536827 in fatal_handler_real
        (ctx=0x7fffbffff820, format=0x7ffef05d8730 "file %s: line %d
        (%s): assertion failed: (%s)", args=0x7fffbffff850) <br>
            at
/usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/failures.c:471<br>
                status = 0 <br>
        #6  0x00007ffef0536871 in default_fatal_handler
        (ctx=0x7fffbffff820, format=0x7ffef05d8730 "file %s: line %d
        (%s): assertion failed: (%s)", args=0x7fffbffff850) <br>
            at
/usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/failures.c:479<br>
        No locals. <br>
        #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<br>
                ctx = {type = LOG_TYPE_PANIC, exit_status = 0, timestamp
        = 0x0, timestamp_usecs = 0, log_prefix = 0x0,
        log_prefix_type_pos = 0} <br>
                args = {{gp_offset = 8, fp_offset = 48,
        overflow_arg_area = 0x7fffbffff930, reg_save_area =
        0x7fffbffff870}} <br>
        #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<br>
                ctx = 0x423180 <br>
                condition = IO_READ <br>
                old_count = 3221223792 <br>
                index = 0 <br>
                old_events = 59 <br>
                fd = 4 <br>
                __func__ = "io_loop_handle_add" <br>
        #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",<br>
            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<br>
                io = 0x42d7c0 <br>
                __func__ = "io_add_file" <br>
        #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",<br>
            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<br>
                io = 0x7ffef0609aa0 <static_system_pool> <br>
                __func__ = "io_add_to" <br>
        #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<br>
                __func__ = "lib_signals_init_io" <br>
        #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<br>
                l = 0x420a00 <br>
        #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<br>
        No locals. <br>
        #14 0x00007ffef056a10a in lib_signals_set_handler (signo=2,
        flags=LIBSIG_FLAG_DELAYED, handler=0x7ffef0475e74
        <sig_die>, context=0x422f20) <br>
            at
/usr/src/myoi-userland/components/mail/dovecot/dovecot-2.3.18/src/lib/lib-signals.c:520<br>
                h = 0x4209c0 <br>
                __func__ = "lib_signals_set_handler" <br>
        #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<br>
                sigint_flags = LIBSIG_FLAG_DELAYED <br>
                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}, <br>
                  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"} <br>
                __func__ = "master_service_init_finish" <br>
        #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<br>
                service_flags = (MASTER_SERVICE_FLAG_UPDATE_PROCTITLE |
        MASTER_SERVICE_FLAG_DONT_SEND_STATS) <br>
                error = 0x7fffbffffc10 " \374\377\277\377\177" <br>
        <br>
        Thanks a lot for any help, <br>
        <br>
          Fritz <br>
        <br>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
oi-dev mailing list
<a class="moz-txt-link-abbreviated" href="mailto:oi-dev@openindiana.org">oi-dev@openindiana.org</a>
<a class="moz-txt-link-freetext" href="https://openindiana.org/mailman/listinfo/oi-dev">https://openindiana.org/mailman/listinfo/oi-dev</a>
</pre>
    </blockquote>
  </body>
</html>