I've done a little debugging. The code fails in the following segment:
public static class HashTableIterator
...
while ( this.entry == null ) {
this.row++;
if ( this.row == this.length ) {
return null;
}
this.entry = this.table[this.row]; *// ---> index out of
bounds exception*
}
}
this.row has the same value as this.length despite the condition above it.
Probably a race condition issue.
On 7/2/07, Mark Proctor <mproctor(a)codehaus.org> wrote:
Not really :(
In your situation I tend to keep removing rules and data while still
making sure the error happens, to get it down to a minimum. Please do try,
as this isn't an error that should happen. Or alterntaively you can open
drools-core and drools-compiler in eclipse and execuse and debug this
yourself - in your situation this might best. you can put in a breakpoint to
listen for that particular exception.
Mark
s erel wrote:
It's hard for me to provide a self contained project. The drl is long
and uses several business objects. It's the same drl as we've been using for
306 minus the keyword changes.
Is there anything else i can check or provide you in order to solve this
matter.
Thanks
On 7/1/07, Mark Proctor <mproctor(a)codehaus.org> wrote:
>
> Can you provide us a self contained project which creates this error?
> Unless we can recreate it, it will be very hard to track it down. Please
> attach the project to a jira and we'll make it a priority.
>
> Mark
> s erel wrote:
>
> Hello,
>
> I've just started integrating MR3 into my project (I've previously used
> 3.06). The drl compiles and everything seems fine, but during
> tests the following exception is thrown for time to time:
>
> java.lang.ArrayIndexOutOfBoundsException: 17
> at org.drools.util.AbstractHashTable$HashTableIterator.next(
> AbstractHashTable.java:250)
> at org.drools.reteoo.Rete$ObjectTypeConf.buildCache(Rete.java:434)
> at org.drools.reteoo.Rete$ObjectTypeConf.getObjectTypeNodes(Rete.java
> :425)
> at org.drools.reteoo.Rete.assertObject(Rete.java:172)
> at org.drools.reteoo.ReteooRuleBase.assertObject(ReteooRuleBase.java
> :190)
> at
> org.drools.reteoo.ReteooWorkingMemory$WorkingMemoryReteAssertAction.execute(
> ReteooWorkingMemory.java:163)
> at org.drools.common.AbstractWorkingMemory.executeQueuedActions(
> AbstractWorkingMemory.java:1135)
> at org.drools.common.AbstractWorkingMemory.insert(
> AbstractWorkingMemory.java:781)
> at org.drools.common.AbstractWorkingMemory.insert(
> AbstractWorkingMemory.java:584)
> at org.drools.jsr94.rules.StatefulRuleSessionImpl.addObject(
> StatefulRuleSessionImpl.java:162)
>
> This only happens during high load tests.
> Can anyone help me?
>
> Thanks
>
>
> ------------------------------
>
> _______________________________________________
> rules-users mailing
listrules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
>
------------------------------
_______________________________________________
rules-users mailing
listrules-users@lists.jboss.orghttps://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users