Plugin ABI compat between v2.3.8 and v2.3.9

Alexander Strasser eclipse7 at gmx.net
Mon Jun 15 14:11:07 EEST 2020


Hi all!

This is my first post on this list. Please pardon me if I
overlooked or misunderstood some things.

I had some imap crashes (sig11) starting at the end of 2019 after
an upgrade of dovecot.

I found out, that I didn't have any problems using version v2.3.8,
but any version v2.3.9 and higher would trigger the crashes.

After investigating more deeply and creating a core dump, I saw
that the crash happened in an external plugin fetchmail_wakeup[1].

After recompiling that plugin with up to date dovecot headers,
I didn't get crashes anymore.

So I suspect there were ABI incompatible changes and it was
forgotten to bump the minimum Plugin-ABI version supported.

I could try to follow up some more details, but it would be quite
a burden because of rebuilding the plugin with debug symbols
against version 2.3.8 of dovecot and triggering the crash etc.

Despite that I think it should be possible to detect changes that
are ABI incompatible, as otherwise plugin users would always have
to find out first hand with unknown consequences.

That said there could be a possibility of the plugin using the
API/ABI in an invalid way. If that was the cause, then the plugin
should be changed.

Hope this report turns out to help improve the situation. I
don't have problems currently and will in future be sensitive
to this specific possible cause of problems, but not having
such crashes in the first place, would be worth it and maybe
could still help others.


Best regards,
  Alexander


1: slightly reduced version of: https://github.com/marschap/fetchmail_wakeup


More information about the dovecot mailing list