Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-2731

ArrayIndexOutOfBoundsException when updating the rules at the runtime

    XMLWordPrintable

Details

    • Bug
    • Resolution: Cannot Reproduce
    • Blocker
    • None
    • 7.6.0.Final
    • core engine
    • None
    • NEW
    • NEW

    Description

      We update rules at runtime. Sometimes the system reaches a state when it starts throwing error -

      java.lang.ArrayIndexOutOfBoundsException: 1
      at org.drools.core.phreak.RuleNetworkEvaluator.innerEval(RuleNetworkEvaluator.java:349) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.phreak.RuleNetworkEvaluator.outerEval(RuleNetworkEvaluator.java:169) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.phreak.RuleNetworkEvaluator.evaluateNetwork(RuleNetworkEvaluator.java:127) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.phreak.RuleExecutor.evaluateNetwork(RuleExecutor.java:71) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.common.DefaultAgenda.evaluateEagerList(DefaultAgenda.java:887) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.common.DefaultAgenda.fireLoop(DefaultAgenda.java:1061) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.common.DefaultAgenda.internalFireAllRules(DefaultAgenda.java:1014) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1006) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.impl.StatefulKnowledgeSessionImpl.internalFireAllRules(StatefulKnowledgeSessionImpl.java:1318) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1309) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at org.drools.core.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKnowledgeSessionImpl.java:1293) ~[drools-core-7.6.0.Final.jar:7.6.0.Final]
      at com.adobe.sophia.executionlayer.RuleEngine.client.RuleEngineSession.fireAllRules(RuleEngineSession.java:111) ~[Rule-Engine-0.5.4.jar:?]
      at com.adobe.sophia.executionlayer.RuleEngine.client.Evaluator.evaluate(Evaluator.java:416) ~[Rule-Engine-0.5.4.jar:?]
      at com.adobe.sophia.executionlayer.RuleEngine.client.Evaluator$$FastClassBySpringCGLIB$$cfed13fd.invoke(<generated>) ~[Rule-Engine-0.5.4.jar:?]
      at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:720) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.retry.annotation.AnnotationAwareRetryOperationsInterceptor.invoke(AnnotationAwareRetryOperationsInterceptor.java:156) ~[spring-retry-1.2.2.RELEASE.jar:?]
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:655) ~[spring-aop-4.3.4.RELEASE.jar:4.3.4.RELEASE]
      at com.adobe.sophia.executionlayer.RuleEngine.client.Evaluator$$EnhancerBySpringCGLIB$$fb776e74.evaluate(<generated>) ~[Rule-Engine-0.5.4.jar:?]
      at com.adobe.sophia.executionlayer.psdk.RuleEngineEvaluator.RuleEvaluator.evaluate(RuleEvaluator.java:393) ~[RuleEvaluator.class:?]
      at com.adobe.sophia.executionlayer.psdk.RuleEngineEvaluator.CardRuleEvaluator.evaluate(CardRuleEvaluator.java:117) ~[CardRuleEvaluator.class:?]
      at com.adobe.sophia.executionlayer.psdk.content.service.ContentServiceImpl.fetchAllCardsUtilSophia(ContentServiceImpl.java:460) [ContentServiceImpl.class:?]
      at com.adobe.sophia.executionlayer.psdk.content.service.ContentServiceImpl.fetchContentGeneric(ContentServiceImpl.java:268) [ContentServiceImpl.class:?]
      at com.adobe.sophia.executionlayer.psdk.content.service.ContentServiceImpl.fetchContent(ContentServiceImpl.java:219) [ContentServiceImpl.class:?]
      at sun.reflect.GeneratedMethodAccessor269.invoke(Unknown Source) ~[?:?]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_51]
      at java.lang.reflect.Method.invoke(Method.java:497) ~[?:1.8.0_51]
      at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:180) [cxf-core-3.1.3.jar:3.1.3]
      at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96) [cxf-core-3.1.3.jar:3.1.3]
      at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200) [cxf-rt-frontend-jaxrs-3.1.3.jar:3.1.3]
      at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) [cxf-rt-frontend-jaxrs-3.1.3.jar:3.1.3]
      at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) [cxf-core-3.1.3.jar:3.1.3]
      at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) [cxf-core-3.1.3.jar:3.1.3]
      at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:308) [cxf-core-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) [cxf-core-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:234) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:208) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:160) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:293) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:212) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) [tomcat7-servlet-3.0-api.jar:?]
      at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:268) [cxf-rt-transports-http-3.1.3.jar:3.1.3]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.85]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.85]
      at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) [tomcat7-websocket.jar:7.0.85]
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.85]
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.85]
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) [catalina.jar:7.0.85]
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) [catalina.jar:7.0.85]
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:498) [catalina.jar:7.0.85]
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) [catalina.jar:7.0.85]
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.85]
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.85]
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) [catalina.jar:7.0.85]
      at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) [tomcat-coyote.jar:7.0.85]
      at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) [tomcat-coyote.jar:7.0.85]
      at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318) [tomcat-coyote.jar:7.0.85]
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_51]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_51]
      at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.85]
      at java.lang.Thread.run(Thread.java:745) [?:1.8.0_51]

      Attachments

        Issue Links

          Activity

            People

              mfusco@redhat.com Mario Fusco
              bhavneet91 Bhavneet Singh (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: