Community
Participate
Working Groups
The post-commit phase of deactivation can throw run-time exceptions. Although these are generally caused by programming errors and are unrecoverable, it is a fact of life that they will occur and be logged by the Eclipse platform. When they do occur in post-commit, the TransactionalEditingDomainImpl.deactivate() method does not release the transaction's lock because this is not protected by a finally clause. This will cause the lock to "dangle", owned forever by the last thread that had a transaction, and no other thread will ever be able to start a transaction for the duration of the Eclipse session.
Created attachment 45627 [details] Patch to add the try/finally structure Attached a patch that resolves the problem by putting a try block around the call to postCommit() and a finally around the lock release.
Fix is committed to the R1_0_maintenance branch.
Forgot to resolve the bug on that last comment ...
Move to verified as per bug 206558.