[CDO] IllegalMonitorStateException at commit when removing an element [message #1428746] |
Mon, 22 September 2014 09:19 |
Laurent Le Moux Messages: 184 Registered: September 2011 |
Senior Member |
|
|
Hi all,
I store Graphiti diagrams in CDO. The CDO transaction is a shared one between all open Graphiti editors in my tool.
Therefore, when I commit changes for one editor, I consequently specify the transaction committables corresponding to the "editor scope".
It works just fine for several Graphiti features like adding an element to the diagram, moving or resizing it.
However, if I remove an element, I get the following IllegalMonitorStateException on the CDO server side when I try to save / commit my dirty editor :
Root exception:
org.eclipse.net4j.signal.RemoteException: java.lang.IllegalMonitorStateException
at org.eclipse.net4j.signal.RequestWithConfirmation.getRemoteException(RequestWithConfirmation.java:141)
at org.eclipse.net4j.signal.RequestWithConfirmation.setRemoteException(RequestWithConfirmation.java:130)
at org.eclipse.net4j.signal.SignalProtocol.handleRemoteException(SignalProtocol.java:465)
at org.eclipse.net4j.signal.RemoteExceptionIndication.indicating(RemoteExceptionIndication.java:62)
at org.eclipse.net4j.signal.Indication.doExtendedInput(Indication.java:57)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:331)
at org.eclipse.net4j.signal.Indication.execute(Indication.java:51)
at org.eclipse.net4j.signal.Signal.runSync(Signal.java:256)
at org.eclipse.net4j.signal.Signal.run(Signal.java:149)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalMonitorStateException
at org.eclipse.net4j.util.concurrent.RWOLockManager.unlock2(RWOLockManager.java:187)
at org.eclipse.emf.cdo.internal.server.LockingManager.unlock2(LockingManager.java:300)
at org.eclipse.emf.cdo.internal.server.Repository.doUnlock(Repository.java:1751)
at org.eclipse.emf.cdo.internal.server.Repository.unlock(Repository.java:1738)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.UnlockObjectsIndication.indicating(UnlockObjectsIndication.java:71)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerIndication.indicating(CDOServerIndication.java:86)
at org.eclipse.net4j.signal.IndicationWithResponse.doExtendedInput(IndicationWithResponse.java:92)
at org.eclipse.net4j.signal.Signal.doInput(Signal.java:331)
at org.eclipse.net4j.signal.IndicationWithResponse.execute(IndicationWithResponse.java:65)
at org.eclipse.emf.cdo.server.internal.net4j.protocol.CDOServerWriteIndication.execute(CDOServerWriteIndication.java:39)
... 5 more
Strange enough, the commit however succeeded (if I restart my tool, open the diagram, it looks as if the removal has been applied...).
And I'm apparently missing nothing in the committables.
I tried to add any detached object that could be missing but it makes no difference.
Any idea what could be causing the exception ?
Regards,
Laurent
|
|
|
|
Powered by
FUDForum. Page generated in 0.02612 seconds