[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2574) ArrayIndexOutOfBoundsException in ReteooRuleBase.addPackage() in 5.1.0.M2

Jean-Marc Vanel (JIRA) jira-events at lists.jboss.org
Mon Jul 19 06:31:53 EDT 2010


    [ https://jira.jboss.org/browse/JBRULES-2574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12539858#action_12539858 ] 

Jean-Marc Vanel commented on JBRULES-2574:
------------------------------------------

Indeed this is an incoherence in the initialization of field row in inner class FieldIndexHashTableFullIterator in class LeftTupleIndexHashTable .
Probably it has always worked because reset() is always called prior to next().

But more importantly, the cause of my exception is *not* there.
As can be seen in the original reposrt , the ArrayIndexOutOfBoundsException occurs when the index is 128 .

Somehow, the linked list represented by the field list grows larger than the array "table" .
And the latter is never updated; it is set in constructor.


> ArrayIndexOutOfBoundsException in ReteooRuleBase.addPackage() in 5.1.0.M2
> -------------------------------------------------------------------------
>
>                 Key: JBRULES-2574
>                 URL: https://jira.jboss.org/browse/JBRULES-2574
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 5.1.0.M2
>         Environment: Linux jmv-desktop 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28 UTC 2010 x86_64 GNU/Linux
> java -version
> java version "1.6.0_20"
> Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
>            Reporter: Jean-Marc Vanel
>            Assignee: Mark Proctor
>
> It seems related to having a not too small Working Memory (622 objects), and then compiling and adding several not too small rules packages. It runs fine on 5.1.0.M1 and before, but crashes 5.1.0.M2 and on today's 5.1.0.SNAPSHOT.
> Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 128
> at org.drools.core.util.LeftTupleIndexHashTable$FieldIndexHashTableFullIterator.next(LeftTupleIndexHashTable.java:153)
> at org.drools.reteoo.NotNode.updateSink(NotNode.java:471)
> at org.drools.reteoo.RuleTerminalNode.attach(RuleTerminalNode.java:395)
> at org.drools.reteoo.builder.ReteooRuleBuilder.addSubRule(ReteooRuleBuilder.java:177)
> at org.drools.reteoo.builder.ReteooRuleBuilder.addRule(ReteooRuleBuilder.java:128)
> at org.drools.reteoo.ReteooBuilder.addRule(ReteooBuilder.java:117)
> at org.drools.reteoo.ReteooRuleBase.addRule(ReteooRuleBase.java:409)
> at org.drools.common.AbstractRuleBase.addRule(AbstractRuleBase.java:638)
> at org.drools.common.AbstractRuleBase.addPackages(AbstractRuleBase.java:520)
> at org.drools.reteoo.ReteooRuleBase.addPackage(ReteooRuleBase.java:435)
> at DroolsRunExportedProjectOldAPI.loadSource(DroolsRunExportedProjectOldAPI.java:124)
> at DroolsRunExportedProjectOldAPI.main(DroolsRunExportedProjectOldAPI.java:79)

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list