[jboss-jira] [JBoss JIRA] Resolved: (JBRULES-2135) Deadlock occurs in Multithreaded Environment NamedEntryPoint lock and AbstractWorkingMemory actionQueue sync block.

Edson Tirelli (JIRA) jira-events at lists.jboss.org
Wed Jun 30 15:48:46 EDT 2010


     [ https://jira.jboss.org/browse/JBRULES-2135?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Edson Tirelli resolved JBRULES-2135.
------------------------------------

    Resolution: Done


Thanks for reporting and suggesting fixes. This was fixed as part of the ticket JBRULES-2375.

> Deadlock occurs in Multithreaded Environment NamedEntryPoint lock and AbstractWorkingMemory actionQueue sync block.
> -------------------------------------------------------------------------------------------------------------------
>
>                 Key: JBRULES-2135
>                 URL: https://jira.jboss.org/browse/JBRULES-2135
>             Project: Drools
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: drools-core (fusion)
>    Affects Versions: 5.0.1.FINAL
>         Environment: java version "1.6.0_0"
> OpenJDK Runtime Environment (IcedTea6 1.4.1) (6b14-1.4.1-0ubuntu7)
> OpenJDK Client VM (build 14.0-b08, mixed mode, sharing)
>            Reporter: Jonathon Leibundguth
>            Assignee: Edson Tirelli
>            Priority: Critical
>             Fix For: 5.1.0.CR1
>
>
> While running drools using fireUntilHalt in multithreaded environment, the following situation results in deadlock:
> Thread A (Drools' Thread):  AbstractWorkingMemory method executeQueuedActions() locks actionQueue:
> synchronized ( this.actionQueue )
> Calls action.execute( this ) for each item in queue, in this case WorkingMemoryReteExpireAction to expire an event object.  The  WorkingMemoryReteExpireAction tries to obtain the lock in NamedEntryPoint during call to retract().
> Thread B (User's Thread):  attempts to execute a NamedEntryPoint insert() action simultaneously with the above.  The thread obtains the NamedEntryPoint lock and blocks waiting for the lock on actionQueue.
> Deadlock:
> Thread A is blocked waiting for NamedEntryPoint lock, owned by Thread B.
> Thread B is blocked waiting for lock on actionQueue, owned by Thread A.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        


More information about the jboss-jira mailing list