ChartMacro - could not initialize class org.jfree.chart.JFreeChart

To enable it and contrary to what is mentioned, you need to set xwiki.stats.default=1 in your xwiki.cfg file.

But it works fine for me:

21

Hi,

thanks for testing!

I’ve already enabled the stats inside the “xwiki.cfg” file.

I think i have an overall problem with the “ChartMacro” as i face
the same error message as i just want to plot some simple chart
with example data :confused:

Best,
Dolo

So several questions:

  1. Are you sure that the webapp used by your XWiki instance is at /usr/lib/xwiki/? Could that be another instance?
  2. Could you check that the jar is valid by doing a tar tvf /usr/lib/xwiki/WEB-INF/lib/jfreechart-1.0.19.jar?
  3. Could you check your xwiki logs, especially around the startup and see if there are errors or warnings in there?

Thanks

Thanks! You too :slight_smile: I hope you like XWiki!

Hi,

  1. I am not sure. I will check on monday.
  2. Will also check on monday.
  3. Have checked the logs, but there was only one message regarding the “chart” macro.
    Something with a memory limit (searched for it - seems not to be the cause of the problem.
    Will check the logs on monday again (after a restart of tomcat).

So i will send you the information on monday.

Yes i like XWiki! Big thanks to the developers and maintainers of this awesome project!

Best,
Dolo

Hi Vincent,

i’ve checked the asked information:

  1. Not sure how exactly to find this out. But searching for “webapp” on the server give following results:

    locate -b webapp

    /etc/tomcat9/policy.d/04webapps.policy
    /usr/lib/xwiki/WEB-INF/lib/xwiki-platform-velocity-webapp-11.10.2.jar
    /usr/lib/xwiki/WEB-INF/lib/xwiki-platform-velocity-webapp-11.10.2.xed
    /var/lib/tomcat9/webapps

    And

    ls -lah /var/lib/tomcat9/webapps/ROOT

    -rw-r–r-- 1 root root 1.9K Nov 11 17:05 index.html
    drwxr-xr-x 2 root root 4.0K Nov 11 17:05 META-INF

    ls -lah /var/lib/tomcat9/webapps/ROOT/META-INF/

    -rw-r–r-- 1 root root 49 Nov 11 17:05 context.xml

    INFO: I’ve configured “Short URLs” according to this How To:
    https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/ShortURLs/

  2. “tar” archive seems to be broken?

    sudo tar tvf /usr/lib/xwiki/WEB-INF/lib/jfreechart-1.0.19.jar

    tar: This does not look like a tar archive
    tar: Skipping to next header
    tar: Exiting with failure status due to previous errors

    EDIT: You probably meant “jar” and not “tar” :slight_smile:

    -> Couldn’t find “jar” command on my system at “/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/”
    or “/usr/lib/jvm/java-8-openjdk-amd64/bin/”

    java -jar /usr/lib/xwiki/WEB-INF/lib/jfreechart-1.0.19.jar

    gives this message:

    no main manifest attribute, in /usr/lib/xwiki/WEB-INF/lib/jfreechart-1.0.19.jar

    Searched for solutions and looked if “jdk” is installed.
    Only “openjdk-8-jre-headless” was installed, so i additionally installed the “openjdk-8-jdk-headless” package.
    Now i could run “jar” command successfull:

    jar tvf /usr/lib/xwiki/WEB-INF/lib/jfreechart-1.0.19.jar

    jar_tvf_jfreechart-1.0.19.jar.txt (58.6 KB)

  3. Restarted Tomcat and checked logfiles. No entries for “chart” (?)

    /var/log/tomcat9/catalina.2020-01-07.log

    xwiki_logfile_2020-01-07.txt (40.9 KB)

Hope this helps.

Conclusion:
EDIT: removed first conclusion because of the wrong command

Have a nice week!

Best,
Dolo

Easy, you just temporarily remove JARS from WEB-INF/lib and restart xwiki and see if it still works or not :wink:

Yes sorry I meant jar and not tar :slight_smile:

You can also do zip -tv <file name>.

Anyway I see you posted the result and it looks that the JAR is valid.

So I don’t have any idea right now.

I’d suggest you try reinstalling XWiki somewhere to try to reproduce or tell us how to reproduce. Maybe check all the config changes you’ve done compared to Xwiki standard config. start with no change, verify it works, till you find a config that makes it not work.

There’s no reason that the class isn’t found if the JAR is in WEB-INF/lib.

Hi,

have tested if hte webapp used by the XWiki instance is at “/usr/lib/xwiki/”

  • stopped Tomcat
  • Moved all “.jar” files away from “/usr/lib/xwiki/WEB-INF/lib/”
  • started Tomcat
    so Tomcat itselfs started, but not the XWiki -> “HTTP Status 404 – Not Found”
  • stopped Tomcat and moved the “.jar” files back -> XWiki is working again
    Conclusion: Webapps are under “/usr/lib/xwiki/"

ChartMacro still dosen’t work.

The interesting thing is that if i first open the “Statistics”-Application i see another error in the “Current Month Activity” section:

Failed to execute the [chart] macro. Cause: [Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper].

Click on this message for details

java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:807)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:886)
at sun.swing.SwingUtilities2.getSystemMnemonicKeyMask(SwingUtilities2.java:2032)
at javax.swing.plaf.basic.BasicLookAndFeel.initComponentDefaults(BasicLookAndFeel.java:1158)
at javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:431)
at javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:148)
at javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1577)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:539)
at javax.swing.UIManager.setLookAndFeel(UIManager.java:579)
at javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1349)
at javax.swing.UIManager.initialize(UIManager.java:1459)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1426)
at javax.swing.UIManager.getDefaults(UIManager.java:659)
at javax.swing.UIManager.getColor(UIManager.java:701)
at org.jfree.chart.JFreeChart.(JFreeChart.java:264)
at org.xwiki.chart.internal.DefaultChartGenerator.generate(DefaultChartGenerator.java:79)
at org.xwiki.rendering.internal.macro.chart.ChartMacro.generateChart(ChartMacro.java:159)
at org.xwiki.rendering.internal.macro.chart.ChartMacro.execute(ChartMacro.java:111)
at org.xwiki.rendering.internal.macro.chart.ChartMacro.execute(ChartMacro.java:56)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.macro.html.HTMLMacro.renderWikiSyntax(HTMLMacro.java:278)
at org.xwiki.rendering.internal.macro.html.HTMLMacro.execute(HTMLMacro.java:158)
at org.xwiki.rendering.internal.macro.html.HTMLMacro.execute(HTMLMacro.java:75)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:101)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:348)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:221)
at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:107)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:270)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:67)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:43)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:123)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1210)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1477)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1431)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1416)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1372)
at com.xpn.xwiki.objects.classes.TextAreaClass.displayView(TextAreaClass.java:388)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:3460)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:3412)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:3361)
at com.xpn.xwiki.api.Document.display(Document.java:1722)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
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.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
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.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.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
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.ASTIfStatement.render(ASTIfStatement.java:87)
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)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:131)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:52)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:286)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:297)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:101)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:348)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:221)
at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:107)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:270)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:67)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:43)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:123)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1210)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1351)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1300)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1267)
at com.xpn.xwiki.api.Document.displayDocument(Document.java:783)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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)
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.SimpleNode.render(SimpleNode.java:342)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.xwiki.velocity.introspection.TryCatchDirective.render(TryCatchDirective.java:87)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
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)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2468)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:992)
at sun.reflect.GeneratedMethodAccessor299.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207)
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)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:2468)
at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:992)
at sun.reflect.GeneratedMethodAccessor299.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
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)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230)
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.ASTIfStatement.render(ASTIfStatement.java:87)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342)
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)
at com.xpn.xwiki.render.DefaultVelocityManager.evaluate(DefaultVelocityManager.java:358)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:95)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:217)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:180)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:137)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:53)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:264)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:264)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:247)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:772)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:745)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:725)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:711)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:78)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2490)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:179)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:516)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:218)
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:634)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:112)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:109)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

After reloading the site i see again the old error message:

java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart

Not sure if this information is helpfull.

Okay, i will take some time and try to find out if one of the changes made by me to the standard configuration of XWiki probably cause the error.

Have a nice weekend!

Best regards,
Dolo

Hi, seems there could be some issue with the Java VM you’re using and its config. Could you try to apply what’s mentioned in https://github.com/microsoft/vscode-arduino/issues/644 ?

Thanks

1 Like

Another idea is that you’re maybe on a headless system and you’re not starting xwiki in a headless way?

See https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/#HHardwareandSoftwarerequirements and -Djava.awt.headless=true.

Hi,

thanks for the fast reply.

I am not in the office anymore. I will try both solutions on monday and inform you about the results.

Your second suggestion is possibly the solution. I am running XWiki on an server without display.
But i actually installed the “.deb”-Package from the repo, and followed all the setps from XWiki documentation.

We will see :slight_smile:

Best regards,
Dolo

Hi,

i’ve checked for the “headless” mode.

Catalina itself seems to start without “-Djava.awt.headless=true”:

> ps aux | grep grep Djava

tomcat startup parameters
     /usr/lib/jvm/java-8-openjdk-amd64/bin/java -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties 
     -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
     -Djava.security.egd=file:/dev/./urandom 
     -Djdk.tls.ephemeralDHKeySize=2048 
     -Djava.protocol.handler.pkgs=org.apache.catalina.webresources 
     -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 
     -Dignore.endorsed.dirs= -classpath /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar 
     -Dcatalina.base=/var/lib/tomcat9 
     -Dcatalina.home=/usr/share/tomcat9 
     -Djava.io.tmpdir=/tmp org.apache.catalina.startup.Bootstrap start

So the option for “headless” mode is missing as i understand (?).

I’ve configured the XWiki according to https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Installation/InstallationViaAPT/.

So i checked the configuration in “etc/default/tomcat9”:

etc/default/tomcat9
    # The home directory of the Java development kit (JDK). You need at least
    # JDK version 8. If JAVA_HOME is not set, some common directories for
    # OpenJDK and the Oracle JDK are tried.
    #JAVA_HOME=/usr/lib/jvm/java-8-openjdk

    # You may pass JVM startup parameters to Java here. If unset, the default
    # options will be: -Djava.awt.headless=true -XX:+UseG1GC
    JAVA_OPTS="-Djava.awt.headless=true -XX:+UseG1GC -Xmx4096m"
    JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"

    # To enable remote debugging uncomment the following line.
    # You will then be able to use a Java debugger on port 8000.
    #JAVA_OPTS="${JAVA_OPTS} -agentlib:jdwp=transport=dt_socket,address=8000,server=y,suspend=n"

    # Java compiler to use for translating JavaServer Pages (JSPs). You can use all
    # compilers that are accepted by Ant's build.compiler property.
    #JSP_COMPILER=javac

    # Enable the Java security manager? (true/false, default: false)
    #SECURITY_MANAGER=true

    # Whether to compress logfiles older than today's
    #LOGFILE_COMPRESS=1

The option for “headless” mode is set there JAVA_OPTS="-Djava.awt.headless=true -XX:+UseG1GC -Xmx4096m" , but seems to be ignored by tomcat on startup.

The tomcat/catalina startup parameters seems to be stored in “/usr/share/tomcat9/bin/catalina.sh”.

  • But in this script the option “-Djava.security.egd=file:/dev/./urandom” is not available.
  • As you can see from the “ps aux” output the tomcat is using the “urandom”-Option, which is actually set in "etc/default/tomcat9"
    -> which leads me to conclude that the file itself is not ignored on startup of tomcat, but only the “headless” line.

Here is the tomcat startup log from friday:
(can’t find anything what includes “headless”)

/var/log/tomcat9/localhost.2020-01-10.log.gz

/var/log/tomcat9/localhost.2020-01-10.log.gz

10-Jan-2020 18:18:50.605 SEVERE [main] org.apache.catalina.core.StandardContext.listenerStart Error configuring application listener of class [org.xwiki.container.servlet.XWikiServletContextListener]
java.lang.ClassNotFoundException: org.xwiki.container.servlet.XWikiServletContextListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1363)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1186)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:540)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:521)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4590)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5136)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1577)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:638)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:496)

java.lang.ClassNotFoundException: org.xwiki.container.servlet.SetThreadNameServletRequestListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1363)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1186)
at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:540)
at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:521)
at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:150)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4590)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5136)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:713)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:690)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:695)
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:631)
at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1832)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:112)
at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:526)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:425)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1577)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:309)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:424)
at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:367)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:929)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:831)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1377)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1367)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
at java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:134)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:902)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:262)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:423)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:928)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
at org.apache.catalina.startup.Catalina.start(Catalina.java:638)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:350)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:496)

10-Jan-2020 18:18:50.693 SEVERE [main] org.apache.catalina.core.StandardContext.listenerStart Skipped installing application listeners due to previous error(s)
10-Jan-2020 18:18:50.726 WARNING [main] org.apache.catalina.session.StandardSession.doReadObject Cannot deserialize session attribute [visitObject] for session [B272AA49A6CAD7FD60119A5BE450828D]
10-Jan-2020 18:24:57.816 INFO [http://wiki.domain.org/rest/notifications/count?media=json&userId=xwiki%3AXWiki.user1&useUserPreferences=true&currentWiki=xwiki&async=true&=1578677097711] org.apache.catalina.core.ApplicationContext.log RestletServlet: [Restlet] ServerServlet: component class is null
10-Jan-2020 18:26:43.429 WARNING [main] org.apache.catalina.session.StandardSession.doReadObject Cannot deserialize session attribute [visitObject] for session [26A1452040D78378B56EE6E70099AECA]
10-Jan-2020 18:27:14.249 INFO [http://wiki.domain.org/rest/notifications/count?media=json&userId=xwiki%3AXWiki.wiki-admin&useUserPreferences=true&currentWiki=xwiki&async=true&
=1578677234084] org.apache.catalina.core.ApplicationContext.log RestletServlet: [Restlet] ServerServlet: component class is null

  1. Do i probably need to additional specify the “-Xms” option inside the “etc/default/tomcat9” file?
  2. Regarding to https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Performances/#HMemory there is also an “CATALINA_OPTS” variable, instead the “JAVA_OPTS”, but as I have learned from my research it dosen’t metter in this case (only a difference for “stop” command), right?

Thanks a lot!

Best regards & a good start,
Dolo

Update:

Tried to change the memory settings at “/etc/default/tomcat9”:
New: JAVA_OPTS="-Djava.awt.headless=true -XX:+UseG1GC -Xms1024m -Xmx2048m"

Restarted Tomcat afterwards:
-> Tomcat seems to ignore this parameters.
-> “ChartMacro” problem still exist

You can check that using something like

ps aux | grep java

where you will see if what you added is in the command line used to start Tomcat.

Hi Thomas,

thanks for your reply.

Yes, i mentioned that command in my previous post from yesterday.

I’ve also checked the “catalina.log” where i can’t find the “Xms” or “Xmx” parameters.

> ps aux | grep grep Djava

result for "Djava"

/usr/lib/jvm/java-8-openjdk-amd64/bin/java
-Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.security.egd=file:/dev/./urandom
-Djdk.tls.ephemeralDHKeySize=2048
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
-Dignore.endorsed.dirs= -classpath /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar
-Dcatalina.base=/var/lib/tomcat9
-Dcatalina.home=/usr/share/tomcat9
-Djava.io.tmpdir=/tmp org.apache.catalina.startup.Bootstrap start

and

> ps aux | grep java

result for "java

/usr/lib/jvm/java-8-openjdk-amd64/bin/java
-Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
-Djava.security.egd=file:/dev/./urandom
-Djdk.tls.ephemeralDHKeySize=2048
-Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
-Dignore.endorsed.dirs= -classpath /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar
-Dcatalina.base=/var/lib/tomcat9
-Dcatalina.home=/usr/share/tomcat9
-Djava.io.tmpdir=/tmp org.apache.catalina.startup.Bootstrap start

So it seems that the “JAVA_OPTS” parameter for “-Djava.security.egd=file:/dev/./urandom” is not ignored from “/etc/default/tomcat9” but the parameter for the memory settings.

Best regards,
Dolo

You are not setting JAVA_OPTS several times, are you ?

1 Like

Hi,

i do :roll_eyes:

Sorry, i am new to Java Servlets and Tomcat etc. :confused:

Should i place each parameter just into one “JAVA_OPTS” ?

Best regards,
Dolo

/etc/default/tomcat9 is actually a a bash script so when you set a variable it overwrite any content it previously had. You need to make sure you keep the previous content when you want to add more as in:

MYVAR="$MYVAR other stuff"

Or simply put everything in the same line.

1 Like

Hi,

thank you for this usefull instruction.

I’ve placed everything inside same line of JAVA_OPTS inside /etc/default/tomcat9.

Now tomcat starts with correct parameters:

ps aux | grep java
    /usr/lib/jvm/java-8-openjdk-amd64/bin/java 
    -Djava.util.logging.config.file=/var/lib/tomcat9/conf/logging.properties
    -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
    -Djava.awt.headless=true -XX:+UseG1GC -Xms1024m -Xmx2048m
    -Djava.security.egd=file:/dev/./urandom
    -Djdk.tls.ephemeralDHKeySize=2048
    -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
    -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
    -Dignore.endorsed.dirs= -classpath /usr/share/tomcat9/bin/bootstrap.jar:/usr/share/tomcat9/bin/tomcat-juli.jar
    -Dcatalina.base=/var/lib/tomcat9 -Dcatalina.home=/usr/share/tomcat9
    -Djava.io.tmpdir=/tmp org.apache.catalina.startup.Bootstrap start

Unfortunately this, dosn’t solve the actual “chartmacro” problem.
Will need to look for another possibilities.

Best regards,
Dolo

EDIT: grammar

Hi Vincent, Hi Thomas,

at first thank both of you for your constructive support and help!

I could solve the problem with the solution from Vincent.

Short Version:


  • I’ve installed XWiki in a test environment (VM - Ubunt 18.04)
    (As Ubuntu “.deb” package from repo: apt install xwiki-tomcat9-pgsql)

  • Configured the XWiki

  • Tested out the Chart macro -> Does not work with an clean install

  • Used Vincent’s solution from https://github.com/microsoft/vscode-arduino/issues/644
    Go to /etc/java-8-openjdk/accessibility.properties and comment out (deactivate) "assistive_technologies=org.GNOME.Accessibility.AtkWrapper"

  • Restart tomcat

  • Voilá - ChartMacro works

So maybe this solution can be somehow applied to the “.deb” package?

Thanks again!

Best regards,
Dolo

Long Version


  • Installation of XWiki on an Ubuntu 18.04 VM

    wget -q “https://maven.xwiki.org/public.gpg” -O- | sudo apt-key add -
    sudo wget “https://maven.xwiki.org/stable/xwiki-stable.list” -P /etc/apt/sources.list.d/
    sudo apt update
    apt-cache search xwiki
    sudo apt install xwiki-tomcat9-pgsql

  • Configuration

    sudo nano /etc/xwiki/xwiki.cfg

    => Added/Replaced values for:
    xwiki.authentication.validationKey=…
    xwiki.authentication.encryptionKey=…

    sudo nano /etc/default/tomcat9

    Add/change:
    JAVA_OPTS="-Djava.awt.headless=true -XX:+UseG1GC -Xms1024m -Xmx1024m -Djava.security.egd=file:/dev/./urandom"

  • configured “ShortURLs” - https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/ShortURLs/

    sudo cp /etc/tomcat9/Catalina/localhost/xwiki.xml /etc/tomcat9/Catalina/localhost/xwiki.xml.original
    sudo mv /etc/tomcat9/Catalina/localhost/xwiki.xml /etc/tomcat9/Catalina/localhost/ROOT.xml

    sudo nano /etc/xwiki/xwiki-tomcat9.xml

    OLD: <Context path="/xwiki" docBase="/usr/lib/xwiki" ...>
    NEW: <Context path="/" docBase="/usr/lib/xwiki" ...>

    sudo nano /etc/xwiki/xwiki.cfg

    -> uncomment/activate: "xwiki.webapppath="

    sudo systemctl restart tomcat9

  • Logged in and configured XWiki
    => XWiki Standard Flavor 11.10.2

  • Has not created SQL Indexes as mentioned at:
    https://www.xwiki.org/xwiki/bin/view/Documentation/AdminGuide/Performances/Database%20Administration/
    => In the Main Wiki i’ve created the SQL indexes

  • Created a page with following content:

    {{chart type="pie" source="inline" params="range:B2-D5;series:columns;" title="Chart Test" width="320" height="240"}}
    |=|=X|=Y|=Z
    |Q1|1.2|3.4|1.3
    |Q2|4.5|3.4|2.3
    |Q3|1.2|4.5|9.0
    |Q4|3.4|1.2|1.2
    {{/chart}}
    

    Got an error on this page:
    Failed to execute the [chart] macro. Cause: [Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper].
    -> Refresh page (F5) - got another error:
    "...java.lang.NoClassDefFoundError: Could not initialize class org.jfree.chart.JFreeChart..."

  • Tried out the solution from https://github.com/microsoft/vscode-arduino/issues/644

    sudo nano /etc/java-8-openjdk/accessibility.properties

    commendted out (deactivated):
    "assistive_technologies=org.GNOME.Accessibility.AtkWrapper"

    sudo systemctl restart tomcat9

    OK! Chart from the test page is now visible:
    ChartMacro_problem_solved1

  • Installed “Statistics Application 11.10.2”
    Activated "xwiki.stats" in "/etc/xwiki/xwiki.cfg"

    “xwiki.stats.default=1”

    sudo systemctl restart tomcat9

    OK! Chart at the “Current Month Activity” section is now also visible:

    ChartMacro_problem_solved2

End of Long version :slight_smile:

2 Likes