Salvijus Laucius

BA 6.6 evaluation error in loop

Discussion created by Salvijus Laucius on Mar 31, 2009
Latest reply on Apr 17, 2009 by Andrei Palskoi

Hi,

I'm trying to validate data using Blaze Advisor rule repository from Java.
My SRL function :

 

try
{
    apply Representative_Ruleset();
    aCount is an integer initially gGoodsItems.count;
    aIndex is an integer initially 0;
    while (aIndex < aCount) do
    {
        apply GoodsItems_CommodityCode_Ruleset(aIndex);
        apply GoodsItems_Packages_Marks_Ruleset(aIndex);
        aIndex = aIndex + 1;
    }
}
catch a Throwable with
{
    it.printStackTrace();
}

 

It throws a NdServiceSessionRuntimeException in the while loop on exit of the first apply.
Exception disapears if both "apply" in the loop are commented.

 

Full exception trace :

 

com.blazesoft.server.base.NdServiceSessionRuntimeException: Service session Id number 39.
Service 'Decision Services'. Server 'Decision Services' on host 'yyyy'.
Evaluation error
Service session Id number 39.
Service 'Decision Services'. Server 'Decision Services' on host 'yyyy'.
Deleting local object 'Anonymous3#8'
at Decision Services.rb at line 2860 (76736 -> 76777)
at Decision Services.rb at line 2860 (76736 -> 76777)
com.blazesoft.engines.rules.NdRuntimeException: 'Anonymous3#8' is already deleted.
 at com.blazesoft.engines.rules.NdObject.WjHBKzO(:2001)
 at com.blazesoft.engines.rules.NdObject.WjHBKMM(:4700)
 at com.blazesoft.engines.rules.NdObject.WjHBKUU(:4842)
 at com.blazesoft.engines.rules.NdObject.release(:5006)
 at com.blazesoft.engines.rules.expressions.NdFunctionalExpression.WjHLQSY(:223)
 at com.blazesoft.engines.rules.expressions.NdFunctionalExpression.WjHBdED(:172)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:572)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluate(:539)
 at com.blazesoft.engines.rules.expressions.WjHBsBU.WjHBdED(:359)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:572)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluate(:539)
 at com.blazesoft.engines.rules.rete.WjHAXMK.WjHAXGE(:536)
 at com.blazesoft.engines.rules.rete.WjHBtbG.WjHBtaZ(:255)
 at com.blazesoft.engines.rules.rete.WjHBtbG.WjHAXBL(:281)
 at com.blazesoft.engines.rules.rete.WjHAXMK.WjHAXJH(:553)
 at com.blazesoft.engines.rules.rete.WjHBtbG.WjHAXBL(:282)
 at com.blazesoft.engines.rules.rete.WjHAXMK.WjHAXJH(:553)
 at com.blazesoft.engines.rules.rete.WjHBMQA.WjHBMPZ(:128)
 at com.blazesoft.engines.rules.NdClass.WjHBLSW(:2454)
 at com.blazesoft.engines.rules.NdClass.WjHBLTX(:2477)
 at com.blazesoft.engines.rules.NdClass.WjHBLSW(:2458)
 at com.blazesoft.engines.rules.WjHBXRP.WjHBLTX(:385)
 at com.blazesoft.engines.rules.NdClass.WjHBLSW(:2458)
 at com.blazesoft.engines.rules.NdObject.WjHBKJJ(:4635)
 at com.blazesoft.engines.rules.NdScriptContext.WjHBTRH(:4884)
 at com.blazesoft.engines.rules.NdObject.WjHBKzO(:2098)
 at com.blazesoft.engines.rules.NdObject.WjHBKXX(:4904)
 at com.blazesoft.engines.rules.NdEvaluationContext.WjHHQEV(:294)
 at com.blazesoft.engines.rules.NdEvaluationContext.WjHLPgB(:324)
 at com.blazesoft.engines.rules.NdEvaluationContext.free(:394)
 at com.blazesoft.engines.rules.expressions.NdFunctionalExpression.WjHLQSY(:219)
 at com.blazesoft.engines.rules.expressions.NdFunctionalExpression.WjHLOvY(:179)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluateAction(:1223)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:224)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHBdED(:199)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:572)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluate(:539)
 at com.blazesoft.engines.rules.expressions.WjHBrxD.WjHBdED(:176)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOvY(:502)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluateAction(:1230)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:227)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLOvY(:206)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluateAction(:1223)
 at com.blazesoft.engines.rules.expressions.WjHBYaP.WjHBdED(:271)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOvY(:502)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluateAction(:1230)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:227)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLOvY(:206)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.NdFunction$FunctionEvaluator.catchEvaluate(:431)
 at com.blazesoft.engines.rules.NdFunctionalItem.WjHLQcJ(:782)
 at com.blazesoft.engines.rules.NdFunctionalItem.catchEvaluate(:715)
 at com.blazesoft.engines.rules.NdFunctionalItem.WjHLVyT(:963)
 at com.blazesoft.engines.rules.NdFunctionalItem.catchInvokeInternal(:1046)
 at com.blazesoft.engines.flow.WjHATZC.WjHGPWR(:112)
 at com.blazesoft.engines.flow.WjHGPOT.WjHAZIB(:533)
 at com.blazesoft.engines.flow.WjHGQLV.WjHGWSJ(:394)
 at com.blazesoft.engines.flow.WjHByQO.WjHUosA(:814)
 at com.blazesoft.engines.flow.WjHByQO.WjHUorZ(:577)
 at com.blazesoft.engines.rules.NdRuleflowFunctional.imperativeInvokeRuleflow(:408)
 at com.blazesoft.engines.rules.NdRuleflowFunctional$WjHUpzZ.WjHUpzX(:853)
 at com.blazesoft.engines.rules.NdRuleflowFunctional$WjHUpzZ.WjHUpzY(:867)
 at com.blazesoft.engines.rules.NdRuleflowFunctional$WjHUpzZ.catchEvaluate(:976)
 at com.blazesoft.engines.rules.NdFunctionalItem.WjHLQcJ(:782)
 at com.blazesoft.engines.rules.NdFunctionalItem.catchEvaluate(:715)
 at com.blazesoft.engines.rules.NdFunctionalItem.WjHLVyT(:963)
 at com.blazesoft.engines.rules.NdFunctionalItem.catchInvokeInternal(:1046)
 at com.blazesoft.engines.flow.WjHATZC.WjHGPWR(:112)
 at com.blazesoft.engines.flow.WjHGPOT.WjHAZIB(:533)
 at com.blazesoft.engines.flow.WjHGQLV.WjHGWSJ(:394)
 at com.blazesoft.engines.flow.WjHByQO.WjHUosA(:814)
 at com.blazesoft.engines.flow.WjHByQO.run(:499)
 at com.blazesoft.engines.rules.NdScriptContext.WjHBTqH(:3560)
 at com.blazesoft.engines.rules.NdDefCommonBuiltIns.executeAgent(:353)
 at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at com.blazesoft.engines.rules.java.WjHBkmV.WjHBklU(:212)
 at com.blazesoft.engines.rules.java.WjHBkmV.invoke(:409)
 at com.blazesoft.objects.base.NdDefaultExternalContext.invokeExternalMethod(:64)
 at com.blazesoft.engines.rules.expressions.NdMethodInvoker.WjHLTvK(:395)
 at com.blazesoft.engines.rules.expressions.NdCallExpression.WjHLUmM(:1767)
 at com.blazesoft.engines.rules.expressions.WjHBuyB.WjHLUmM(:183)
 at com.blazesoft.engines.rules.expressions.NdCallExpression.WjHLUmL(:695)
 at com.blazesoft.engines.rules.expressions.NdCallExpression.WjHLOvY(:622)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluateAction(:1223)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:224)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHBdED(:199)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:572)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluate(:539)
 at com.blazesoft.engines.rules.expressions.WjHAVGD.WjHBdED(:185)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOvY(:502)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluateAction(:1223)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:224)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHBdED(:199)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:572)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluate(:539)
 at com.blazesoft.engines.rules.expressions.WjHAVGD.WjHBdED(:185)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOvY(:502)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluateAction(:1230)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:227)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLOvY(:206)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluateAction(:1223)
 at com.blazesoft.engines.rules.expressions.WjHBYaP.WjHBdED(:271)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOvY(:502)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluateAction(:1223)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:224)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHBdED(:199)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:572)
 at com.blazesoft.engines.rules.expressions.NdExpression.evaluate(:539)
 at com.blazesoft.engines.rules.expressions.WjHAVGD.WjHBdED(:185)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOvY(:502)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOxA(:1240)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluateAction(:1230)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLPlX(:227)
 at com.blazesoft.engines.rules.expressions.WjHAPdD.WjHLOvY(:206)
 at com.blazesoft.engines.rules.expressions.NdExpression.WjHLOwZ(:592)
 at com.blazesoft.engines.rules.expressions.NdExpression.catchEvaluate(:1168)
 at com.blazesoft.engines.rules.NdFunction$FunctionEvaluator.catchEvaluate(:431)
 at com.blazesoft.engines.rules.NdFunctionalItem.WjHLQcJ(:782)
 at com.blazesoft.engines.rules.NdFunctionalItem.catchEvaluate(:715)
 at com.blazesoft.engines.rules.NdFunctionalItem.WjHLVyT(:963)
 at com.blazesoft.engines.rules.NdFunctionalItem.catchInvoke(:1127)
 at com.blazesoft.server.deploy.rules.NdDeployRulesServiceSrlInvoker.invoke(:146)
 at com.blazesoft.server.deploy.rules.NdDeployRulesServiceClientContext.invokeService(:2507)
 at com.blazesoft.server.deploy.rules.NdDeployInvokerRulesServiceClientContext.execute(:66)
 at com.blazesoft.server.rules.NdRulesServiceAgent.process(:1447)
 at com.blazesoft.server.rules.NdRulesServiceAgent.run(:1221)
 at com.blazesoft.server.local.NdLocalServiceExecContext.runAgent(:96)
 at com.blazesoft.server.local.NdLocalService.runAgent(:1244)
 at com.blazesoft.server.local.NdLocalService.invokeServiceSessionImpl(:1897)
 at com.blazesoft.server.local.NdLocalService.invokeServiceSession(:1949)
 at com.blazesoft.server.deploy.NdStatelessServer.SiPsoKE(:233)
 at com.blazesoft.server.deploy.NdStatelessServer.invokeService(:362)
 at com.blazesoft.server.deploy.NdStatelessServer.invokeService(:489)
 at eu.erp.dms.mdas.validation.server.RulesRepoServer.invokevalidateDocument(RulesRepoServer.java:59)
 at eu.erp.dms.mdas.validation.bean.RuleServerImpl.validateDocument(RuleServerImpl.java:108)
 at eu.erp.dms.mdas.validation.test.RulesTest.validateDocument(RulesTest.java:111)
 at eu.erp.dms.mdas.validation.test.RulesTest.validateDocument(RulesTest.java:105)
 at eu.erp.dms.mdas.validation.test.CommonRulesTests.R13LTTest(CommonRulesTests.java:3582)
 at eu.erp.dms.mdas.validation.test.IE615Test_Ext.R13LT(IE615Test_Ext.java:123)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at org.springframework.test.context.junit4.SpringTestMethod.invoke(SpringTestMethod.java:163)
 at org.springframework.test.context.junit4.SpringMethodRoadie.runTestMethod(SpringMethodRoadie.java:233)
 at org.springframework.test.context.junit4.SpringMethodRoadie$RunBeforesThenTestThenAfters.run(SpringMethodRoadie.java:333)
 at org.springframework.test.context.junit4.SpringMethodRoadie.runWithRepetitions(SpringMethodRoadie.java:217)
 at org.springframework.test.context.junit4.SpringMethodRoadie.runTest(SpringMethodRoadie.java:197)
 at org.springframework.test.context.junit4.SpringMethodRoadie.run(SpringMethodRoadie.java:143)
 at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.invokeTestMethod(SpringJUnit4ClassRunner.java:142)
 at org.junit.internal.runners.JUnit4ClassRunner.runMethods(JUnit4ClassRunner.java:51)
 at org.junit.internal.runners.JUnit4ClassRunner$1.run(JUnit4ClassRunner.java:44)
 at org.junit.internal.runners.ClassRoadie.runUnprotected(ClassRoadie.java:27)
 at org.junit.internal.runners.ClassRoadie.runProtected(ClassRoadie.java:37)
 at org.junit.internal.runners.JUnit4ClassRunner.run(JUnit4ClassRunner.java:42)
 at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
 at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
 at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


Where is the problem ?

Outcomes