Uploaded image for project: 'XWiki Platform'
  1. XWiki Platform
  2. XWIKI-16560

Cannot send mails from XWiki instances on JAVA 11+

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Blocker
    • Resolution: Fixed
    • Affects Version/s: 11.3, 11.4, 11.5
    • Fix Version/s: 11.6-rc-1, 11.3.2
    • Component/s: Dependency Upgrades
    • Labels:
    • Environment:
      Windows 10 Pro 64 bit, IE11, using a local instance of XWiki 11.5, on MySQL 5.7 and HSQL 2.5.0 (tested on JAVA 8 and JAVA 11)
    • Difficulty:
      Unknown
    • Documentation:
      N/A
    • Documentation in Release Notes:
      N/A
    • Similar issues:

      Description

      STEPS TO REPRODUCE

      1. Login as Admin
      2. Configure Mail Sending section from Administration
      3. Go to Main.WebHome (or other page) and share the page by mail

      EXPECTED RESULTS

      The page is shared successfully.

      ACTUAL RESULTS

      An error occurs in the browser and the mail is not sent:

       Error number 4001 in 4: Error while evaluating velocity template shareinline.vm 

      Also, in console there is the following stacktrace:

      2019-07-02 15:44:46,447 [http://localhost:1150/xwiki/bin/get/Main/?form_token=699WqQUxg0JRsLa4FeXj8g&send=1&target=XWiki.U1&target=&includeDocument=link&message=I+wanted+to+share+this+page+with+you.&xpage=shareinline] ERROR c.x.x.XWiki                    - Error while evaluating velocity template [shareinline.vm]
      org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [/templates/shareinline.vm]
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:227)
              at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
              at com.xpn.xwiki.internal.template.InternalTemplateManager.evaluateContent(InternalTemplateManager.java:884)
              at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:755)
              at com.xpn.xwiki.internal.template.InternalTemplateManager.lambda$renderFromSkin$0(InternalTemplateManager.java:730)
              at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
              at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:729)
              at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:708)
              at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:694)
              at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
              at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2381)
              at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:179)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:513)
              at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:215)
              at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425)
              at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228)
              at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913)
              at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
              at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:860)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
              at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:112)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:109)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1637)
              at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
              at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1629)
              at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
              at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:190)
              at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:188)
              at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1253)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:168)
              at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473)
              at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564)
              at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:166)
              at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1155)
              at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
              at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:219)
              at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126)
              at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132)
              at org.eclipse.jetty.server.Server.handle(Server.java:530)
              at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:347)
              at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:256)
              at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:279)
              at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:102)
              at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:124)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:247)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.produce(EatWhatYouKill.java:140)
              at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
              at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:382)
              at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:708)
              at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:626)
              at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'sendMessageFromTemplate' in  class com.xpn.xwiki.plugin.mailsender.MailSenderPluginApi threw exception java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport at 84:/templates/shareinline.vm[line 51, column 45]
              at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:261)
              at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:187)
              at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
              at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567)
              at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71)
              at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:420)
              at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.directive.Foreach.render(Foreach.java:420)
              at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
              at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
              at org.apache.velocity.runtime.parser.node.ASTElseIfStatement.render(ASTElseIfStatement.java:92)
              at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
              at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:259)
              at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222)
              ... 63 common frames omitted
      Caused by: java.lang.NoClassDefFoundError: com/sun/activation/registries/LogSupport
              at javax.activation.MailcapCommandMap.<init>(MailcapCommandMap.java:149)
              at javax.activation.CommandMap.getDefaultCommandMap(CommandMap.java:55)
              at javax.activation.DataHandler.getCommandMap(DataHandler.java:137)
              at javax.activation.DataHandler.getDataContentHandler(DataHandler.java:599)
              at javax.activation.DataHandler.writeTo(DataHandler.java:299)
              at javax.mail.internet.MimeUtility.getEncoding(MimeUtility.java:340)
              at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1573)
              at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1172)
              at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:522)
              at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1531)
              at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1172)
              at javax.mail.internet.MimeMultipart.updateHeaders(MimeMultipart.java:522)
              at javax.mail.internet.MimeBodyPart.updateHeaders(MimeBodyPart.java:1531)
              at javax.mail.internet.MimeMessage.updateHeaders(MimeMessage.java:2271)
              at javax.mail.internet.MimeMessage.saveChanges(MimeMessage.java:2231)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.createMimeMessage(MailSenderPlugin.java:256)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.sendMails(MailSenderPlugin.java:652)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.sendMail(MailSenderPlugin.java:599)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.sendMail(MailSenderPlugin.java:585)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.sendMailFromTemplate(MailSenderPlugin.java:761)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPlugin.sendMailFromTemplate(MailSenderPlugin.java:809)
              at com.xpn.xwiki.plugin.mailsender.MailSenderPluginApi.sendMessageFromTemplate(MailSenderPluginApi.java:148)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
              at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
              at java.base/java.lang.reflect.Method.invoke(Method.java:566)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395)
              at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384)
              at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173)
              ... 83 common frames omitted
      Caused by: java.lang.ClassNotFoundException: com.sun.activation.registries.LogSupport
              at java.base/java.net.URLClassLoader.findClass(URLClassLoader.java:471)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:588)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
              at org.eclipse.jetty.webapp.WebAppClassLoader.loadClass(WebAppClassLoader.java:565)
              at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
              ... 112 common frames omitted 

       

      This affects also the notifications sent by mail.

      I've tested also on JAVA 8 and the mails are sent properly.

      I've tested also on XWiki 11.3 and 11.4 and the issue reproduces as well.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              tmortagne Thomas Mortagne
              Reporter:
              iandriuta Ilie Andriuta
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved:
                Date of First Response: