-
Bug
-
Resolution: Done
-
Blocker
-
0.5.0
-
None
-
2020 Week 04-06 (from Jan 20), 2020 Week 07-09 (from Feb 10)
TL;DR: Using beans as a process variable makes the build fail.
This repo has 2 releases, "a" and "b". Release "a" has a simple model with a service task that gives an exception and release "b" has the same model but without the NPE.
When compiling "a" with "mvn clean compile quarkus:dev" the exception below is thrown.
The attribute changed in the Eclipse jBPM modeller to make the example not crash while deploying can be found in the attachments.
Using any type of the java.lang.* except Object package is fine.
[INFO] --- quarkus-maven-plugin:1.0.0.Final:dev (default-cli) @ bpm-demo --- Listening for transport dt_socket at address: 5005 12:13:55,956 INFO [org.jbo.threads] JBoss Threads version 3.0.0.Final 12:14:00,513 ERROR [io.qua.dev.DevModeMain] Failed to start Quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors [error]: Build step io.quarkus.kogito.deployment.KogitoAssetsProcessor#generateModel threw an exception: java.lang.RuntimeException: java.lang.RuntimeException: Error while generating proto for data model at io.quarkus.kogito.deployment.JandexProtoGenerator.extractDataClasses(JandexProtoGenerator.java:119) at org.kie.kogito.codegen.process.persistence.PersistenceGenerator.generate(PersistenceGenerator.java:101) at io.quarkus.kogito.deployment.KogitoAssetsProcessor.generatePersistenceInfo(KogitoAssetsProcessor.java:99) at io.quarkus.kogito.deployment.KogitoAssetsProcessor.generateModel(KogitoAssetsProcessor.java:173) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at io.quarkus.deployment.ExtensionLoader$1.execute(ExtensionLoader.java:941) at io.quarkus.builder.BuildContext.run(BuildContext.java:415) at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35) at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:2011) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1535) at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1426) at java.base/java.lang.Thread.run(Thread.java:834) at org.jboss.threads.JBossThread.run(JBossThread.java:479) Caused by: java.lang.RuntimeException: Error while generating proto for data model at io.quarkus.kogito.deployment.JandexProtoGenerator.generate(JandexProtoGenerator.java:56) at io.quarkus.kogito.deployment.JandexProtoGenerator.generateModelClassProto(JandexProtoGenerator.java:133) at io.quarkus.kogito.deployment.JandexProtoGenerator.extractDataClasses(JandexProtoGenerator.java:117) ... 15 more Caused by: java.lang.NullPointerException at io.quarkus.kogito.deployment.JandexProtoGenerator.messageFromClass(JandexProtoGenerator.java:64) at io.quarkus.kogito.deployment.JandexProtoGenerator.messageFromClass(JandexProtoGenerator.java:90) at io.quarkus.kogito.deployment.JandexProtoGenerator.messageFromClass(JandexProtoGenerator.java:90) at io.quarkus.kogito.deployment.JandexProtoGenerator.messageFromClass(JandexProtoGenerator.java:90) at io.quarkus.kogito.deployment.JandexProtoGenerator.messageFromClass(JandexProtoGenerator.java:90) at io.quarkus.kogito.deployment.JandexProtoGenerator.generate(JandexProtoGenerator.java:53) ... 17 more
Edit:
As a workaround for now I'm serializing my objects to insert it in the engine as a String and deserializing back to object on the service task method. This works for now to try Kogito but is a blocker for a production system.