Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deadlock inside TransactionImpl #26

Open
pcdavid opened this issue Sep 4, 2022 · 1 comment
Open

Deadlock inside TransactionImpl #26

pcdavid opened this issue Sep 4, 2022 · 1 comment
Labels
bugzilla Issues migrated from the old Eclipse Bugzilla

Comments

@pcdavid
Copy link
Contributor

pcdavid commented Sep 4, 2022

  • πŸ†” Bugzilla ID: #447136
  • πŸ“˜ Project: Modeling / EMF Services / Transaction
  • πŸ—“ Created: 2014-10-14T15:38:10Z
  • ❓ Status: NEW /
@pcdavid pcdavid added the bugzilla Issues migrated from the old Eclipse Bugzilla label Sep 4, 2022
@pcdavid
Copy link
Contributor Author

pcdavid commented Sep 4, 2022

Comment #0 on Tue Oct 14 2014 17:38:10 GMT+0200 (Central European Summer Time):

Hi,

as recommended by Christian W. Damus on EMF Forum in this Thread https://www.eclipse.org/forums/index.php?t=rview&goto=1444769, I report the issue here.

Context:
- deadlock occurs few times on my CI in several months, not able to reproduce it.
- find attached the Thread Stacks

Comment #1 on Tue Oct 14 2014 17:39:07 GMT+0200 (Central European Summer Time):



Comment #2 on Tue Oct 14 2014 17:40:10 GMT+0200 (Central European Summer Time):

Analysis from Christian W. Damus:
It looks like the deadlock is between

* the main thread, which owns the domain's monitor and is seeking a 
transaction's monitor, and
* Worker-0, which owns that transaction's monitor and is seeking the 
domain's monitor

This deadlock is entirely within the Transaction API. The change 
recorder's assertWriting() method synchronizes on the domain and then 
on the active transaction, whereas a transaction int its start() method 
synchronizes on itself and then on its domain. One of these monitor 
sequences is out of order, and I suspect it's the one in the 
TransactionChangeRecorder::assertWriting() method. It should not be 
synchronizing on the domain.

Comment #3 on Sat May 14 2022 15:51:53 GMT+0200 (Central European Summer Time):

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bugzilla Issues migrated from the old Eclipse Bugzilla
Projects
None yet
Development

No branches or pull requests

1 participant