Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] IllegalMonitorStateException at commit when removing an element
[CDO] IllegalMonitorStateException at commit when removing an element [message #1428746] Mon, 22 September 2014 09:19 Go to next message
Laurent Le Moux is currently offline Laurent Le MouxFriend
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
Re: [CDO] IllegalMonitorStateException at commit when removing an element [message #1428889 is a reply to message #1428746] Mon, 22 September 2014 14:06 Go to previous message
Laurent Le Moux is currently offline Laurent Le MouxFriend
Messages: 184
Registered: September 2011
Senior Member
Hi again,

Commit is actually ok. The exception is risen afterwards, when I try to unlock objects.
Objects removed from the repository are invalid and - as such - one should not try to unlock them anymore.

Regards,

Laurent

Previous Topic:[EMF/CDO] - Exact meaning of 'Resolve Proxies'
Next Topic:adding to the EMF registry
Goto Forum:
  


Current Time: Thu Oct 24 04:19:01 GMT 2019

Powered by FUDForum. Page generated in 0.02316 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top