To get a resolution on the record -- the issue is fixed in AdoptOpenJDK 11.0.5+10, if not before.
Thank you all for the time and support. On Sun, Nov 17, 2019 at 6:20 PM Charles Duffy <char...@dyfis.net> wrote: > Howdy -- > > I'm unable to initialize the PDDocument class in PDFBox 2.0.17, as it > throws an ExceptionInInitializerError from inside ICC_Profile code on first > reference. > > I'm using AdoptOpenJDK 11.0.4, but also (to my great surprise!) reproduced > the problem using OpenJDK 1.8.0_222-ga (albeit still using LCMS). > > To reproduce the issue, one can pull the code out of > the org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB initializer and > run it externally, as done below: > > (import '[java.awt.color ColorSpace]) > (let [cs (ColorSpace/getInstance ColorSpace/CS_sRGB), > black (float-array [0 0 0 0])] > (.toRGB cs black)) > > ...which yields: > > #error { > :cause nil > :via > [{:type java.lang.NullPointerException > :message nil > :at [java.awt.color.ICC_Profile intFromBigEndian "ICC_Profile.java" > 1782]}] > :trace > [[java.awt.color.ICC_Profile intFromBigEndian "ICC_Profile.java" 1782] > [java.awt.color.ICC_Profile getNumComponents "ICC_Profile.java" 1474] > [sun.java2d.cmm.lcms.LCMSTransform <init> "LCMSTransform.java" 98] > [sun.java2d.cmm.lcms.LCMS createTransform "LCMS.java" 173] > [java.awt.color.ICC_ColorSpace toRGB "ICC_ColorSpace.java" 178] > [user$eval2013 invokeStatic "NO_SOURCE_FILE" 1] > [user$eval2013 invoke "NO_SOURCE_FILE" 1] > > ...matching the relevant subset of the full stack trace, as seen below: > > user=> org.apache.pdfbox.pdmodel.PDDocument > CompilerException java.lang.ExceptionInInitializerError, > compiling:(/tmp/form-init3209311122715787650.clj:1:1418) > > user=> *e > #error { > :cause nil > :via > [{:type clojure.lang.Compiler$CompilerException > :message "java.lang.ExceptionInInitializerError, > compiling:(/tmp/form-init3209311122715787650.clj:1:1418)" > :at [clojure.lang.Compiler analyze "Compiler.java" 6792]} > {:type java.lang.ExceptionInInitializerError > :message nil > :at [java.lang.Class forName0 "Class.java" -2]} > {:type java.lang.NullPointerException > :message nil > :at [java.awt.color.ICC_Profile intFromBigEndian "ICC_Profile.java" > 1782]}] > :trace > [[java.awt.color.ICC_Profile intFromBigEndian "ICC_Profile.java" 1782] > [java.awt.color.ICC_Profile getNumComponents "ICC_Profile.java" 1474] > [sun.java2d.cmm.lcms.LCMSTransform <init> "LCMSTransform.java" 98] > [sun.java2d.cmm.lcms.LCMS createTransform "LCMS.java" 173] > [java.awt.color.ICC_ColorSpace toRGB "ICC_ColorSpace.java" 178] > [org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB init > "PDDeviceRGB.java" 68] > [org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB toRGBImage > "PDDeviceRGB.java" 108] > [org.apache.pdfbox.pdmodel.PDDocument <clinit> "PDDocument.java" 107] > [java.lang.Class forName0 "Class.java" -2] > [java.lang.Class forName "Class.java" 348] > ;; ...snipped below here; generic Clojure REPL trace. > > > > Any pointers? >