On 15.10.2008, Bernhard Herzog wrote:
I recall having a similar problem with the Annotation plugin. IIRC it had something to do with not unregistering commands properly when the plugin was unloaded. In that case the array of known commands retains dangling pointers to the names of the commands that point to the unloaded shared object file.
I think this is indeed the case with the ACL plugin if it is patched to
implement the ACL IMAP commands, as is the case in the kolab branch. The
commands are only unregistered if acl_next_hook_mail_storage_created != NULL.
Now that variale is set in acl_plugin_init but there's no guarantee that it
will always be != NULL afterwards. If the ACL plugin is the first plugin to
change hook_mail_storage_created, acl_next_hook_mail_storage_created will be
NULL after acl_plugin_init has been executed and registered the commands, but
the deinit function will not unregister the commands.
Bernhard
-- Bernhard Herzog | ++49-541-335 08 30 | http://www.intevation.de/ Intevation GmbH, Neuer Graben 17, 49074 Osnabrück | AG Osnabrück, HR B 18998 Geschäftsführer: Frank Koormann, Bernhard Reiter, Dr. Jan-Oliver Wagner