Bug report: Pigeonhole Sieve delivery plugin fail s to load in Dovecot 2.4 — undefined symbol mail_deliver_ctx_get_log_var_expand_tabl e
Developer Sub N Grill via dovecot <[email protected]>
| Newsgroups | gmane.mail.imap.dovecot |
|---|---|
| Message-ID | <010f019fd959b5b7-d726e053-569f-4154-a3f2-884836d01cda-000000@us-east-2.amazonses.com> |
Hello Dovecot Team,
I am reporting what appears to be a packaging/ABI issue affecting the
Pigeonhole Sieve delivery plugin in Dovecot 2.4. I have performed
extensive diagnostics and would appreciate any guidance.
Environment
Operating System: Debian 13 (Trixie), amd64
Repository: Official Dovecot CE repository
(repo.dovecot.org/ce-2.4-latest/debian/trixie)
Installed package version:2:2.4.4-5+debian13
Installed packages:
dovecot-core
dovecot-sieve
dovecot-lmtpd
dovecot-imapd
dovecot-pop3d
dovecot-managesieved
dovecot-pgsql
All packages are installed at the exact same version.
Problem Description
When enabling the Sieve delivery plugin with:
mail_plugins {
sieve = yes
}
Dovecot fails to load the plugin with the following error:
sievec: Fatal: Couldn't load required plugin /usr/lib/dovecot/modules/lib90_sieve_plugin.so:
dlopen() failed: /usr/lib/dovecot/modules/lib90_sieve_plugin.so:
undefined symbol: mail_deliver_ctx_get_log_var_expand_table
As a result, message delivery fails entirely whenever the Sieve delivery
plugin is enabled. Disabling the plugin restores normal mail delivery.
Diagnostics Performed1. Package verification
All installed packages are version 2:2.4.4-5+debian13 from the official
Dovecot CE repository. There are no mixed package versions.
2. Symbol verification
I searched for the symbol mail_deliver_ctx_get_log_var_expand_table
throughout the Dovecot libraries.
Results:
nm -D on libdovecot-lda.so.0.0.0 → symbol not found
readelf -sW on libdovecot-lda.so.0.0.0 → symbol not found
Recursive search across all .so files under:
/usr/lib/dovecot/
/usr/lib/x86_64-linux-gnu/dovecot/
→ symbol not exported anywhere
The symbol string exists inside both:
lib90_sieve_plugin.so
libdovecot-lda.so.0.0.0
but only as plain text (visible via grep), never as an exported ELF
symbol.
3. Dependency verification
ldd on lib90_sieve_plugin.so shows dependencies on:
libdovecot-sieve.so.0
libdovecot-storage.so.0
libdovecot.so.0
It does not directly link against libdovecot-lda.so.
4. Standalone sievec
Compiling a Sieve script works correctly:
sievec /tmp/test.sieve
Exit status is 0 as long as no configuration enables the Sieve delivery
plugin.
The failure only occurs once:
mail_plugins {
sieve = yes
}
is present in the configuration.
Reproduced on a Clean Debian 13 Installation
To rule out configuration or upgrade issues, I reproduced the exact same
problem on a completely clean debian:13-slim container.
I installed only the Debian stable packages:
apt-get install dovecot-core dovecot-sieve dovecot-lmtpd
(version 1:2.4.1+dfsg1-6+deb13u6)
Using the same production configuration with:
mail_plugins {
sieve = yes
}
produces the exact same error:
sievec: Fatal: Couldn't load required plugin ...
undefined symbol: mail_deliver_ctx_get_log_var_expand_table
This indicates the problem is not caused by:
mixed package versions
an upgrade issue
local modifications
custom configuration
The issue reproduces consistently on both:
Dovecot CE 2.4.4
Debian 13's packaged Dovecot 2.4.1
Questions
Is mail_deliver_ctx_get_log_var_expand_table a new internal function
that should be exported in Dovecot 2.4? Was there an ABI change
affecting the Pigeonhole plugin?
Is this a known issue in the Dovecot 2.4.x packages? If so, is a fix
planned (for example, in 2.4.5)?
Is there any recommended workaround for using Sieve during message
delivery (e.g. moving spam to the Junk folder) while this issue is
unresolved?
I am trying to use the new Dovecot 2.4 configuration syntax
(sieve_script_type, sieve_script_precedence, and sieve_script_path),
since sieve_before and the plugin {} block were removed in 2.4.
Thank you for your time. I would be happy to provide additional logs,
the complete doveconf -n output, or a core dump if that would be
helpful.
Best regards,
Miguel A Morales
Server: Debian 13 (amd64)
Dovecot: 2.4.4-5+debian13
_______________________________________________
dovecot mailing list -- [email protected]
To unsubscribe send an email to [email protected]