Upgrade from 2.8.6.2 to 3.3.1.0 fails: Could not load mailet (SenderDKIMVerify)

>> Von:Martijn Brinkers via Users <users(a)lists.djigzo.com>
>> Gesendet: Mon 5 März 2018 13:08
>> An: users(a)lists.djigzo.com
>> Betreff: Re: Upgrade from 2.8.6.2 to 3.3.1.0 fails: Could not load mailet (SenderDKIMVerify)
>>
>>
>>
>>> Hello,
>>>
>>> yesterday I tried to update an "old" Ciphermail installation from version 2.8.6.2 to version 3.3.1.0 by installing the three packages as suggested in the documentation:
>>>
>>> dpkg -i djigzo_3.3.1-0_all.deb
>>> dpkg -i djigzo-postgres_3.3.1-0_all.deb
>>> dpkg -i djigzo-web_3.3.1-0_all.deb
>>>
>>> Then I deleted the cache (rm -r /var/cache/tomcat6/Catalina/web) and restarted Tomcat6.
>>>
>>> Nevertheless it is not possible to start Ciphermail due to the following error:
>>>
>>> James Mail Server 2.3.1
>>> 01 Mar 2018 18:57:33 | INFO Initializing matcher: MaxRelay (mitm.application.djigzo.james.matchers.MaxRelay) [Phoenix-Monitor]
[SNIP]
>>> Unable to init mailet SenderDKIMVerify
>>> Check spool manager logs for more details.
>>> org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleException: Component named "spoolmanager" failed to pass through the Starting stage. (Reason: org.apache.mailet.MailetException: Could not load mailet (SenderDKIMVerify);
>>> nested exception is:
>>> java.lang.ClassNotFoundException: Requested mailet not found: SenderDKIMVerify. looked in [, mitm.application.djigzo.pro.james.mailets., mitm.application.djigzo.james.mailets., org.apache.james.transport.mailets.]).
>>> at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:354)
>>> at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.startup(LifecycleHelper.java:226)
>>> at org.apache.avalon.phoenix.components.application.DefaultApplication.startup(DefaultApplication.java:530)
>>> at org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:478)
>>> at org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:409)
>>> at org.apache.avalon.phoenix.components.application.DefaultApplication.start(DefaultApplication.java:180)
>>> at org.apache.avalon.framework.container.ContainerUtil.start(ContainerUtil.java:260)
>>> at org.apache.avalon.phoenix.components.kernel.DefaultKernel.startup(DefaultKernel.java:295)
>>
>> Some classes have been renamed. For example:
>>
>> SenderDKIMVerify -> SenderPropertyDKIMVerify
>> SenderDKIMSign -> SenderPropertyDKIMSign
>>
>> The xml file that defines the mail flow was also updated to reflect
>> those changes. I guess your config.xml file has been locally changed and
>> you chose not to accept the new config.xml (keeping the modified one).
>>
>> If you want to keep your modified config.xml, the best is to do a diff
>> and check the differences or manually rename the mailets.
>>
> the timestamp of /usr/share/djigzo/conf/james/SAR-INF/config.xml ist Jul 28. 2016 and the size 129780 bytes. I don't think/remember that I changed this file in any way.
>
> I repeated "dpkg -i djigzo_3.3.1-0_all.deb", but there still isn't a complain about a changed config.xml.

Could it be that you have enabled a diversion?

dpkg-divert --list

root(a)ciphermail:~# dpkg-divert --list
diversion of /usr/share/man/man1/pod2latex.1.gz to /usr/share/man/man1/pod2latex.bundled.1.gz by libpod-latex-perl
diversion of /usr/bin/pod2latex to /usr/bin/pod2latex.bundled by libpod-latex-perl
diversion of /usr/share/vim/vim74/doc/tags to /usr/share/vim/vim74/doc/tags.vim-tiny by vim-runtime
diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common
diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash
diversion of /usr/share/vim/vim74/doc/help.txt to /usr/share/vim/vim74/doc/help.txt.vim-tiny by vim-runtime
diversion of /bin/sh to /bin/sh.distrib by dash

If not then there might be some problem with your debian package
integrity. The updated config.xml file is certainly part of the deb and
it contains the updated names.

You might try to move config.xml to some other place (or rename) before
reinstalling the deb file to see whether that works.

Renaming the file and installing the package again fixed the problem.

Thank you and have a nice weekend,

Stefan

···

On 07-03-18 21:34, Stefan Günther via Users wrote:
> -----Ursprüngliche Nachricht-----
>> On 02-03-18 19:47, Stefan Günther via Users wrote:

What might have happened is the following:

Your config.xml was slightly changed from the one provided by the
packages (even adding a space already is a change because the debian
package system checks for differences using a hash).

The first time you upgraded, it asked whether you want to keep your
local changes or use the version from the package. If you selected "keep
local version", reinstalling the same version will no longer result in
this question because you already answered it for that version.

Kind regards,

Martijn Brinkers

···

On 09-03-18 16:18, Stefan Günther via Users wrote:

On 07-03-18 21:34, Stefan Günther via Users wrote:

-----Ursprüngliche Nachricht-----

Von:Martijn Brinkers via Users <users(a)lists.djigzo.com>
Gesendet: Mon 5 März 2018 13:08
An: users(a)lists.djigzo.com
Betreff: Re: Upgrade from 2.8.6.2 to 3.3.1.0 fails: Could not load mailet (SenderDKIMVerify)

On 02-03-18 19:47, Stefan Günther via Users wrote:

Hello,

yesterday I tried to update an "old" Ciphermail installation from version 2.8.6.2 to version 3.3.1.0 by installing the three packages as suggested in the documentation:

dpkg -i djigzo_3.3.1-0_all.deb
dpkg -i djigzo-postgres_3.3.1-0_all.deb
dpkg -i djigzo-web_3.3.1-0_all.deb

Then I deleted the cache (rm -r /var/cache/tomcat6/Catalina/web) and restarted Tomcat6.

Nevertheless it is not possible to start Ciphermail due to the following error:

James Mail Server 2.3.1
01 Mar 2018 18:57:33 | INFO Initializing matcher: MaxRelay (mitm.application.djigzo.james.matchers.MaxRelay) [Phoenix-Monitor]

[SNIP]

Unable to init mailet SenderDKIMVerify
Check spool manager logs for more details.
org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleException: Component named "spoolmanager" failed to pass through the Starting stage. (Reason: org.apache.mailet.MailetException: Could not load mailet (SenderDKIMVerify);
nested exception is:
java.lang.ClassNotFoundException: Requested mailet not found: SenderDKIMVerify. looked in [, mitm.application.djigzo.pro.james.mailets., mitm.application.djigzo.james.mailets., org.apache.james.transport.mailets.]).
at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.fail(LifecycleHelper.java:354)
at org.apache.avalon.phoenix.containerkit.lifecycle.LifecycleHelper.startup(LifecycleHelper.java:226)
at org.apache.avalon.phoenix.components.application.DefaultApplication.startup(DefaultApplication.java:530)
at org.apache.avalon.phoenix.components.application.DefaultApplication.doRunPhase(DefaultApplication.java:478)
at org.apache.avalon.phoenix.components.application.DefaultApplication.runPhase(DefaultApplication.java:409)
at org.apache.avalon.phoenix.components.application.DefaultApplication.start(DefaultApplication.java:180)
at org.apache.avalon.framework.container.ContainerUtil.start(ContainerUtil.java:260)
at org.apache.avalon.phoenix.components.kernel.DefaultKernel.startup(DefaultKernel.java:295)

Some classes have been renamed. For example:

SenderDKIMVerify -> SenderPropertyDKIMVerify
SenderDKIMSign -> SenderPropertyDKIMSign

The xml file that defines the mail flow was also updated to reflect
those changes. I guess your config.xml file has been locally changed and
you chose not to accept the new config.xml (keeping the modified one).

If you want to keep your modified config.xml, the best is to do a diff
and check the differences or manually rename the mailets.

the timestamp of /usr/share/djigzo/conf/james/SAR-INF/config.xml ist Jul 28. 2016 and the size 129780 bytes. I don't think/remember that I changed this file in any way.

I repeated "dpkg -i djigzo_3.3.1-0_all.deb", but there still isn't a complain about a changed config.xml.

Could it be that you have enabled a diversion?

dpkg-divert --list

root(a)ciphermail:~# dpkg-divert --list
diversion of /usr/share/man/man1/pod2latex.1.gz to /usr/share/man/man1/pod2latex.bundled.1.gz by libpod-latex-perl
diversion of /usr/bin/pod2latex to /usr/bin/pod2latex.bundled by libpod-latex-perl
diversion of /usr/share/vim/vim74/doc/tags to /usr/share/vim/vim74/doc/tags.vim-tiny by vim-runtime
diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common
diversion of /usr/share/man/man1/sh.1.gz to /usr/share/man/man1/sh.distrib.1.gz by dash
diversion of /usr/share/vim/vim74/doc/help.txt to /usr/share/vim/vim74/doc/help.txt.vim-tiny by vim-runtime
diversion of /bin/sh to /bin/sh.distrib by dash

If not then there might be some problem with your debian package
integrity. The updated config.xml file is certainly part of the deb and
it contains the updated names.

You might try to move config.xml to some other place (or rename) before
reinstalling the deb file to see whether that works.

Renaming the file and installing the package again fixed the problem.

--
CipherMail email encryption

Email encryption with support for S/MIME, OpenPGP, PDF encryption and
secure webmail pull.

Twitter: http://twitter.com/CipherMail