[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Newsgroup Home]
|
[news.eclipse.modeling.gmf] Re: StackOverflow Problem
|
- From: Joel Greenyer <jgreen@xxxxxx>
- Date: Thu, 18 Dec 2008 23:19:29 +0100
- Newsgroups: eclipse.modeling.gmf
- Organization: EclipseCorner
- User-agent: Thunderbird 2.0.0.18 (Windows/20081105)
Hi Christian,
I've seen the thread you talk about and my feeling tells me you are right, as the loop I get involves the basic ecore stuff.
But what can I do to prevent that from happening, or at least identify where the problem lies?
Thanks for helping
Joel
Christian W. Damus wrote:
Hi, Joel,
The warning that you are seeing comes from the
TransactionalEditingDomain used by your GMF-based editor. It indicates
that something in your diagram is causing a resource to be re-loaded
while it is in the process of unloading. I suspect that this is
happening repeatedly (in an unbounded loop) in your case.
The first report of this was in the GMF newsgroup quite some time ago
(early in the 2.1 release development, I think). You can search there
for a thread about a diagram editor that, when closing, would unload its
resource but then some leaking edit-part listeners or something would
fire and cause proxies (just created by the unload) to resolve and load
the same resource again before it finished unloading.
HTH,
Christian
Joel Greenyer wrote:
Hi,
I'm experiencing a StackOverflowError when I close my diagram editor.
This happens with some models, but not with all, however, I don't see
the pattern yet.
java.lang.StackOverflowError
at
org.eclipse.emf.ecore.resource.impl.URIMappingRegistryImpl.getURI(URIMappingRegistryImpl.java:105)
at
org.eclipse.emf.ecore.resource.impl.URIMappingRegistryImpl$URIMapImpl.getURI(URIMappingRegistryImpl.java:168)
at
org.eclipse.emf.ecore.resource.impl.ExtensibleURIConverterImpl.normalize(ExtensibleURIConverterImpl.java:351)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getResource(ResourceSetImpl.java:361)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:216)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:202)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:262)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1470)
at
org.eclipse.emf.ecore.util.EcoreEList.resolveProxy(EcoreEList.java:212)
at org.eclipse.emf.ecore.util.EcoreEList.resolve(EcoreEList.java:167)
at
org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList$Resolving.resolve(EObjectContainmentWithInverseEList.java:111)
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:537)
at
org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.hasNext(EContentsEList.java:441)
at
org.eclipse.emf.ecore.util.EContentsEList$FeatureIteratorImpl.next(EContentsEList.java:561)
at
org.eclipse.emf.ecore.impl.EModelElementImpl.eObjectForURIFragmentSegment(EModelElementImpl.java:449)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject(ResourceImpl.java:775)
at
org.eclipse.emf.ecore.resource.impl.ResourceImpl.getEObject(ResourceImpl.java:751)
at
org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.getEObject(ResourceSetImpl.java:219)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:202)
at org.eclipse.emf.ecore.util.EcoreUtil.resolve(EcoreUtil.java:262)
at
org.eclipse.emf.ecore.impl.BasicEObjectImpl.eResolveProxy(BasicEObjectImpl.java:1470)
at
org.eclipse.emf.ecore.util.EcoreEList.resolveProxy(EcoreEList.java:212)
at org.eclipse.emf.ecore.util.EcoreEList.resolve(EcoreEList.java:167)
at
org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList$Resolving.resolve(EObjectContainmentWithInverseEList.java:111)
at org.eclipse.emf.common.util.BasicEList.get(BasicEList.java:537)
...
When I don't get the StackOverflow, I see warnings as follows, could
this be related?
"Resource was re-loaded while it was being unloaded, probably because
of unintentional proxy resolution: platform:/resource/..."
The diagram editor is an editor for "meta-rules", thus a lot of other
packages are referenced from within the model, also ecore. Could that
be part of the problem?
Any ideas?
Joel