Details
-
Bug
-
Resolution: Done
-
Major
-
5.3.1.Final
-
None
-
None
Description
When a declaration does a double dereferencing, with the value of the method returned by the second dereferencing being a primitive type, the bytecode of the eval class using it is not correctly generated and causes, when instanced, an Exception like the following:
Exception in thread "main" java.lang.VerifyError: (class: gov/ssa/asa/rules/Rule_vhrGroupingByLocationEval0Invoker, method: evaluate signature: (Lorg/drools/spi/Tuple;[Lorg/drools/rule/Declaration;Lorg/drools/WorkingMemory;Ljava/lang/Object;)Z) Expecting to find integer on stack
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2389)
at java.lang.Class.getConstructor0(Class.java:2699)
at java.lang.Class.newInstance0(Class.java:326)
at java.lang.Class.newInstance(Class.java:308)
at org.drools.rule.JavaDialectRuntimeData.wire(JavaDialectRuntimeData.java:413)
Attachments
Issue Links
- duplicates
-
JBRULES-3283 Concurrency issue: Invalid bytecode generated by KnowledgeBuilder.add()
- Resolved