Whenever camel-quarkus-xml-jaxb is on the classpath it is not possible to successfully produce a native application.
Error: java.util.concurrent.ExecutionException: java.lang.NullPointerException: receiver is null
com.oracle.graal.pointsto.util.AnalysisError: java.util.concurrent.ExecutionException: java.lang.NullPointerException: receiver is null
at com.oracle.graal.pointsto.util.AnalysisError.shouldNotReachHere(AnalysisError.java:172)
at com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:66)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$postTask$9(ImageHeapScanner.java:611)
at com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:193)
at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:177)
at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1426)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:290)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1020)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1656)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1594)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException: receiver is null
at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
at com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:64)
... 9 more
Caused by: java.lang.NullPointerException: receiver is null
at jdk.internal.vm.ci/jdk.vm.ci.hotspot.HotSpotConstantReflectionProvider.readFieldValue(HotSpotConstantReflectionProvider.java:175)
at com.oracle.svm.core.meta.ReadableJavaField.readFieldValue(ReadableJavaField.java:40)
at com.oracle.svm.hosted.substitute.ComputedValueField.readValue(ComputedValueField.java:312)
at com.oracle.svm.hosted.ameta.AnalysisConstantReflectionProvider.readHostedFieldValue(AnalysisConstantReflectionProvider.java:128)
at com.oracle.svm.hosted.heap.SVMImageHeapScanner.readHostedFieldValue(SVMImageHeapScanner.java:121)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.createImageHeapObject(ImageHeapScanner.java:265)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$getOrCreateConstantReachableTask$2(ImageHeapScanner.java:195)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.getOrCreateConstantReachableTask(ImageHeapScanner.java:207)
at com.oracle.svm.hosted.heap.SVMImageHeapScanner.getOrCreateConstantReachableTask(SVMImageHeapScanner.java:94)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.markConstantReachable(ImageHeapScanner.java:171)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.onFieldValueReachable(ImageHeapScanner.java:333)
at com.oracle.graal.pointsto.heap.ImageHeapScanner.lambda$createImageHeapObject$3(ImageHeapScanner.java:272)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63)
Whenever
camel-quarkus-xml-jaxb
is on the classpath it is not possible to successfully produce a native application.I think it's related to https://github.com/quarkusio/quarkus/commit/3ff5a163633af6fc076f7ddf700a3c7c285f7b44 and specifically this code:
Similar to https://github.com/quarkusio/quarkus/issues/3300#issuecomment-653002628, I think creation of the JAXBContext in our
xml-jaxb
extension messes up theRecomputeFieldValue
. It seems to work fine if it's changed to: