Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 341861 - [editor] CME in node model during outline refresh
Summary: [editor] CME in node model during outline refresh
Status: CLOSED FIXED
Alias: None
Product: TMF
Classification: Modeling
Component: Xtext (show other bugs)
Version: 2.0.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: M7   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-04-05 01:09 EDT by Knut Wannheden CLA
Modified: 2017-09-19 18:15 EDT (History)
1 user (show)

See Also:
sebastian.zarnekow: indigo+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Knut Wannheden CLA 2011-04-05 01:09:45 EDT
While editing an Xtend2 file I received the following error. It seems to be a race condition so I suppose it can be tricky to reproduce.

!ENTRY org.eclipse.xtext.ui 4 0 2011-04-04 16:08:15.923
!MESSAGE Error refreshing outline
!STACK 0
java.util.ConcurrentModificationException
	at org.eclipse.emf.common.util.ArrayDelegatingEList$EIterator.checkModCount(ArrayDelegatingEList.java:885)
	at org.eclipse.emf.common.util.AbstractEList$EIterator.doNext(AbstractEList.java:710)
	at org.eclipse.emf.common.util.AbstractEList$EIterator.next(AbstractEList.java:696)
	at org.eclipse.xtext.nodemodel.util.NodeModelUtils.getNode(NodeModelUtils.java:96)
	at org.eclipse.xtext.nodemodel.util.NodeModelUtils.findActualNodeFor(NodeModelUtils.java:164)
	at org.eclipse.xtext.resource.DefaultLocationInFileProvider.getTextRegion(DefaultLocationInFileProvider.java:46)
	at org.eclipse.xtext.resource.DefaultLocationInFileProvider.getLocationOfContainmentReference(DefaultLocationInFileProvider.java:101)
	at org.eclipse.xtext.resource.DefaultLocationInFileProvider$1.caseEReference(DefaultLocationInFileProvider.java:79)
	at org.eclipse.xtext.resource.DefaultLocationInFileProvider$1.caseEReference(DefaultLocationInFileProvider.java:1)
	at org.eclipse.emf.ecore.util.EcoreSwitch.doSwitch(EcoreSwitch.java:234)
	at org.eclipse.emf.ecore.util.EcoreSwitch.doSwitch(EcoreSwitch.java:88)
	at org.eclipse.emf.ecore.util.EcoreSwitch.doSwitch(EcoreSwitch.java:74)
	at org.eclipse.xtext.resource.DefaultLocationInFileProvider.getTextRegion(DefaultLocationInFileProvider.java:85)
	at org.eclipse.xtext.resource.DefaultLocationInFileProvider.getFullTextRegion(DefaultLocationInFileProvider.java:65)
	at org.eclipse.xtext.xbase.jvmmodel.JvmLocationInFileProvider.getFullTextRegion(JvmLocationInFileProvider.java:32)
	at org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider.createEStructuralFeatureNode(DefaultOutlineTreeProvider.java:137)
	at org.eclipse.xtext.xtend2.ui.outline.Xtend2OutlineTreeProvider._createChildren(Xtend2OutlineTreeProvider.java:52)
	at sun.reflect.GeneratedMethodAccessor33.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.eclipse.xtext.util.PolymorphicDispatcher.invoke(PolymorphicDispatcher.java:291)
	at org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider.createChildren(DefaultOutlineTreeProvider.java:77)
	at org.eclipse.xtext.ui.editor.outline.impl.AbstractOutlineNode$1.process(AbstractOutlineNode.java:80)
	at org.eclipse.xtext.ui.editor.outline.impl.AbstractOutlineNode$1.process(AbstractOutlineNode.java:1)
	at org.eclipse.xtext.util.concurrent.IUnitOfWork$Void.exec(IUnitOfWork.java:36)
	at org.eclipse.xtext.ui.editor.outline.impl.DocumentRootNode$1.exec(DocumentRootNode.java:47)
	at org.eclipse.xtext.ui.editor.outline.impl.DocumentRootNode$1.exec(DocumentRootNode.java:1)
	at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.readOnly(AbstractReadWriteAcces.java:32)
	at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:86)
	at org.eclipse.xtext.ui.editor.outline.impl.DocumentRootNode.readOnly(DocumentRootNode.java:44)
	at org.eclipse.xtext.ui.editor.outline.impl.AbstractOutlineNode.getChildren(AbstractOutlineNode.java:77)
	at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob.restoreChildrenSelectionAndExpansion(OutlineRefreshJob.java:68)
	at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob$1.exec(OutlineRefreshJob.java:60)
	at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob$1.exec(OutlineRefreshJob.java:1)
	at org.eclipse.xtext.util.concurrent.AbstractReadWriteAcces.readOnly(AbstractReadWriteAcces.java:32)
	at org.eclipse.xtext.ui.editor.model.XtextDocument.readOnly(XtextDocument.java:86)
	at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob.refreshOutlineModel(OutlineRefreshJob.java:57)
	at org.eclipse.xtext.ui.editor.outline.impl.OutlineRefreshJob.run(OutlineRefreshJob.java:46)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Comment 1 Sebastian Zarnekow CLA 2011-04-05 03:01:38 EDT
I've seen this, too, some time ago. The good news: I may have a local fix for the issue since from that time on, it did not happen again. I guess it's time to push the fix.
Comment 2 Sebastian Zarnekow CLA 2011-04-05 05:20:51 EDT
Pushed to master. Please reopen if the problem persists.
Comment 3 Karsten Thoms CLA 2017-09-19 18:05:37 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 4 Karsten Thoms CLA 2017-09-19 18:15:29 EDT
Closing all bugs that were set to RESOLVED before Neon.0