[jboss-jira] [JBoss JIRA] (DROOLS-215) Corrupted Working/Production memory

Ales Dolecek (JIRA) jira-events at lists.jboss.org
Thu Oct 17 03:59:02 EDT 2013


    [ https://issues.jboss.org/browse/DROOLS-215?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12816542#comment-12816542 ] 

Ales Dolecek commented on DROOLS-215:
-------------------------------------

Hello,
  I have not seen the Exception on 5.5 from the time we rebuild knowledgebase on rule change (instead od incremental change of rules). Definitelly related to KB update. Have you looked at my last comment in the forum? I tried to analyze the code to discover where the change of nodes can occur. Seems that the lock held while copying entries during resize does not prevent concurent access.

Aleš
                
> Corrupted Working/Production memory
> -----------------------------------
>
>                 Key: DROOLS-215
>                 URL: https://issues.jboss.org/browse/DROOLS-215
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 5.5.0.Final
>            Reporter: Ales Dolecek
>            Assignee: Mark Proctor
>         Attachments: ConcurrentNodeMemories.java
>
>
> Experienced ClassCastException mixing BetaMemory and AlphaMemory. There is debate in the mailing list/forum. The problem seems to be related to dymanic updates of knowledgebase.
> Saddly there is no deterministic way how to reproduce the issue, but that should not prevent tracking it here.
> Stack trace from my project:
> java.lang.ClassCastException: org.drools.reteoo.BetaMemory cannot be cast to org.drools.reteoo.AlphaNode$AlphaMemory
>         at org.drools.reteoo.AlphaNode.assertObject(AlphaNode.java:136) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.CompositeObjectSinkAdapter.doPropagateAssertObject(CompositeObjectSinkAdapter.java:497) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.CompositeObjectSinkAdapter.propagateAssertObject(CompositeObjectSinkAdapter.java:382) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:235) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:240) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:350) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:311) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:903) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:192) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.base.DefaultKnowledgeHelper.insert(DefaultKnowledgeHelper.java:186) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1.defaultConsequence(Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1.java:7) ~[na
> :na]
>         at cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1DefaultConsequenceInvokerGenerated.evaluate(Unknown Source) ~[na:na]
>         at cz.nextiraone.screening.rules.screening.Rule_Telefonni_cislo_z_textu__jen_cifry__225b11d6cd07418aac8c06cf5c86b4b1DefaultConsequenceInvoker.evaluate(Unknown Source) ~[na:na]
>         at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]
>         at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:230) ~[drools-core-5.5.0.Final.jar:5.5.0.Final]

--
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