[jboss-jira] [JBoss JIRA] (DROOLS-2275) Null pointer exception when calling updateToVersion with existing data in a stateful KieSession

Mario Fusco (JIRA) issues at jboss.org
Wed Feb 14 10:54:00 EST 2018


     [ https://issues.jboss.org/browse/DROOLS-2275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Mario Fusco resolved DROOLS-2275.
---------------------------------
    Resolution: Done


Fixed

> Null pointer exception when calling updateToVersion with existing data in a stateful KieSession
> -----------------------------------------------------------------------------------------------
>
>                 Key: DROOLS-2275
>                 URL: https://issues.jboss.org/browse/DROOLS-2275
>             Project: Drools
>          Issue Type: Bug
>         Environment: Wildfly 8.2.1, Standalone
>            Reporter: Chad Poe
>            Assignee: Mario Fusco
>         Attachments: org.drools.test.beta-memory.zip
>
>
> This error was first discovered in a proprietary application that is running in wildfly 8.2.1. Up until now I was unable to reproduce outside of the mentioned environment. After narrowing down the exact conditions that cause the error to occur I was able to create a sample project that forces the issue to occur. Below is the stack trace:
> Caused by: java.lang.NullPointerException
>         at org.drools.core.reteoo.BetaMemory.linkNode(BetaMemory.java:93)
>         at org.drools.core.reteoo.BetaMemory.linkNode(BetaMemory.java:88)
>         at org.drools.core.reteoo.SingleObjectSinkAdapter.staticDoLinkRiaNode(SingleObjectSinkAdapter.java:111)
>         at org.drools.core.reteoo.SingleObjectSinkAdapter.doLinkRiaNode(SingleObjectSinkAdapter.java:93)
>         at org.drools.core.reteoo.RiaPathMemory.doLinkRule(RiaPathMemory.java:52)
>         at org.drools.core.reteoo.PathMemory.linkSegment(PathMemory.java:103)
>         at org.drools.core.reteoo.SegmentMemory.notifyRuleLinkSegment(SegmentMemory.java:192)
>         at org.drools.core.phreak.AddRemoveRule.addNewPaths(AddRemoveRule.java:452)
>         at org.drools.core.phreak.AddRemoveRule.addRule(AddRemoveRule.java:123)
>         at org.drools.core.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:189)
>         at org.drools.core.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:133)
>         at org.drools.core.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:110)
>         at org.drools.core.impl.KnowledgeBaseImpl.internalAddRule(KnowledgeBaseImpl.java:1530)
>         at org.drools.core.impl.KnowledgeBaseImpl.lambda$addRules$4(KnowledgeBaseImpl.java:1523)
>         at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:734)
>         at org.drools.core.impl.KnowledgeBaseImpl.addRules(KnowledgeBaseImpl.java:1521)
>         at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.compileRete(KnowledgeBuilderImpl.java:1010)
>         at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildRules(KnowledgeBuilderImpl.java:2524)
>         at org.drools.compiler.builder.impl.KnowledgeBuilderImpl.buildPackages(KnowledgeBuilderImpl.java:2450)
>         at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.buildPackages(CompositeKnowledgeBuilderImpl.java:109)
>         at org.drools.compiler.builder.impl.CompositeKnowledgeBuilderImpl.build(CompositeKnowledgeBuilderImpl.java:99)
>         at org.drools.compiler.kie.builder.impl.KieContainerImpl.rebuildAll(KieContainerImpl.java:473)
>         at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateKBase(KieContainerImpl.java:309)
>         at org.drools.compiler.kie.builder.impl.KieContainerImpl.lambda$update$0(KieContainerImpl.java:260)
>         at org.drools.core.impl.KnowledgeBaseImpl.enqueueModification(KnowledgeBaseImpl.java:734)
>         at org.drools.compiler.kie.builder.impl.KieContainerImpl.update(KieContainerImpl.java:260)
>         at org.drools.compiler.kie.builder.impl.KieContainerImpl.updateToVersion(KieContainerImpl.java:199)
>         at org.drools.test.KieRuntimeManager.buildOnKfs(KieRuntimeManager.java:202)
>         at org.drools.test.KieRuntimeManager.loadRule(KieRuntimeManager.java:147)
>         at org.drools.test.DroolsReasonerContainer.loadRule(DroolsReasonerContainer.java:22)
>         at org.drools.test.App.main(App.java:22)
>         ... 6 more



--
This message was sent by Atlassian JIRA
(v7.5.0#75005)


More information about the jboss-jira mailing list