[jboss-jira] [JBoss JIRA] (JBRULES-3327) Weird exception thrown: java.lang.ClassCastException: org.drools.reteoo.InitialFactImpl cannot be cast to XXX...

Edson Tirelli (Resolved) (JIRA) jira-events at lists.jboss.org
Wed Jan 4 11:07:10 EST 2012


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

Edson Tirelli resolved JBRULES-3327.
------------------------------------

    Fix Version/s: 5.3.2.Final
                   5.4.0.Beta2
       Resolution: Cannot Reproduce Bug


Miles, thanks for reporting. I added the following test case to both 5.3.x and master (5.4.0.beta2) branches and was unable to reproduce the problem. So I assume this was already fixed. If you still see the problem on the mentioned branches, please reopen the ticket and let me know.

https://github.com/droolsjbpm/drools/commit/bff24060a257aa48c732d58cf8315eafbef5e3d4#L0R1595
                
> Weird exception thrown:  java.lang.ClassCastException: org.drools.reteoo.InitialFactImpl cannot be cast to XXX...
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: JBRULES-3327
>                 URL: https://issues.jboss.org/browse/JBRULES-3327
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-core  (expert)
>    Affects Versions: 5.3.0.Final
>         Environment: jdk 1.6u27, ubuntu linux 11.04
>            Reporter: Miles Wen
>            Assignee: Edson Tirelli
>              Labels: ClassCastException, InitialFactImpl
>             Fix For: 5.3.2.Final, 5.4.0.Beta2
>
>
> This code throws exception at runtime, with default settings:
> rule "out"
>     when
>         l1:Msg(str == 'test') and
>         l2:Msg(!bool) or
>         eval(!false)
>     then
> end
> which throws: 
> org.drools.RuntimeDroolsException: Unexpected exception executing action org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction at ef894ce
> 	at org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:977)
> 	at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:315)
> 	at org.drools.common.NamedEntryPoint.insert(NamedEntryPoint.java:291)
> 	at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:886)
> 	at org.drools.common.AbstractWorkingMemory.insert(AbstractWorkingMemory.java:845)
> 	at org.drools.impl.StatefulKnowledgeSessionImpl.insert(StatefulKnowledgeSessionImpl.java:255)
> 	at com.sample.DroolsTest.main(DroolsTest.java:51)
> Caused by: org.drools.RuntimeDroolsException: com.sample.Rule_outEval0Invoker at 3e1b05a2 : java.lang.ClassCastException: org.drools.reteoo.InitialFactImpl cannot be cast to com.sample.Msg
> 	at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:119)
> 	at org.drools.reteoo.EvalConditionNode.assertLeftTuple(EvalConditionNode.java:178)
> 	at org.drools.reteoo.SingleLeftTupleSinkAdapter.doPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:197)
> 	at org.drools.reteoo.SingleLeftTupleSinkAdapter.createAndPropagateAssertLeftTuple(SingleLeftTupleSinkAdapter.java:146)
> 	at org.drools.reteoo.LeftInputAdapterNode.assertObject(LeftInputAdapterNode.java:158)
> 	at org.drools.reteoo.SingleObjectSinkAdapter.propagateAssertObject(SingleObjectSinkAdapter.java:59)
> 	at org.drools.reteoo.ObjectTypeNode.assertObject(ObjectTypeNode.java:215)
> 	at org.drools.reteoo.EntryPointNode.assertObject(EntryPointNode.java:244)
> 	at org.drools.reteoo.Rete.assertObject(Rete.java:107)
> 	at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java:284)
> 	at org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(ReteooWorkingMemory.java:404)
> 	at org.drools.common.AbstractWorkingMemory.executeQueuedActions(AbstractWorkingMemory.java:975)
> 	... 6 more
> Caused by: java.lang.ClassCastException: org.drools.reteoo.InitialFactImpl cannot be cast to com.sample.Msg
> 	at com.sample.Rule_outEval0Invoker.evaluate(Unknown Source)
> 	at org.drools.rule.EvalCondition.isAllowed(EvalCondition.java:114)
> 	... 17 more
> P.S: 'Msg' is an arbitrary pojo fact defined by user.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list