ConcurrentModificationException in scala.tools.editor.Typers.flushTyper
Migrated from http://lampsvn.epfl.ch/trac/scala/ticket/1763
Reporter imaier
Opening a Scala file in the compiler or the plugin project frequently leads to the following exception for me (in latest nightly). Worked fine before this whole "pointless abstraction" removal.
Reporter imaier
Opening a Scala file in the compiler or the plugin project frequently leads to the following exception for me (in latest nightly). Worked fine before this whole "pointless abstraction" removal.
java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365)
at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376)
at scala.collection.jcl.MutableIterator$Wrapper.next(MutableIterator.scala:16)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.collection.jcl.MutableIterator$Wrapper.foreach(MutableIterator.scala:14)
at scala.Iterable$class.foreach(Iterable.scala:256)
at scala.collection.jcl.LinkedHashSet.foreach(LinkedHashSet.scala:18)
at scala.tools.editor.Typers$class.flushTyper(Typers.scala:296)
at scala.tools.eclipse.ScalaPlugin$Project.flushTyper(ScalaPlugin.scala:427)
at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:149)
at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:145)
at lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:309)
at scala.tools.eclipse.ScalaPlugin$Project.tryLockTyper(ScalaPlugin.scala:427)
at scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:145)
at scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:251)
at scala.tools.eclipse.ScalaPlugin$Project$File.unloadedBody(ScalaPlugin.scala:856)
at scala.tools.eclipse.ScalaPlugin$Project$File.outlineTrees(ScalaPlugin.scala:1225)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$1.apply(ScalaCompilationUnit.scala:48)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$1.apply(ScalaCompilationUnit.scala:48)
at scala.Option.map(Option.scala:70)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit.buildStructure(ScalaCompilationUnit.scala:48)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:257)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit.generateInfos(ScalaCompilationUnit.scala:40)
at org.eclipse.jdt.internal.core.SourceRefElement.generateInfos(SourceRefElement.java:107)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:251)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:237)
at org.eclipse.jdt.internal.core.SearchableEnvironment.find(SearchableEnvironment.java:106)
at org.eclipse.jdt.internal.core.SearchableEnvironment.findType(SearchableEnvironment.java:275)
at org.eclipse.jdt.internal.core.CancelableNameEnvironment.findType(CancelableNameEnvironment.java:45)
at org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:122)
at org.eclipse.jdt.internal.compiler.lookup.PackageBinding.getTypeOrPackage(PackageBinding.java:181)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findImport(CompilationUnitScope.java:456)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.findSingleImport(CompilationUnitScope.java:510)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInImports(CompilationUnitScope.java:359)
at org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.faultInTypes(CompilationUnitScope.java:435)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:858)
at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:518)
at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:880)
at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:656)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider$1.run(ASTProvider.java:540)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.createAST(ASTProvider.java:533)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:474)
at org.eclipse.jdt.internal.ui.javaeditor.ASTProvider.getAST(ASTProvider.java:462)
at org.eclipse.jdt.ui.SharedASTProvider.getAST(SharedASTProvider.java:129)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:168)
at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$3.run(SelectionListenerWithASTManager.java:153)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
Leave a comment
on 2009-03-05 16:12 *
By tracImporter
Trac author: imaier
Nice!
Nice!
Trac author: imaier
It happens less often for me now, but it still happens. Here is the stack trace with new line numbers:
It happens less often for me now, but it still happens. Here is the stack trace with new line numbers:
java.util.ConcurrentModificationException
at java.util.LinkedHashMap$LinkedHashIterator.nextEntry(LinkedHashMap.java:365)
at java.util.LinkedHashMap$KeyIterator.next(LinkedHashMap.java:376)
at scala.collection.jcl.MutableIterator$Wrapper.next(MutableIterator.scala:16)
at scala.Iterator$class.foreach(Iterator.scala:414)
at scala.collection.jcl.MutableIterator$Wrapper.foreach(MutableIterator.scala:14)
at scala.Iterable$class.foreach(Iterable.scala:256)
at scala.collection.jcl.LinkedHashSet.foreach(LinkedHashSet.scala:18)
at scala.tools.editor.Typers$class.flushTyper(Typers.scala:296)
at scala.tools.eclipse.ScalaPlugin$Project.flushTyper(ScalaPlugin.scala:260)
at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:147)
at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:143)
at lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:218)
at scala.tools.eclipse.ScalaPlugin$Project.tryLockTyper(ScalaPlugin.scala:260)
at scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:143)
at scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:248)
at scala.tools.eclipse.ScalaPlugin$Project$File.unloadedBody(ScalaPlugin.scala:690)
at scala.tools.eclipse.ScalaPlugin$Project$File.outlineTrees(ScalaPlugin.scala:1034)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$1.apply(ScalaCompilationUnit.scala:45)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit$$anonfun$1.apply(ScalaCompilationUnit.scala:45)
at scala.Option.map(Option.scala:70)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit.buildStructure(ScalaCompilationUnit.scala:45)
at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:257)
at scala.tools.eclipse.javaelements.ScalaCompilationUnit.generateInfos(ScalaCompilationUnit.scala:37)
at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:251)
at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:237)
at org.eclipse.jdt.internal.core.JavaElement.getChildren(JavaElement.java:192)
at org.eclipse.jdt.internal.core.JavaElement.getChildrenOfType(JavaElement.java:206)
at org.eclipse.jdt.internal.core.CompilationUnit.getTypes(CompilationUnit.java:906)
at org.eclipse.jdt.internal.corext.refactoring.util.JavaElementUtil.getMainType(JavaElementUtil.java:90)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringAvailabilityTester.getSingleSelectedType(RefactoringAvailabilityTester.java:150)
at org.eclipse.jdt.ui.actions.ExtractClassAction.selectionChanged(ExtractClassAction.java:81)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchSelectionChanged(SelectionDispatchAction.java:262)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.selectionChanged(SelectionDispatchAction.java:257)
at org.eclipse.jface.viewers.Viewer$2.run(Viewer.java:162)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
at org.eclipse.core.runtime.Platform.run(Platform.java:880)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:48)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175)
at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:160)
at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2062)
at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1138)
at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1168)
at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:227)
at org.eclipse.jface.util.OpenStrategy.access$3(OpenStrategy.java:221)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:388)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1561)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1585)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1570)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1360)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3482)
at org.eclipse.swt.widgets.Control.sendTrackEvents(Control.java:3024)
at org.eclipse.swt.widgets.Control.kEventControlTrack(Control.java:2104)
at org.eclipse.swt.widgets.Widget.controlProc(Widget.java:375)
at org.eclipse.swt.widgets.Display.controlProc(Display.java:862)
at org.eclipse.swt.internal.carbon.OS.CallNextEventHandler(Native Method)
at org.eclipse.swt.widgets.Tree.kEventMouseDown(Tree.java:2599)
at org.eclipse.swt.widgets.Widget.mouseProc(Widget.java:1326)
at org.eclipse.swt.widgets.Display.mouseProc(Display.java:2929)
at org.eclipse.swt.internal.carbon.OS.SendEventToEventTarget(Native Method)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3051)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2382)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2346)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2198)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:493)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:288)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:488)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:193)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:386)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:549)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:504)
at org.eclipse.equinox.launcher.Main.run(Main.java:1236)
on 2009-04-15 09:01 *
By tracImporter
Closed As: fixed