-
Bug
-
Resolution: Unresolved
-
Major
-
3.15.1.CR1, 3.15.1.CR2
-
False
-
None
-
False
-
-
---
-
-
Running quarkus 3.15.1 in native with FIPS enabled and with RH mandrel image - "registry-proxy.engineering.redhat.com/rh-osbs/quarkus-mandrel-for-jdk-21-rhel8:23.1" causes quarkus services to fail in some cases.
Failure is:
Fatal error: org.graalvm.compiler.debug.GraalError: java.lang.NullPointerException: Cannot invoke "java.util.Set.iterator()" because "services" is null at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisFuture.setException(AnalysisFuture.java:49) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:322) at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.AnalysisFuture.ensureDone(AnalysisFuture.java:63) at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisElement.lambda$execute$2(AnalysisElement.java:220) at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:187) at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:171) at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1423) at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387) at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312) at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843) at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808) at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188) Caused by: java.lang.NullPointerException: Cannot invoke "java.util.Set.iterator()" because "services" is null at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.SecurityServicesFeature.doRegisterServices(SecurityServicesFeature.java:798) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.SecurityServicesFeature.lambda$registerServices$17(SecurityServicesFeature.java:789) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1740) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.SecurityServicesFeature.registerServices(SecurityServicesFeature.java:788) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.SecurityServicesFeature.registerServices(SecurityServicesFeature.java:766) at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.SecurityServicesFeature.lambda$registerSASLReachabilityHandlers$12(SecurityServicesFeature.java:699) at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.meta.AnalysisElement$ElementNotification.lambda$notifyCallback$0(AnalysisElement.java:147) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317) ... 10 more
This occurs only is quarkus apps that use some service (e.g. MariaDbService) for testing, but not for all of the apps. I didn't find exact condition that triggers this exception, but it affects a lot of apps in testsuite. Extracted one such configuration into reproducer: https://github.com/mocenas/quarkus-native-fips-reproducer
Some points about this bug
- Only happens on FIPS
- Only happens with RH mandrel image
- Affects both RHBQ and community quarkus 3.15.1 builds.
- is related to
-
QUARKUS-4612 Infinispan client extension doesn’t work on FIPS and Native Mandrel 23.0 and 23.1
- In Progress