asciidocfx / AsciidocFX

Asciidoc Editor and Toolchain written with JavaFX 21 (Build PDF, Epub, Mobi and HTML books, documents and slides)
http://www.asciidocfx.com/
Apache License 2.0
1.86k stars 296 forks source link

AsciidocFX 185 DocBook-XSL (FOP) PDF error "FEATURE_SECURE_PROCESSING" #594

Open lopsotronic opened 1 year ago

lopsotronic commented 1 year ago

Run PDF using FOP processor on AsciidocFX 1.8.5. See error code below, attached resume file also which tripped error.

Note that FEATURE_SECURE_PROCESSING is a new Oracle OpenJDK thing introducing: jdk.xml.xpathExprGrpLimit Description: Limits the number of groups an XPath expression can contain. Default 10. jdk.xml.xpathExprOpLimit Description: Limits the number of operators an XPath expression can contain. Default 100. jdk.xml.xpathTotalOpLimit Description: Limits the total number of XPath operators in an XSL Stylesheet. Default 10000.

others have had some success jimicking these parms to 0 which removes the limits, however they note that garbage collection of xpath becomes potential issue.

----
    ERROR => Problem occured while converting to PDF
javax.xml.transform.TransformerConfigurationException: JAXP0801003: the compiler encountered XPath expressions with an accumulated '10,001' operators that exceeds the '10,000' limit set by 'FEATURE_SECURE_PROCESSING'.
    at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:1079)
    at java.xml/com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl.newTransformer(TransformerFactoryImpl.java:834)
    at com.kodedu.service.convert.pdf.FopPdfBookConverter.lambda$convert$0(FopPdfBookConverter.java:96)
    at com.kodedu.service.convert.docbook.DocBookConverter.lambda$convert$0(DocBookConverter.java:96)
    at com.kodedu.service.impl.ThreadServiceImpl$1.call(ThreadServiceImpl.java:53)
    at javafx.graphics@20.0.1/javafx.concurrent.Task$TaskCallable.call(Task.java:1426)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:577)
    at java.base/java.util.concurrent.ThreadPerTaskExecutor$ThreadBoundFuture.run(ThreadPerTaskExecutor.java:352)
    at java.base/java.lang.VirtualThread.run(VirtualThread.java:305)
    at java.base/java.lang.VirtualThread$VThreadContinuation.lambda$new$0(VirtualThread.java:177)
    at java.base/jdk.internal.vm.Continuation.enter0(Continuation.java:327)
    at java.base/jdk.internal.vm.Continuation.enter(Continuation.java:320)
----

Mogilewsky_Resume_Writer.adoc.txt

rahmanusta commented 9 months ago

Fixed https://github.com/asciidocfx/AsciidocFX/releases/tag/v1.8.6