On 22/07/2019 13:32, Timo Sirainen via dovecot wrote:
On 21 Jul 2019, at 23.14, Dirk Koopman via dovecot <dovecot@dovecot.org> wrote:

Some supplemental information:

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.

Another observation is that:

mail_deliver_ctx_get_log_var_expand_table

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.

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?

It's part of lib-lda, which is also used by lmtp.

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?

I think you're not linking lmtp binary correctly somehow. That symbol should be part of it:

% nm /usr/libexec/dovecot/lmtp | grep mail_deliver_ctx_get_log_var_expand_table
0000000000061960 T mail_deliver_ctx_get_log_var_expand_table


I agree, but I am using the ubuntu packages as provided by yourselves (not Ubuntu's). I'm guessing this must be some kind of linking/packaging issue as I have been using your packages for some years now and have not seen this particular error before. It only started appearing after I upgraded to 2.3.7 on July 19th.

All my executables in /usr/lib/dovecot/ are stripped so I cannot check my versions.

Dirk