Exporting page or space to PDF fails and causes high load or OutOfMemory Error

Still need help?

The Atlassian Community is here for you.

Ask the community

Platform Notice: Server and Data Center Only. This article only applies to Atlassian products on the server and data center platforms.

Problem

  • When exporting a page or space to PDF, it doesn't succeed and causes a high load on Confluence until it triggers an OutOfMemory Error.
  • When exporting a single page, the process hangs and ultimately fails. The "System Error" page is displayed and the following appears in the atlassian-confluence.log:

    2012-04-19 17:22:06,698 ERROR [http-8080-3] [[Standalone].[localhost].[/confluence].[action]] log Servlet.service() for servlet action threw exception
    java.lang.OutOfMemoryError: Java heap space
        at java.util.LinkedList.addBefore(LinkedList.java:778)
        at java.util.LinkedList.add(LinkedList.java:198)
        at org.xhtmlrenderer.css.newmatch.CascadedStyle.addProperties(CascadedStyle.java:148)
        at org.xhtmlrenderer.css.newmatch.CascadedStyle.<init>(CascadedStyle.java:135)
        at org.xhtmlrenderer.css.newmatch.Matcher.getPageCascadedStyle(Matcher.java:121)
        at org.xhtmlrenderer.context.StyleReference.getPageStyle(StyleReference.java:203)
        at org.xhtmlrenderer.layout.Layer.createPageBox(Layer.java:794)
        at org.xhtmlrenderer.layout.Layer.addPage(Layer.java:764)
        at org.xhtmlrenderer.layout.Layer.addPagesUntilPosition(Layer.java:875)
        at org.xhtmlrenderer.layout.Layer.getPage(Layer.java:861)
        at org.xhtmlrenderer.layout.Layer.getFirstPage(Layer.java:805)
        at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:774)
        at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:735)
        at org.xhtmlrenderer.pdf.ITextRenderer.layout(ITextRenderer.java:209)
        at com.atlassian.confluence.extra.flyingpdf.FlyingSaucerXmlToPdfConverter.convertXhtmlToPdf(FlyingSaucerXmlToPdfConverter.java:92)
        at com.atlassian.confluence.extra.flyingpdf.FlyingSaucerXmlToPdfConverter.convertXhtmlToPdf(FlyingSaucerXmlToPdfConverter.java:38)
        at com.atlassian.confluence.extra.flyingpdf.FlyingSaucerPdfExporterService.createPdfForPage(FlyingSaucerPdfExporterService.java:78)
        at com.atlassian.confluence.extra.flyingpdf.ExportPageAsPdfAction.execute(ExportPageAsPdfAction.java:28)
    ....
  • When exporting a space to PDF, it becomes stuck at Begin conversion of intermediate HTML to PDF:

    The following appears in the atlassian-confluence.log:

    2012-04-19 17:02:40,878 ERROR [Long running task: PDF Space Export] [content.render.xhtml.DefaultRenderer] render Error rendering content for view: RuntimeException occurred while performing an XHTML storage transformation (null)
     -- referer: http://localhost:8080/confluence/spaces/flyingpdf/flyingpdf.action?key=SBX | url: /confluence/spaces/flyingpdf/doflyingpdf.action | userName: admin | action: doflyingpdf
    com.atlassian.confluence.content.render.xhtml.XhtmlException: RuntimeException occurred while performing an XHTML storage transformation (null)
        at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:60)
        at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:41)
        at com.atlassian.confluence.content.render.xhtml.PluggableTransformerChain.transform(PluggableTransformerChain.java:53)
        at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:63)
        at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:51)
        at com.atlassian.confluence.extra.flyingpdf.html.RenderedXhtmlBuilder.renderToHtml(RenderedXhtmlBuilder.java:377)
        at com.atlassian.confluence.extra.flyingpdf.html.RenderedXhtmlBuilder.renderContentTreeNodes(RenderedXhtmlBuilder.java:346)
        at com.atlassian.confluence.extra.flyingpdf.html.RenderedXhtmlBuilder.buildHtml(RenderedXhtmlBuilder.java:134)
        at com.atlassian.confluence.extra.flyingpdf.FlyingSaucerPdfExporterService.createPdfForSpace(FlyingSaucerPdfExporterService.java:50)
        at com.atlassian.confluence.extra.flyingpdf.PdfExportLongRunningTask$1.doInTransactionWithoutResult(PdfExportLongRunningTask.java:70)
        at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33)
        at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128)
        at com.atlassian.confluence.extra.flyingpdf.PdfExportLongRunningTask.runInternal(PdfExportLongRunningTask.java:52)
        at com.atlassian.confluence.util.longrunning.ConfluenceAbstractLongRunningTask.run(ConfluenceAbstractLongRunningTask.java:21)
        at com.atlassian.confluence.util.longrunning.ManagedTask.run(ManagedTask.java:35)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)
    Caused by: java.lang.NullPointerException
        at com.atlassian.confluence.content.render.xhtml.editor.macro.DefaultPlaceholderUrlFactory.getUrlForErrorPlaceholder(DefaultPlaceholderUrlFactory.java:73)
        at com.atlassian.confluence.content.render.xhtml.transformers.TransformErrorToHtmlPlaceholder.handle(TransformErrorToHtmlPlaceholder.java:54)
        at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:124)
        at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:43)
        ... 20 more

Cause

This is normally caused by an incompatible or problematic PDF stylesheet. Particularly the following CSS, if the value for margin is bigger than 5in:

@page 
{
    margin: 5.5in;
}

This bug is being tracked at CONF-25278 - Getting issue details... STATUS .

Workaround

Remove or reset the PDF stylesheets. You can base your customisations on the default CSS rules of the PDF stylesheet: confluencedefaultpdf.css.

Any rule defined in that stylesheet can be customised.

Last modified on Mar 30, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.