[jboss-jira] [JBoss JIRA] Commented: (JBRULES-2125) Drools core multithreading issue
Barry Kaplan (JIRA)
jira-events at lists.jboss.org
Sat Aug 29 14:22:23 EDT 2009
[ https://jira.jboss.org/jira/browse/JBRULES-2125?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12483575#action_12483575 ]
Barry Kaplan commented on JBRULES-2125:
---------------------------------------
I appear to be seeing the same problem. I'm running session.fireUntilHalt() in a thread and inserting events in the main thread and hit a deadlock:
Thread [Thread-1] (Suspended)
Unsafe.park(boolean, long) line: not available [native method]
LockSupport.park(Object) line: not available
ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).parkAndCheckInterrupt() line: not available
ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquireQueued(AbstractQueuedSynchronizer$Node, int) line: not available
ReentrantLock$NonfairSync(AbstractQueuedSynchronizer).acquire(int) line: not available
ReentrantLock$NonfairSync.lock() line: not available
ReentrantLock.lock() line: not available
NamedEntryPoint.retract(FactHandle, boolean, boolean, Rule, Activation) line: 258
NamedEntryPoint.retract(FactHandle) line: 245
ReteooWorkingMemory$WorkingMemoryReteExpireAction.execute(InternalWorkingMemory) line: 350
ReteooStatefulSession(AbstractWorkingMemory).executeQueuedActions() line: 1486
DefaultAgenda.fireUntilHalt(AgendaFilter) line: 1067
ReteooStatefulSession(AbstractWorkingMemory).fireUntilHalt(AgendaFilter) line: 701
ReteooStatefulSession(AbstractWorkingMemory).fireUntilHalt() line: 678
StatefulKnowledgeSessionImpl.fireUntilHalt() line: 195
DroolsFixture$1.run() line: 59
Thread.run() line: not available
Thread [main] (Suspended)
ReteooStatefulSession(AbstractWorkingMemory).queueWorkingMemoryAction(WorkingMemoryAction) line: 1509
PropagationQueuingNode.assertObject(InternalFactHandle, PropagationContext, InternalWorkingMemory) line: 182
SingleObjectSinkAdapter.propagateAssertObject(InternalFactHandle, PropagationContext, InternalWorkingMemory) line: 42
ObjectTypeNode.assertObject(InternalFactHandle, PropagationContext, InternalWorkingMemory) line: 185
EntryPointNode.assertObject(InternalFactHandle, PropagationContext, ObjectTypeConf, InternalWorkingMemory) line: 146
NamedEntryPoint.insert(InternalFactHandle, Object, Rule, Activation) line: 152
NamedEntryPoint.insert(Object, boolean, boolean, Rule, Activation) line: 122
NamedEntryPoint.insert(Object) line: 80
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce.invoke(Object, Object[]) line: 229
PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce(PojoMetaMethodSite).call(Object, Object[]) line: 52
PojoMetaMethodSite$PojoCachedMethodSiteNoUnwrapNoCoerce(AbstractCallSite).call(Object, Object) line: 124
EsperEventPatternsTest$_How_do_I_measure_the_rate_of_arrival_of_events_in_a_given_time_period_closure1.doCall(Object) line: 21
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
CachedMethod.invoke(Object, Object[]) line: 86
CachedMethod(MetaMethod).doMethodInvoke(Object, Object[]) line: 234
ClosureMetaClass.invokeMethod(Class, Object, String, Object[], boolean, boolean) line: 272
ClosureMetaClass(MetaClassImpl).invokeMethod(Object, String, Object[]) line: 845
EsperEventPatternsTest$_How_do_I_measure_the_rate_of_arrival_of_events_in_a_given_time_period_closure1(Closure).call(Object[]) line: 280
EsperEventPatternsTest$_How_do_I_measure_the_rate_of_arrival_of_events_in_a_given_time_period_closure1(Closure).call(Object) line: 293
DefaultGroovyMethods.each(Iterator, Closure) line: 1106
DefaultGroovyMethods.each(Object, Closure) line: 1083
dgm$85.invoke(Object, Object[]) line: not available
PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce.invoke(Object, Object[]) line: 270
PojoMetaMethodSite$PojoMetaMethodSiteNoUnwrapNoCoerce(PojoMetaMethodSite).call(Object, Object[]) line: 52
CallSiteArray.defaultCall(CallSite, Object, Object[]) line: 43
AbstractCallSite.call(Object, Object[]) line: 116
AbstractCallSite.call(Object, Object) line: 124
EsperEventPatternsTest.How_do_I_measure_the_rate_of_arrival_of_events_in_a_given_time_period() line: 17
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available
Method.invoke(Object, Object...) line: not available
FrameworkMethod$1.runReflectiveCall() line: 44
FrameworkMethod$1(ReflectiveCallable).run() line: 15
FrameworkMethod.invokeExplosively(Object, Object...) line: 41
InvokeMethod.evaluate() line: 20
TestWatchman$1.evaluate() line: 48
BlockJUnit4ClassRunner.runChild(FrameworkMethod, RunNotifier) line: 76
BlockJUnit4ClassRunner.runChild(Object, RunNotifier) line: 50
ParentRunner$3.run() line: 193
ParentRunner$1.schedule(Runnable) line: 52
BlockJUnit4ClassRunner(ParentRunner<T>).runChildren(RunNotifier) line: 191
ParentRunner<T>.access$000(ParentRunner, RunNotifier) line: 42
ParentRunner$2.evaluate() line: 184
BlockJUnit4ClassRunner(ParentRunner<T>).run(RunNotifier) line: 236
JUnit4TestMethodReference(JUnit4TestReference).run(TestExecution) line: 46
TestExecution.run(ITestReference[]) line: 38
RemoteTestRunner.runTests(String[], String, TestExecution) line: 467
RemoteTestRunner.runTests(TestExecution) line: 683
RemoteTestRunner.run() line: 390
RemoteTestRunner.main(String[]) line: 197
> Drools core multithreading issue
> --------------------------------
>
> Key: JBRULES-2125
> URL: https://jira.jboss.org/jira/browse/JBRULES-2125
> Project: Drools
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Components: drools-core
> Affects Versions: 5.0.1.FINAL
> Environment: Java HotSpot v 1.6.0_06, WinXP SP3
> Reporter: Andrey Nechaev
> Assignee: Edson Tirelli
> Attachments: Main.java
>
>
> Attachement below is the code showing the problems.
> The program hangs and nothing is displayed in the Console.
> If I put lines 10-11 before the line 6, I get a NullPointerException:
> Exception in thread "main" java.lang.NullPointerException
> at org.drools.reteoo.ObjectSource.addObjectSink(ObjectSource.java:124)
> ...
> But, if I comment out the lines 2&3, everything works ok.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list