Hello, I recently "inherited" drools management of our system when the previous code owner left the company unexpectedly, and sure enough, as soon as he left, I found the errors posted below. Being new to drools, I'm pretty lost about how to begin troubleshooting this issue.
I read a few forum posts about updating to 5.4 CR1 (we're using 5.4 Final), but wanted to ask and see if that's really the cause before I start changing the version. I also saw that casting as an Integer, which we do, could solve the problem. Could someone take a look at this and let me know if changing to CR1 would fix the issue or if there's a simpler solution? A little more info: We recently started increasing our traffic, which may be why we didn't see this issue before. I can't tell if this happens every 21st call or not, as was noted in other forum posts. We have multiple rules in each .drl file, and it seems like only these two rules are referenced, and none of the others. All rules in the file are called, so shouldn't the others cause the exceptions too? As far as I can tell, we're passing valid values each time to the rules. If there's any other information I can provide, please let me know. Thanks Exception in thread "Thread-69" java.lang.RuntimeException: Exception jitting: !getActiveLender($loan.getCurrentLender().getName()).canMakeLoan at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:219) at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41) at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.VerifyError: (class: ConditionEvaluator30c1aafd8a5c4402813396a1ab9f4739, method: evaluate signature: (Ljava/lang/Object;Lorg/drools/common/InternalWorkingMemory;Lorg/drools/reteoo/LeftTuple;)Z) Expecting to find integer on stack at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.getConstructor(Class.java:1674) at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173) at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53) at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217) ... 5 more Exception in thread "Thread-70" java.lang.RuntimeException: Exception jitting: new Integer(getCustomer().getLatestEmployer().monthlySalary) < 1251 at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:219) at org.drools.rule.constraint.MvelConstraint.access$000(MvelConstraint.java:41) at org.drools.rule.constraint.MvelConstraint$1.run(MvelConstraint.java:201) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:722) Caused by: java.lang.VerifyError: (class: ConditionEvaluatorcc9abc72a67b4dd2bbde979a1a2baa48, method: evaluate signature: (Ljava/lang/Object;Lorg/drools/common/InternalWorkingMemory;Lorg/drools/reteoo/LeftTuple;)Z) Expecting to find integer on stack at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2404) at java.lang.Class.getConstructor0(Class.java:2714) at java.lang.Class.getConstructor(Class.java:1674) at org.drools.rule.builder.dialect.asm.ClassGenerator.newInstance(ClassGenerator.java:173) at org.drools.rule.constraint.ASMConditionEvaluatorJitter.jitEvaluator(ASMConditionEvaluatorJitter.java:53) at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:217) ... 5 more Here are the rules that seem to be causing the errors: rule "Cashcure - Average Monthly Income Less Than 1251" when $loan : CMVNewLoanBean( new Integer(getCustomer().getLatestEmployer().monthlySalary) < 1251) then $loan.setLenderError($loan.getCurrentLender().getName(), 20253); end rule "Cashcure - Loan Cap Has Been Reached" when $loan : CMVNewLoanBean( !getActiveLender($loan.getCurrentLender().getName()).canMakeLoan ) then $loan.setLenderError($loan.getCurrentLender().getName(), 20259); end -- View this message in context: http://drools.46999.n3.nabble.com/exception-jitting-problem-tp4019764.html Sent from the Drools: User forum mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users