danfickle / danfickle/openhtmltopdf
OpenHtmlGvtFont NullPointerException in only some environments
- Dominant language
- Java
- Stars
- 2.2k
- Forks
- 423
- PR merge metrics
- No merged PRs in 30d
Description
I'm getting a NullPointerException from com.openhtmltopdf.svgsupport.OpenHtmlGvtFont but only when my project is running in my CI environment. When my project is running on my local development machine the code works correctly.
Exception:
```
java.lang.NullPointerException
at com.openhtmltopdf.svgsupport.OpenHtmlGvtFont.deriveFont(OpenHtmlGvtFont.java:135)
at com.openhtmltopdf.svgsupport.OpenHtmlGvtFontFamily.deriveFont(OpenHtmlGvtFontFamily.java:98)
at org.apache.batik.bridge.SVGTextElementBridge.getFontList(SVGTextElementBridge.java:1527)
at org.apache.batik.bridge.SVGTextElementBridge.getAttributeMap(SVGTextElementBridge.java:1597)
at org.apache.batik.bridge.SVGTextElementBridge.fillAttributedStringBuffer(SVGTextElementBridge.java:897)
at org.apache.batik.bridge.SVGTextElementBridge.buildAttributedString(SVGTextElementBridge.java:850)
at org.apache.batik.bridge.SVGTextElementBridge.computeLaidoutText(SVGTextElementBridge.java:630)
at org.apache.batik.bridge.SVGTextElementBridge.buildGraphicsNode(SVGTextElementBridge.java:286)
at org.apache.batik.bridge.GVTBuilder.buildGraphicsNode(GVTBuilder.java:224)
at org.apache.batik.bridge.GVTBuilder.buildComposite(GVTBuilder.java:171)
at org.apache.batik.bridge.GVTBuilder.build(GVTBuilder.java:82)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:210)
at com.openhtmltopdf.svgsupport.PDFTranscoder.transcode(PDFTranscoder.java:278)
at org.apache.batik.transcoder.XMLAbstractTranscoder.transcode(XMLAbstractTranscoder.java:142)
at org.apache.batik.transcoder.SVGAbstractTranscoder.transcode(SVGAbstractTranscoder.java:158)
at com.openhtmltopdf.svgsupport.BatikSVGImage.drawSVG(BatikSVGImage.java:231)
at com.openhtmltopdf.pdfboxout.PdfBoxSVGReplacedElement.paint(PdfBoxSVGReplacedElement.java:70)
at com.openhtmltopdf.pdfboxout.PdfBoxFastOutputDevice.paintReplacedElement(PdfBoxFastOutputDevice.java:275)
at com.openhtmltopdf.render.displaylist.DisplayListPainter.paintReplacedElement(DisplayListPainter.java:169)
at com.openhtmltopdf.render.displaylist.DisplayListPainter.paintReplacedElements(DisplayListPainter.java:151)
at com.openhtmltopdf.render.displaylist.DisplayListPainter.paint(DisplayListPainter.java:268)
at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.paintPageFast(PdfBoxRenderer.java:936)
at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.writePDFFast(PdfBoxRenderer.java:628)
at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPdfFast(PdfBoxRenderer.java:564)
at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:490)
at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:427)
at com.openhtmltopdf.pdfboxout.PdfBoxRenderer.createPDF(PdfBoxRenderer.java:409)
at com.openhtmltopdf.pdfboxout.PdfRendererBuilder.run(PdfRendererBuilder.java:46)
...
Caused by:
java.lang.NullPointerException
at com.openhtmltopdf.svgsupport.OpenHtmlGvtFont.deriveFont(OpenHtmlGvtFont.java:135)
... 46 more
```
It seems that the private variable `baseFont` is null run running in my CI.
Here's the differences in my environments:
- Local Development Machine
- macOS 12.0.1
- openjdk 11 (temurin)
- CI
- alpine 3.15.0
- openjdk11-jdk-11.0.14_p9-r0
Any ideas what could be causing the failure in one environment?
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.