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

Drools freezes during execution

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • 5.5.1.Final, 6.0.1.Final
    • 5.5.0.Final
    • None
    • None
    • Hide

      No current work around

      Show
      No current work around

      When Drools is being run to process rules on a number of threads on occasion the rules engine freezes with the stack trace below and does not complete. There are a number of other threads that are also frozen out waiting to lock 0x00002aab9d4caf58:

      Frozen Thread

      "pool-3-thread-8" prio=10 tid=0x00002ab53d16e000 nid=0x1c29 runnable [0x0000000049fc7000]
      java.lang.Thread.State: RUNNABLE
      at java.util.WeakHashMap.expungeStaleEntries(WeakHashMap.java:408)

      • locked \<0x00002aab9d4caf58\> (a java.lang.ref.ReferenceQueue)
        at java.util.WeakHashMap.getTable(WeakHashMap.java:417)
        at java.util.WeakHashMap.get(WeakHashMap.java:464)
        at org.mvel2.util.ParseTools.getBestCandidate(ParseTools.java:241)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1039)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:987)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:377)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:143)
        at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
        at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
        at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
        at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
        at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
        at org.mvel2.MVEL.executeExpression(MVEL.java:930)
        at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:104)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)
      • locked \<0x00002aaec5b1b160\> (a org.drools.common.DefaultAgenda)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221)
        at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
        at com.iontrading.arc.liquidityrules.engine.BatchRulesEngine.processAll(BatchRulesEngine.java:64)
        at com.iontrading.arc.liquidityrules.api.rulestoresource.AbstractRuleStoreSourceService.performBaselineProcessing(AbstractRuleStoreSourceService.java:860)
        at com.rbc.erm.rulestoresource.RuleStoreSourceService.access$600(RuleStoreSourceService.java:32)
        at com.rbc.erm.rulestoresource.RuleStoreSourceService$RuleStoreProcess.call(RuleStoreSourceService.java:66)
        at com.rbc.erm.rulestoresource.RuleStoreSourceService$RuleStoreProcess.call(RuleStoreSourceService.java:38)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

      Example of other frozen threads:

      "pool-3-thread-9" prio=10 tid=0x00002ab53d16f800 nid=0x1c2a waiting for monitor entry [0x000000004a0c9000]
      java.lang.Thread.State: BLOCKED (on object monitor)
      at java.util.WeakHashMap.expungeStaleEntries(WeakHashMap.java:386)

      • waiting to lock \<0x00002aab9d4caf58\> (a java.lang.ref.ReferenceQueue)
        at java.util.WeakHashMap.getTable(WeakHashMap.java:417)
        at java.util.WeakHashMap.get(WeakHashMap.java:464)
        at org.mvel2.util.ParseTools.getBestCandidate(ParseTools.java:241)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1039)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:987)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:377)
        at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:143)
        at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
        at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
        at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
        at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
        at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
        at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
        at org.mvel2.MVEL.executeExpression(MVEL.java:930)
        at org.drools.base.mvel.MVELConsequence.evaluate(MVELConsequence.java:104)
        at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:1287)
      • locked \<0x00002aaeedca2870\> (a org.drools.common.DefaultAgenda)
        at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:1221)
        at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1456)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:710)
        at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingMemory.java:674)
        at com.iontrading.arc.liquidityrules.engine.BatchRulesEngine.processAll(BatchRulesEngine.java:64)
        at com.rbc.erm.rulestoresource.RuleStoreSourceService.performViewProcessing(RuleStoreSourceService.java:133)
        at com.rbc.erm.rulestoresource.RuleStoreSourceService$RuleStoreProcess.call(RuleStoreSourceService.java:78)
        at com.rbc.erm.rulestoresource.RuleStoreSourceService$RuleStoreProcess.call(RuleStoreSourceService.java:38)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:722)

            mfusco@redhat.com Mario Fusco
            kellyajp Andrew kelly (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: