[jboss-jira] [JBoss JIRA] (JBRULES-3718) java.lang.NullPointerException at org.mvel2.ast.IntSub.getReducedValueAccelerated
Michiel Vermandel (JIRA)
jira-events at lists.jboss.org
Fri Jan 18 04:31:22 EST 2013
[ https://issues.jboss.org/browse/JBRULES-3718?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12748859#comment-12748859 ]
Michiel Vermandel commented on JBRULES-3718:
--------------------------------------------
@Mario: The types are quite simple POJOs. No dependencies to other classes but the classes in my domain package.
I can send you the whole project if you want me to (1.35 Mb).
It's an Eclipse - Maven project with JUnit tests.
It's one of these tests that fails.
I think the frequency of the failure is also dependent on the general load on my development system.
Some times I can run the test 10-20 times without issues and other times I get it 2-3 times in a row.
I still don't have discovered a real pattern, though.
The odd thing (?) is that it does not seem to have impact on my result. Planning continues and results in the same score as when the test runs without the exception.
> java.lang.NullPointerException at org.mvel2.ast.IntSub.getReducedValueAccelerated
> ---------------------------------------------------------------------------------
>
> Key: JBRULES-3718
> URL: https://issues.jboss.org/browse/JBRULES-3718
> Project: JBRULES
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.5.0.Final
> Environment: Windows 7 64bit - Java 1.7.0
> Drools-planner 5.5.0.Final
> -> Drools-core 5.5.0.Final
> -> mvel2 2.1.3.Final
> Reporter: Michiel Vermandel
> Assignee: Mario Fusco
>
> When I run my planning I get now and then the stacktrace as mentioned below.
> It happens about 1 in 5 times during running a JUnit test on small amount of planning entities and problem facts.
> It started after adding my last rule:
> rule "tasksInSameCommunityMustBeChained"
> when
> $lead : Task(this==lead, period!=null, communityId!= null, $communityId : communityId)
> not ( Task(this==lead, communityId == $communityId, id != $lead.id, ($lead.startPeriodId-1) <= endPeriodId && ($lead.endPeriodId+1) >= startPeriodId ) )
> then
> insertLogical(new IntConstraintOccurrence("tasksInSameCommunityMustBeChained", ConstraintType.NEGATIVE_HARD, Importance.chainedPeriod, $communityId, $lead, $lead.getStartPeriodId()));
> end
> Stack trace:
> Exception in thread "Thread-1" java.lang.NullPointerException
> at org.mvel2.ast.IntSub.getReducedValueAccelerated(IntSub.java:17)
> at org.mvel2.compiler.ExecutableAccessor.getValue(ExecutableAccessor.java:38)
> at org.mvel2.ast.Substatement.getReducedValueAccelerated(Substatement.java:44)
> at org.mvel2.ast.BinaryOperation.getReducedValueAccelerated(BinaryOperation.java:108)
> at org.mvel2.ast.And.getReducedValueAccelerated(And.java:34)
> at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
> at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
> at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
> at org.mvel2.MVEL.executeExpression(MVEL.java:930)
> at org.drools.rule.constraint.MvelConditionEvaluator.evaluate(MvelConditionEvaluator.java:70)
> at org.drools.rule.constraint.MvelConditionEvaluator.ensureBranchEvaluation(MvelConditionEvaluator.java:117)
> at org.drools.rule.constraint.MvelConditionEvaluator.ensureCompleteEvaluation(MvelConditionEvaluator.java:102)
> at org.drools.rule.constraint.MvelConditionEvaluator.ensureCompleteEvaluation(MvelConditionEvaluator.java:90)
> at org.drools.rule.constraint.MvelConditionEvaluator.getAnalyzedCondition(MvelConditionEvaluator.java:82)
> at org.drools.rule.constraint.MvelConstraint.executeJitting(MvelConstraint.java:270)
> at org.drools.rule.constraint.MvelConstraint.access$200(MvelConstraint.java:51)
> at org.drools.rule.constraint.MvelConstraint$ConditionJitter.run(MvelConstraint.java:250)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> at java.lang.Thread.run(Unknown Source)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list