Hello Vincent @vmassol, hello Clemens @ClemensRobbenhaar,
sorry for the late reply, I was in vacation
Of course, I did restart the XWiki, even the whole Linux-Server.
Hello Vincent @vmassol, hello Clemens @ClemensRobbenhaar,
sorry for the late reply, I was in vacation
Of course, I did restart the XWiki, even the whole Linux-Server.
I have read a bit in the code, and there are two threads that send the mail in the background; both should be running for the mails to be send.
a) can you check the log for βERRORβ messages? If they come somewhere from the org.xwiki.mail.internal
, either from the AbstractMailRunnable
, PrepareMailRunnable
or SendMailRunnable
they should contain a stack trace telling you why these threads died.
b) on a test machine you can set the org.xwiki.mail.internal
and also the org.xwiki.shutdown
to DEBUG
for more diagnostic output. This can be set in the WEB-INF/classes/logback.xml
. The shutdown should already have an entry there where you just replace the level="info"
by level="debug"
, for the other add a line
<logger name="org.xwiki.mail.internal" level="debug"/>
and restart the test server.
Maybe shut the test server down immediately after the startup to see if you get messages like "Mail Prepare Thread has been stopped"
and "Mail Sender Thread has been stopped"
in the log, and before that some Mail Prepare Thread was forcefully stopped
and Mail Sender Thread was forcefully stopped
. If you then can trigger the problem, these messages might be missing.
c) You can try to get a stack trace from the server and looking if there are threads named Mail Prepare Thread
and Mail Sender Thread
. If they are missing, you need to restart the server as mail sending is broken. As in a) there should be an error message in the log.
d) Finally, if the issue appears and there are no ERROR messages in the log before (it might be quite some time before you notice it), then as the last option it is possible that the threads did not stop due to a regular Exception
but an unexpected Error
. As far as I can see this is not logged. It might be some class loader foo, but I am just guessing. In that case I am running out of good advice, it seems one has to patch the source code to log these Error
s, too.
If you can reliably reproduce the issue on a test server, and end up at option d) (i.e. threads go missing and nothing in the log), then using a patched code on the test server might be an option, however.