Skip to content

kogito-examples: pmml-quarkus-example and other pmml examples fail to build native image #1441

@tkobayas

Description

@tkobayas
cd kogito-quarkus-examples/pmml-quarkus-example
mvn clean package -Dnative -Dquarkus.native.container-build=true
========================================================================================================================
GraalVM Native Image: Generating 'pmml-quarkus-example-runner' (executable)...
========================================================================================================================
For detailed information and explanations on the build output, visit:
https://github.com/oracle/graal/blob/master/docs/reference-manual/native-image/BuildOutput.md
------------------------------------------------------------------------------------------------------------------------
[1/8] Initializing...                                                                                    (8.9s @ 0.23GB)
 Java version: 21.0.4+7-LTS, vendor version: Mandrel-23.1.4.0-Final
 Graal compiler: optimization level: 2, target machine: x86-64-v3
 C compiler: gcc (redhat, x86_64, 8.5.0)
 Garbage collector: Serial GC (max heap size: 80% of RAM)
 4 user-specific feature(s):
 - com.oracle.svm.thirdparty.gson.GsonFeature
 - io.quarkus.runner.Feature: Auto-generated class by Quarkus from the existing extensions
 - io.quarkus.runtime.graal.DisableLoggingFeature: Disables INFO logging during the analysis phase
 - org.eclipse.angus.activation.nativeimage.AngusActivationFeature
------------------------------------------------------------------------------------------------------------------------
 3 experimental option(s) unlocked:
 - '-H:+AllowFoldMethods' (origin(s): command line)
 - '-H:BuildOutputJSONFile' (origin(s): command line)
 - '-H:+UseServiceLoaderFeature' (origin(s): command line)
------------------------------------------------------------------------------------------------------------------------
Build resources:
 - 7.11GB of memory (22.9% of 31.10GB system memory, set via '-Xmx8g')
 - 8 thread(s) (100.0% of 8 available processor(s), determined at start)
[2/8] Performing analysis...  [******]                                                                  (85.9s @ 2.67GB)
   26,397 reachable types   (89.4% of   29,524 total)
   38,942 reachable fields  (61.0% of   63,853 total)
  132,794 reachable methods (62.4% of  212,717 total)
    7,621 types,   544 fields, and 6,730 methods registered for reflection
       61 types,    61 fields, and    55 methods registered for JNI access
        4 native libraries: dl, pthread, rt, z

Error: Type is not available in this platform: com.oracle.svm.hosted.NativeImageClassLoader$1
Detailed message:
Trace: Object was reached by
  reading field java.util.ServiceLoader$LazyClassPathLookupIterator.configs of constant 
    java.util.ServiceLoader$LazyClassPathLookupIterator@7a9e8687: java.util.ServiceLoader$LazyClassPathLookupIterator@7a9e8687
  reading field java.util.ServiceLoader$2.val$second of constant 
    java.util.ServiceLoader$2@157aafa5: java.util.ServiceLoader$2@157aafa5
  reading field java.util.ServiceLoader.lookupIterator1 of constant 
    java.util.ServiceLoader@7e6f18ec: java.util.ServiceLoader[org.kie.efesto.runtimemanager.api.service.RuntimeManager...
  scanning root java.util.ServiceLoader@7e6f18ec: java.util.ServiceLoader[org.kie.efesto.runtimemanager.api.service.RuntimeManager... embedded in 
    org.kie.efesto.runtimemanager.api.utils.SPIUtils.getManagers(SPIUtils.java:108)
  parsing method org.kie.efesto.runtimemanager.api.utils.SPIUtils.getManagers(SPIUtils.java:107) reachable via the parsing context
    at org.kie.efesto.runtimemanager.api.utils.SPIUtils.getRuntimeManager(SPIUtils.java:94)
    at org.kie.pmml.models.drools.commons.model.KiePMMLDroolsModel.evaluate(KiePMMLDroolsModel.java:117)
    at org.kie.pmml.models.drools.executor.DroolsModelEvaluator.evaluate(DroolsModelEvaluator.java:40)
    at org.kie.pmml.models.drools.executor.DroolsModelEvaluator.evaluate(DroolsModelEvaluator.java:32)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.evaluate(PMMLRuntimeHelper.java:171)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.evaluate(PMMLRuntimeHelper.java:225)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.getEfestoOutput(PMMLRuntimeHelper.java:180)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.executeEfestoInputPMML(PMMLRuntimeHelper.java:104)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.executeEfestoInput(PMMLRuntimeHelper.java:124)
    at org.kie.pmml.evaluator.core.service.KieRuntimeServicePMMLRequestData.evaluateInput(KieRuntimeServicePMMLRequestData.java:52)
    at root method.(Unknown Source)


com.oracle.svm.core.util.UserError$UserException: Type is not available in this platform: com.oracle.svm.hosted.NativeImageClassLoader$1
Detailed message:
Trace: Object was reached by
  reading field java.util.ServiceLoader$LazyClassPathLookupIterator.configs of constant 
    java.util.ServiceLoader$LazyClassPathLookupIterator@7a9e8687: java.util.ServiceLoader$LazyClassPathLookupIterator@7a9e8687
  reading field java.util.ServiceLoader$2.val$second of constant 
    java.util.ServiceLoader$2@157aafa5: java.util.ServiceLoader$2@157aafa5
  reading field java.util.ServiceLoader.lookupIterator1 of constant 
    java.util.ServiceLoader@7e6f18ec: java.util.ServiceLoader[org.kie.efesto.runtimemanager.api.service.RuntimeManager...
  scanning root java.util.ServiceLoader@7e6f18ec: java.util.ServiceLoader[org.kie.efesto.runtimemanager.api.service.RuntimeManager... embedded in 
    org.kie.efesto.runtimemanager.api.utils.SPIUtils.getManagers(SPIUtils.java:108)
  parsing method org.kie.efesto.runtimemanager.api.utils.SPIUtils.getManagers(SPIUtils.java:107) reachable via the parsing context
    at org.kie.efesto.runtimemanager.api.utils.SPIUtils.getRuntimeManager(SPIUtils.java:94)
    at org.kie.pmml.models.drools.commons.model.KiePMMLDroolsModel.evaluate(KiePMMLDroolsModel.java:117)
    at org.kie.pmml.models.drools.executor.DroolsModelEvaluator.evaluate(DroolsModelEvaluator.java:40)
    at org.kie.pmml.models.drools.executor.DroolsModelEvaluator.evaluate(DroolsModelEvaluator.java:32)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.evaluate(PMMLRuntimeHelper.java:171)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.evaluate(PMMLRuntimeHelper.java:225)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.getEfestoOutput(PMMLRuntimeHelper.java:180)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.executeEfestoInputPMML(PMMLRuntimeHelper.java:104)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.executeEfestoInput(PMMLRuntimeHelper.java:124)
    at org.kie.pmml.evaluator.core.service.KieRuntimeServicePMMLRequestData.evaluateInput(KieRuntimeServicePMMLRequestData.java:52)
    at root method.(Unknown Source)


	at org.graalvm.nativeimage.builder/com.oracle.svm.core.util.UserError.abort(UserError.java:85)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:248)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:814)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:592)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:550)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:539)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:721)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.start(NativeImageGeneratorRunner.java:143)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:98)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: Type is not available in this platform: com.oracle.svm.hosted.NativeImageClassLoader$1
Detailed message:
Trace: Object was reached by
  reading field java.util.ServiceLoader$LazyClassPathLookupIterator.configs of constant 
    java.util.ServiceLoader$LazyClassPathLookupIterator@7a9e8687: java.util.ServiceLoader$LazyClassPathLookupIterator@7a9e8687
  reading field java.util.ServiceLoader$2.val$second of constant 
    java.util.ServiceLoader$2@157aafa5: java.util.ServiceLoader$2@157aafa5
  reading field java.util.ServiceLoader.lookupIterator1 of constant 
    java.util.ServiceLoader@7e6f18ec: java.util.ServiceLoader[org.kie.efesto.runtimemanager.api.service.RuntimeManager...
  scanning root java.util.ServiceLoader@7e6f18ec: java.util.ServiceLoader[org.kie.efesto.runtimemanager.api.service.RuntimeManager... embedded in 
    org.kie.efesto.runtimemanager.api.utils.SPIUtils.getManagers(SPIUtils.java:108)
  parsing method org.kie.efesto.runtimemanager.api.utils.SPIUtils.getManagers(SPIUtils.java:107) reachable via the parsing context
    at org.kie.efesto.runtimemanager.api.utils.SPIUtils.getRuntimeManager(SPIUtils.java:94)
    at org.kie.pmml.models.drools.commons.model.KiePMMLDroolsModel.evaluate(KiePMMLDroolsModel.java:117)
    at org.kie.pmml.models.drools.executor.DroolsModelEvaluator.evaluate(DroolsModelEvaluator.java:40)
    at org.kie.pmml.models.drools.executor.DroolsModelEvaluator.evaluate(DroolsModelEvaluator.java:32)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.evaluate(PMMLRuntimeHelper.java:171)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.evaluate(PMMLRuntimeHelper.java:225)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.getEfestoOutput(PMMLRuntimeHelper.java:180)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.executeEfestoInputPMML(PMMLRuntimeHelper.java:104)
    at org.kie.pmml.evaluator.core.utils.PMMLRuntimeHelper.executeEfestoInput(PMMLRuntimeHelper.java:124)
    at org.kie.pmml.evaluator.core.service.KieRuntimeServicePMMLRequestData.evaluateInput(KieRuntimeServicePMMLRequestData.java:52)
    at root method.(Unknown Source)


	at org.graalvm.nativeimage.pointsto/com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:126)
	at org.graalvm.nativeimage.builder/com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:809)
	... 6 more

You can confirm it locally and also in nightly.native jobs

https://ci-builds.apache.org/job/KIE/job/kogito/job/main/job/nightly.native/job/kogito-examples.build-and-test/
https://ci-builds.apache.org/job/KIE/job/kogito/job/10.0.x/job/nightly.native/job/kogito-examples.build-and-test/

Metadata

Metadata

Assignees

Type

No type

Projects

Status

🎯 Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions