Community
Participate
Working Groups
Build Identifier: M20090917-0800 Hi, we are using GEF, EMF and EMF Transaction to realize a visual modeling tool. Sometimes we have deadlocks whose thread dumps leads me to the suspicion that they will be caused by the order in which the transaction framework tries to assign the active transaction to a thread an the UI thread keep alive strategy. See attached file for newsgroup discussion with Christian. Here an exemplary thread dump. Note, there is no other thread with an active transaction. Thread [main] (Suspended) (WorkManager locked) WorkManager.checkIn() JavaModelManager.initializeAllContainers() Display.readAndDispatch() (need transaction -> not acquired) Viewer.refresh() Main.main(String[]) Thread [Worker-3] (Suspended) (need transaction) ourResourceListener.resourceChanged() NotificationManager.notify() (WorkManager locked) Workspace.endOperation() Worker.run() Currently I have no proposal for a solution. In my opinion it is a good and necessary idea to keep the UI thread alive. Reproducible: Always
Created attachment 164526 [details] Newsgroup discussion with Christian
See also bug 249951, if we didn't hold the workspace lock during the notification it looks like this deadlock would go away.
Eclipse EMF Transaction is moving away from this bugs.eclipse.org issue tracker to https://github.com/eclipse/emf-transaction. If this issue is relevant to you and still present in the latest release: * Create a new issue at https://github.com/eclipse/emf-transaction/issues/. * Use as title in GitHub the title of this Bugzilla ticket (may include the bug number or not, at your own convenience) * In the GitHub description, start with a link to this bugzilla ticket * Optionally add new content to the description if it can helps towards resolution * Update bugzilla ticket * Add to "See also" property (up right column) the link to the newly created GitHub issue * Add a comment "Migrated to <link-to-newly-created-GitHub-issue>" * Set status as CLOSED MOVED All issues that remain open will be automatically closed next week or so. Then the Bugzilla component for EMF Transaction will be archived and made read-only.
Replaced with https://github.com/eclipse/emf-transaction/issues/14