<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix"><tt>Some supplemental information:</tt><tt><br>
      </tt><tt><br>
      </tt><tt>This is happening on every email delivered into Dovecot
        via LMTP. The curious things are that the message is a)
        successfully delivered and b) sieved into the correct directory.
      </tt><tt><br>
        <br>
        Another observation is that:<br>
      </tt><tt><br>
      </tt><font size="+1"><tt>mail_deliver_ctx_get_log_var_expand_table</tt></font><font
        size="+1"><tt><br>
        </tt></font><br>
      is defined globally in core/src/lib-lda/mail-deliver.c (and used
      there) but the ONLY external call in the entire dovecot tree is
      from pigeonhole/src/plugins/lda-sieve/lda-sieve-log.c. <br>
      <br>
      I am not using lda but it seems to be part of core. So, as I am
      only using lmtp, why is pigeonhole using lda-sieve at all? <br>
      <br>
      Can I work around the error message by some config magic (as I did
      by calling the correct plugin for imap_sieve) or is this an actual
      bug? Could this be fixed simply by including mail-deliver.h in
      lda-sieve-log.c? <br>
      <br>
      Dirk<br>
      <br>
      On 19/07/2019 13:20, Dirk Koopman via dovecot wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:2512f941-c0ee-f606-a1ec-69956f4ea3c1@tobit.co.uk">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <font size="+1"><tt>Suddenly I am getting undefined symbol errors
          having updated to 2.3.7. <br>
          <br>
          Jul 18 01:02:49 localhost dovecot: indexer-worker: Error: User
          <someone> lookup failed: Couldn't load required plugin
          /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so: dlopen()
          failed: /usr/lib/dovecot/modules/lib95_imap_sieve_plugin.so:
          undefined symbol: command_hook_register<br>
          <br>
          (I think I fixed this one by a config change)<br>
          <br>
          But I am left with this:<br>
          <br>
          Jul 19 14:09:52 localhost dovecot: indexer-worker: Error: User
          <someone> lookup failed: Couldn't load required plugin
          /usr/lib/dovecot/modules/lib90_sieve_plugin.so: dlopen()
          faile: /usr/lib/dovecot/modules/lib90_sieve_plugin.so:
          undefined symbol: mail_deliver_ctx_get_log_var_expand_table<br>
          <br>
          My (redacted) dovecot -n:<br>
          <br>
        </tt></font><font size="+1"><tt># 2.3.7 (494d20bdc):
          /etc/dovecot/dovecot.conf<br>
          # Pigeonhole version 0.5.7 (5a4e63b5)<br>
          # OS: Linux 4.15.0-54-generic x86_64 Ubuntu 18.04.2 LTS <br>
          # Hostname: localhost<br>
          auth_verbose = yes<br>
          first_valid_uid = 2000<br>
          imapc_features = rfc822.size fetch-headers<br>
          imapc_host = mailman.tobit.co.uk<br>
          imapc_port = 993<br>
          imapc_ssl = imaps<br>
          imapc_ssl_verify = no<br>
          imapc_user = %n<br>
          lda_mailbox_autocreate = yes<br>
          mail_attachment_dir = %h/attachments<br>
          mail_attachment_min_size = 64 k<br>
          mail_location = mdbox:%h:INBOX=%h/mail<br>
          mail_plugins = mail_log notify replication fts fts_lucene
          sieve<br>
          mail_prefetch_count = 20<br>
          managesieve_notify_capability = mailto<br>
          managesieve_sieve_capability = fileinto reject envelope
          encoded-character vacation subaddress
          comparator-i;ascii-numeric relational regex imap4flags copy
          include variables body enotify environment mailbox date index
          ihave duplicate mime foreverypart extracttext imapsieve
          vnd.dovecot.imapsieve<br>
          namespace inbox {<br>
            inbox = yes<br>
            location = <br>
            mailbox Drafts {<br>
              special_use = \Drafts<br>
            }<br>
            mailbox Junk {<br>
              special_use = \Junk<br>
            }<br>
            mailbox Sent {<br>
              special_use = \Sent<br>
            }<br>
            mailbox "Sent Messages" {<br>
              special_use = \Sent<br>
            }<br>
            mailbox Trash {<br>
              special_use = \Trash<br>
            }<br>
            prefix = <br>
          }<br>
          passdb {<br>
            args = # hidden <br>
            driver = sql<br>
          }<br>
          plugin {<br>
            fts = lucene<br>
            fts_autoindex = yes<br>
            fts_autoindex_exclude = \Junk<br>
            fts_autoindex_exclude2 = \Trash<br>
            fts_autoindex_exclude3 = \Deleted<br>
            fts_lucene = whitespace_chars=@.<br>
            imapsieve_mailbox1_before = <a
            class="moz-txt-link-freetext"
            href="file:/etc/dovecot/sieve/report-spam.sieve"
            moz-do-not-send="true">file:/etc/dovecot/sieve/report-spam.sieve</a><br>
            imapsieve_mailbox1_causes = COPY<br>
            imapsieve_mailbox1_name = Junk<br>
            imapsieve_mailbox2_before = <a
            class="moz-txt-link-freetext"
            href="file:/etc/dovecot/sieve/report-ham.sieve"
            moz-do-not-send="true">file:/etc/dovecot/sieve/report-ham.sieve</a><br>
            imapsieve_mailbox2_causes = COPY<br>
            imapsieve_mailbox2_from = Junk<br>
            imapsieve_mailbox2_name = *<br>
            mail_log_events = delete undelete expunge copy save
          mailbox_delete mailbox_rename mailbox_create<br>
            mail_log_fields = uid box msgid size<br>
            sieve = <a class="moz-txt-link-freetext"
            href="file:~/sieve;active=~/.dovecot.sieve"
            moz-do-not-send="true">file:~/sieve;active=~/.dovecot.sieve</a><br>
            sieve_global_extensions = +vnd.dovecot.pipe
          +vnd.dovecot.environment<br>
            sieve_pipe_bin_dir = /etc/dovecot/sieve<br>
            sieve_plugins = sieve_imapsieve sieve_extprograms<br>
            sieve_trace_dir = /tmp<br>
            sieve_trace_level = matching<br>
          }<br>
          postmaster_address = <a class="moz-txt-link-abbreviated"
            href="mailto:postmaster@tobit.co.uk" moz-do-not-send="true">postmaster@tobit.co.uk</a><br>
          protocols = imap lmtp sieve<br>
          service auth {<br>
            unix_listener exim-auth {<br>
              group = Debian-exim<br>
              mode = 0660<br>
              user = Debian-exim<br>
            }<br>
          }<br>
          service imap-login {<br>
            inet_listener imap {<br>
              port = 143<br>
            }<br>
            inet_listener imaps {<br>
              port = 993<br>
              ssl = yes<br>
            }<br>
          }<br>
          service lmtp {<br>
            inet_listener lmtp {<br>
              address = 127.0.0.1<br>
              port = # hidden<br>
            }<br>
            unix_listener lmtp {<br>
              mode = 0666<br>
            }<br>
            user = vmail<br>
          }<br>
          service managesieve-login {<br>
            inet_listener sieve {<br>
              port = # hidden <br>
            }<br>
            process_min_avail = 0<br>
            service_count = 1<br>
            vsz_limit = 64 M<br>
          }<br>
          service managesieve {<br>
            process_limit = 100<br>
          }<br>
          ssl_cert = # hidden<br>
          ssl_client_ca_dir = /etc/ssl/certs<br>
          ssl_dh = # hidden, use -P to show it<br>
          ssl_key = # hidden, use -P to show it<br>
          userdb {<br>
            args = # hidden<br>
            driver = sql<br>
          }<br>
          protocol imap {<br>
            mail_plugins = mail_log notify replication fts fts_lucene
          imap_sieve<br>
          }<br>
          protocol lmtp {<br>
            mail_plugins = fts fts_lucene sieve<br>
          }<br>
        </tt></font><font size="+1"><tt><br>
        </tt></font> </blockquote>
    <br>
  </body>
</html>