cayenne-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrey Razumovsky (JIRA)" <j...@apache.org>
Subject [jira] Closed: (CAY-1120) Deadlock CayenneContextGraphManager when committing from two threads
Date Sun, 12 Apr 2009 10:24:14 GMT

     [ https://issues.apache.org/jira/browse/CAY-1120?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Andrey Razumovsky closed CAY-1120.
----------------------------------

    Resolution: Duplicate

Same as CAY-957

> Deadlock CayenneContextGraphManager when committing from two threads
> --------------------------------------------------------------------
>
>                 Key: CAY-1120
>                 URL: https://issues.apache.org/jira/browse/CAY-1120
>             Project: Cayenne
>          Issue Type: Bug
>          Components: Cayenne Core Library
>    Affects Versions: 3.0
>            Reporter: Ari Maniatis
>            Assignee: Andrus Adamchik
>
> How to reproduce:
> * Try to commit some changes. This thread is delayed from completing the change by a
lifecycle event which takes about 10 seconds to complete (in this case, contacting a credit
card gateway)
> * while this lifecycle event is running, have another thread try to commit changes to
a different context.
> Note that this is ROP, Cayenne 3.0 (from svn close to the M4 release)
> /10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- Deadlocked Thread:

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- ------------------

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- Thread Foxtrot
Multi Worker Thread Runner #4 (Id = 147) BLOCKED org.apache.cayenne.CayenneContextGraphManager@c57a5f

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContextMergeHandler.runWithEventsDisabled(CayenneContextMergeHandler.java:267)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContextMergeHandler.graphFlushed(CayenneContextMergeHandler.java:81)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)	
> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.lang.reflect.Method.invoke(Method.java:585)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.util.Invocation.fire(Invocation.java:204)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.EventManager$Dispatch.fire(EventManager.java:423)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.DispatchQueue.dispatchEvent(DispatchQueue.java:157)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.DispatchQueue.dispatchEvent(DispatchQueue.java:58)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.EventManager.dispatchEvent(EventManager.java:362)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.EventManager.postEvent(EventManager.java:333)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.remote.ClientChannel.onSync(ClientChannel.java:220)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContext.doCommitChanges(CayenneContext.java:228)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContext.commitChanges(CayenneContext.java:187)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.cayenne.CayenneContext.commitChanges(CayenneContext.java:100)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.controller.ViewController.commitChanges(ViewController.java:1065)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.controller.EditController.saveRecord(EditController.java:622)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.controller.enrolment.QuickEnrollController.saveRecord(QuickEnrollController.java:637)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.controller.EditController$2.run(EditController.java:587)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	foxtrot.AbstractWorkerThread$1.run(AbstractWorkerThread.java:40)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.security.AccessController.doPrivileged(Native
Method)	
> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	foxtrot.AbstractWorkerThread.runTask(AbstractWorkerThread.java:36)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	foxtrot.workers.MultiWorkerThread$1.run(MultiWorkerThread.java:51)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.lang.Thread.run(Thread.java:613)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- Deadlocked Thread:

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- ------------------

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- Thread AWT-EventQueue-0
(Id = 15) BLOCKED org.apache.cayenne.event.DispatchQueue@3688b9	
> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.DispatchQueue.dispatchEvent(DispatchQueue.java:54)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.EventManager.dispatchEvent(EventManager.java:362)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.event.EventManager.postEvent(EventManager.java:333)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContextGraphManager.send(CayenneContextGraphManager.java:316)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContextGraphManager.graphCommitted(CayenneContextGraphManager.java:147)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContext.doCommitChanges(CayenneContext.java:242)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	org.apache.cayenne.CayenneContext.commitChanges(CayenneContext.java:187)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.cayenne.CayenneContext.commitChanges(CayenneContext.java:100)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.PreferenceController.setValue(PreferenceController.java:131)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.persistence.CommonPreferenceController.setListViewDividerPosition(CommonPreferenceController.java:1133)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.controller.ListController.dispose(ListController.java:778)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	ish.oncourse.controller.ViewController.windowClosing(ViewController.java:812)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:292)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.Window.processWindowEvent(Window.java:1213)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	javax.swing.JFrame.processWindowEvent(JFrame.java:267)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.Window.processEvent(Window.java:1171)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.Component.dispatchEventImpl(Component.java:4068)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.Container.dispatchEventImpl(Container.java:2068)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.Window.dispatchEventImpl(Window.java:1801)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.Component.dispatchEvent(Component.java:3903)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.EventQueue.dispatchEvent(EventQueue.java:463)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)

> 3/10/08 10:04:43 AM	[0x0-0xc30c3].au.ish.com.oncourse.client[1667]	-- 	java.awt.EventDispatchThread.run(EventDispatchThread.java:110)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message