Skip to main content

NPE when processing templates on Linux

Maxime avatar
Written by Maxime
Updated over 3 weeks ago

Question

I'm using Design & Compose 21.04 and I have the following error when processing templates. What could be the cause ?

[2023-05-23 16:03:04] [TPWorker-4] [INFO] [c.i.m.handlers.impl.standard.LogMessageHandler:?] Template processor interrupted due to error: Unexpected error during template processor task: null [WorkUnitID: {JOB_ID=id-20480|, FLOWINSTANCE=1684850581741-5|, LOCALTEMPLATEPROCESSORTASK=LocalTemplateProcessorTask-1684850583909-20|, CONTAINER=Container|, TEMPLATEPROCESSORSESSION=TemplateProcessorSession-1684850583907-19|, FLOWOBJECT=1|, STEP=Create Output: Substep 1|, FLOW=x/create-output-1|, REQUESTID=5502621fc5ff75765b3796ecc74a402ba3393b6f|}] [class java.lang.Throwable]
com.id.scriptura.templateprocessor.exception.TemplateProcessorException: Unexpected error during template processor task: null
at id.scriptura.templateprocessor.impl.local.messagehandler.MessageDispatcherContext.message(MessageDispatcherContext.java:64)
at id.scriptura.templateprocessor.impl.local.local.XSLFODocumentLocalProcessDocumentTask.processTask(XSLFODocumentLocalProcessDocumentTask.java:523)
at id.scriptura.templateprocessor.impl.local.local.AbstractLocalTemplateProcessorTask$TemplateProcessorTaskRunner.run(AbstractLocalTemplateProcessorTask.java:179)
at id.scriptura.templateprocessor.impl.local.local.LocalTemplateProcessor$1.run(LocalTemplateProcessor.java:304)
at id.util.thread.pool.TPRunnable$TPThread.run(TPRunnable.java:184)
Caused by: java.lang.NullPointerException: null
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:379)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:324)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.desktop/java.awt.Font.getFont2D(Font.java:497)
at java.desktop/java.awt.Font.getFontName(Font.java:1469)
at java.desktop/java.awt.Font.getFontName(Font.java:1451)
at com.itextpdf.awt.PdfGraphics2D.getCachedBaseFont(Unknown Source)
at com.itextpdf.awt.PdfGraphics2D.setFont(Unknown Source)
at com.itextpdf.awt.PdfGraphics2D.<init>(Unknown Source)
at com.itextpdf.awt.PdfGraphics2D.<init>(Unknown Source)
at id.fof.rendering.PDF.PDFRenderer.createG2(PDFRenderer.java:3504)
at id.fof.rendering.PDF.PDFRenderer.renderImageInternal(PDFRenderer.java:2386)
at id.fof.rendering.PDF.PDFRenderer.renderImage(PDFRenderer.java:2313)
at id.fof.rendering.AbstractLayoutedRenderer.renderInlineArea(AbstractLayoutedRenderer.java:1023)
at id.fof.rendering.AbstractLayoutedRenderer.renderLineArea(AbstractLayoutedRenderer.java:909)
at id.fof.rendering.PDF.PDFRenderer.renderLineArea(PDFRenderer.java:2223)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:660)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1645)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1645)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1645)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1593)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1645)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1645)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1645)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlock(AbstractLayoutedRenderer.java:1553)
at id.fof.rendering.PDF.PDFRenderer.renderBlock(PDFRenderer.java:1262)
at id.fof.rendering.AbstractLayoutedRenderer.renderBlocks(AbstractLayoutedRenderer.java:619)
at id.fof.rendering.AbstractLayoutedRenderer.renderRegion(AbstractLayoutedRenderer.java:579)
at id.fof.rendering.AbstractLayoutedRenderer.renderRegionViewport(AbstractLayoutedRenderer.java:561)
at id.fof.rendering.AbstractLayoutedRenderer.renderPageRegions(AbstractLayoutedRenderer.java:496)
at id.fof.rendering.AbstractLayoutedRenderer.renderPageAreas(AbstractLayoutedRenderer.java:484)
at id.fof.rendering.AbstractLayoutedRenderer.renderFinishedPage(AbstractLayoutedRenderer.java:432)
at id.fof.rendering.PDF.PDFRenderer.renderFinishedPage(PDFRenderer.java:974)
at id.fof.rendering.AbstractBaseLayoutedRenderer.tryEmptyPageQueue(AbstractBaseLayoutedRenderer.java:156)
at id.fof.rendering.AbstractBaseLayoutedRenderer.renderPage(AbstractBaseLayoutedRenderer.java:73)
at id.fof.rendering.PDF.PDFRenderer.renderPage(PDFRenderer.java:3582)
at id.fof.rendering.ThreadedRenderer$PageRenderTask.run(ThreadedRenderer.java:302)
at id.scriptura.templateprocessor.impl.local.thread.FormatterThreadPoolController$1.run(FormatterThreadPoolController.java:69)
... 1 common frames omitted

Answer

Using OpenJDK on Linux requires Fontconfig. This library may or may not be included in your Linux distribution and, if absent, may or may not be automatically installed as a dependency when installing OpenJDK. Consult the documentation of your Linux distribution for details on the availability of this library.

See http://fontconfig.org/ for more information.

Did this answer your question?