Again, there is probably no deadlock because if you look at the bold part of the stack trace I posted in the first post (and again below), it seems like it is throwing a NullPointerException and it is somehow killing the thread without returning back to my application (from Drools). Here are my findings:
1. It is throwing a NullPointerException (at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:369 ). 2. The thread that threw the exception (Thread-15) check the logs below, disappeared from my list on JConsole (it is not displayed in the list of threads) which tells me that it was destroyed by an error that was later sucked in by another code in the stack and the call never returned to my application. Exception in thread "Thread-15" org.drools.runtime.rule.ConsequenceException: ru le: MyRule 1.0 at org.drools.runtime.rule.impl.DefaultConsequenceExceptionHandler.handl eException(DefaultConsequenceExceptionHandler.java:23) at org.drools.common.DefaultAgenda.fireActivation(DefaultAgenda.java:981 ) at org.drools.common.DefaultAgenda.fireNextItem(DefaultAgenda.java:918) at org.drools.common.DefaultAgenda.fireAllRules(DefaultAgenda.java:1130) at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingM emory.java:739) at org.drools.common.AbstractWorkingMemory.fireAllRules(AbstractWorkingM emory.java:705) at org.drools.impl.StatefulKnowledgeSessionImpl.fireAllRules(StatefulKno wledgeSessionImpl.java:200) at com.medcpu.mpu.pp.engine.Drools.fireRules(Drools.java:459) at com.medcpu.mpu.MpuExecutor.executeRules(MpuExecutor.java:191) at com.medcpu.mpu.MpuExecutor.initiateRuleExecution(MpuExecutor.java:431 ) at com.medcpu.mpu.MpuExecutor.propertyChanged(MpuExecutor.java:147) at com.medcpu.mpu.MpuExecutor.run(MpuExecutor.java:498) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source ) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) Caused by: java.lang.NullPointerException at org.drools.reteoo.RuleTerminalNode.doRemove(RuleTerminalNode.java:369 ) at org.drools.common.BaseNode.remove(BaseNode.java:95) at org.drools.reteoo.ReteooBuilder.removeRule(ReteooBuilder.java:237) at org.drools.reteoo.ReteooRuleBase.removeRule(ReteooRuleBase.java:413) at org.drools.common.AbstractRuleBase.removeRule(AbstractRuleBase.java:7 29) at org.drools.common.AbstractRuleBase.removePackage(AbstractRuleBase.jav a:657) at org.drools.impl.KnowledgeBaseImpl.removeKnowledgePackage(KnowledgeBas eImpl.java:166) at com.medcpu.mpu.pp.engine.Drools.removeKnowledgeBase(Drools.java:482) -- View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/removeKnowledgePackage-Call-Hangs-tp815616p815979.html Sent from the Drools - User mailing list archive at Nabble.com. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users