|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Eclipse plug-in bugs slow down developmentEclipse error log contains lot of errors.
1. Must annoying bug stop compiling Scala code and leaves project inconsistent state. =================================================================== Project clean won’t work: Errors during build. Errors running builder 'Scala Builder' on project 'Lifecalc'. An error occurred while traversing resources. String index out of range: -1 java.lang.StringIndexOutOfBoundsException: String index out of range: -1 at java.lang.String.<init>(Unknown Source) at scala.tools.nsc.util.BatchSourceFile.identifier(SourceFile.scala:74) at scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$$anonfun$loadSource$1.apply(TypersPresentations.scala:93) at scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$$anonfun$loadSource$1.apply(TypersPresentations.scala:93) at scala.tools.nsc.symtab.SymbolWalker$class.f$1(SymbolWalker.scala:49) at scala.tools.nsc.symtab.SymbolWalker$class.walk(SymbolWalker.scala:251) at scala.tools.editor.TypersPresentations$ProjectImpl$walker$.walk(TypersPresentations.scala:130) at scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$class.loadSource(TypersPresentations.scala:93) at scala.tools.eclipse.ScalaPlugin$ProjectImpl$compiler0$.loadSource(ScalaPlugin.scala:148) at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:141) at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:140) at lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:319) at scala.tools.eclipse.Driver$Project.tryLockTyper(Driver.scala:16) at scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:140) at scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:241) at scala.tools.eclipse.Driver$Project$File.unloadedBody(Driver.scala:21) at scala.tools.eclipse.ScalaUIPlugin$ProjectImpl$FileImpl$class.$init$(ScalaUIPlugin.scala:122) at scala.tools.eclipse.Driver$Project$File.<init>(Driver.scala:21) at scala.tools.eclipse.Driver$Project.File(Driver.scala:20) at scala.tools.eclipse.Driver$Project.File(Driver.scala:16) at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:210) at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:207) at scala.collection.Map$class.apply(Map.scala:80) at scala.collection.jcl.LinkedHashMap.apply(LinkedHashMap.scala:18) at lampion.eclipse.Plugin$ProjectImpl$class.fileSafe(Plugin.scala:218) at scala.tools.eclipse.Driver$Project.fileSafe(Driver.scala:16) at lampion.eclipse.Builder$$anonfun$build$3$$anon$3.visit(Builder.scala:71) at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:106) at org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:58) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) at org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:68) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:104) at org.eclipse.core.internal.resources.Resource.accept(Resource.java:88) at lampion.eclipse.Builder$$anonfun$build$3.apply(Builder.scala:67) at lampion.eclipse.Builder$$anonfun$build$3.apply(Builder.scala:67) at scala.Iterator$class.foreach(Iterator.scala:410) at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45) at scala.Iterable$class.foreach(Iterable.scala:256) at scala.runtime.BoxedArray.foreach(BoxedArray.scala:24) at lampion.eclipse.Builder.build(Builder.scala:67) at scala.tools.eclipse.Builder.build(Builder.scala:30) at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) Closing project and/or Eclipse won’t help. 2. Sometimes editor refuses opening Scala source file. ================================================ java.lang.NullPointerException at scala.tools.nsc.symtab.IdeSupport$class.notifyImport(IdeSupport.scala:630) at scala.tools.eclipse.ScalaPlugin$ProjectImpl$compiler0$.notifyImport(ScalaPlugin.scala:148) at scala.tools.nsc.typechecker.Contexts$ImportInfo.importedSymbol(Contexts.scala:603) at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:2901) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3252) at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) at scala.tools.nsc.typechecker.Typers$Typer.typedType(Typers.scala:3394) at scala.tools.nsc.typechecker.Typers$Typer.typedType(Typers.scala:3397) at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:864) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) at scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:488) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$5.apply(Namers.scala:690) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$5.apply(Namers.scala:689) at scala.List.map(List.scala:805) at scala.tools.nsc.typechecker.Namers$Namer.makeMethodType$1(Namers.scala:689) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$thisMethodType$1$1.apply(Namers.scala:702) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$thisMethodType$1$1.apply(Namers.scala:702) at scala.List.foldRight(List.scala:1074) at scala.Iterable$class.$colon$bslash(Iterable.scala:344) at scala.List.$colon$bslash(List.scala:445) at scala.tools.nsc.typechecker.Namers$Namer.thisMethodType$1(Namers.scala:702) at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:756) at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:848) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) at scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:488) at scala.tools.nsc.symtab.Symbols$Symbol.tpeHK(Symbols.scala:643) at scala.tools.nsc.symtab.Types$Type.memberType(Types.scala:412) at scala.tools.nsc.typechecker.Infer$Inferencer.checkAccessible(Infer.scala:380) at scala.tools.nsc.typechecker.Typers$Typer.typedSelect$1(Typers.scala:2804) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3242) at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:2607) at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:2607) at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:583) at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:2607) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3219) at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3371) at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:3422) at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:859) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) at scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:624) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3040) at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) at scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1$$anonfun$apply$6.apply(IdeSupport.scala:336) at scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1$$anonfun$apply$6.apply(IdeSupport.scala:336) at scala.List.map(List.scala:805) at scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1.apply(IdeSupport.scala:336) at scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1.apply(IdeSupport.scala:335) at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:84) at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:83) at lampion.compiler.Typers$TypedElementImpl$DoType$class.apply(Typers.scala:30) at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.apply(Typers.scala:83) at scala.tools.editor.Typers$ParseNodeImpl$class.activate(Typers.scala:85) at scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.activate(Driver.scala:25) at scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$class.updateTyper(IdeSupport.scala:335) at scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.updateTyper(Driver.scala:25) at scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$class.doTyper(IdeSupport.scala:307) at scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.doTyper(Driver.scala:25) at scala.tools.editor.Typers$$anonfun$flushTyper0$2.apply(Typers.scala:164) at scala.tools.editor.Typers$$anonfun$flushTyper0$2.apply(Typers.scala:163) at scala.List.foreach(List.scala:834) at scala.tools.editor.Typers$class.flushTyper0(Typers.scala:163) at scala.tools.eclipse.Driver$Project.flushTyper0(Driver.scala:16) at lampion.compiler.Typers$class.flushTyper(Typers.scala:177) at scala.tools.eclipse.Driver$Project.flushTyper(Driver.scala:16) at lampion.compiler.Typers$class.afterParsing(Typers.scala:203) at scala.tools.eclipse.Driver$Project.afterParsing(Driver.scala:16) at lampion.presentation.Presentations$ProjectImpl$class.protected$afterParsing(Presentations.scala:342) at scala.tools.eclipse.Driver$Project.protected$afterParsing(Driver.scala:16) at lampion.presentation.Presentations$ProjectImpl$Job.run(Presentations.scala:342) 3. Often editor lose Scala source code highlighting. =========================================== Changing source code little bit brings highlighting back. I’am using Eclipse 3.4 and Scala 2.7.2.RC2 Lot of work is done, so please, kill remaining bugs!!! Thank you Toivo |
|
|
Could not open the editorMay be I picked wrong stack trace for ‘Could not open the editor’ from Eclipse error log.
So from fresh error correct message and stack trace : Could not open the editor: Editor could not be initialized. java.lang.NullPointerException at scala.tools.nsc.typechecker.Contexts$ImportInfo.importedSymbol(Contexts.scala:611) at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:2901) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3252) at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:3380) at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3240) at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:3380) at scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:3382) at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:870) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) at scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) at scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$$anonfun$complete$1.apply(IdeSupport.scala:65) at scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$$anonfun$complete$1.apply(IdeSupport.scala:64) at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:84) at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:83) at lampion.compiler.Typers$TypedElementImpl$DoType$class.apply(Typers.scala:30) at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.apply(Typers.scala:83) at scala.tools.editor.Typers$ParseNodeImpl$class.activate(Typers.scala:85) at scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.activate(Driver.scala:25) at scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) at scala.tools.nsc.typechecker.IdeSupport$$anonfun$finishTyping$1.apply(IdeSupport.scala:141) at scala.tools.nsc.typechecker.IdeSupport$$anonfun$finishTyping$1.apply(IdeSupport.scala:137) at scala.List.foreach(List.scala:834) at scala.tools.nsc.typechecker.IdeSupport$class.finishTyping(IdeSupport.scala:137) at scala.tools.editor.Typers$analyzer0$.finishTyping(Typers.scala:45) at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:142) at scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:140) at lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:319) at scala.tools.eclipse.Driver$Project.tryLockTyper(Driver.scala:16) at scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:140) at scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:241) at scala.tools.eclipse.Driver$Project$File.unloadedBody(Driver.scala:21) at scala.tools.eclipse.ScalaUIPlugin$ProjectImpl$FileImpl$class.$init$(ScalaUIPlugin.scala:122) at scala.tools.eclipse.Driver$Project$File.<init>(Driver.scala:21) at scala.tools.eclipse.Driver$Project.File(Driver.scala:20) at scala.tools.eclipse.Driver$Project.File(Driver.scala:16) at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:210) at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:207) at scala.collection.Map$class.apply(Map.scala:80) at scala.collection.jcl.LinkedHashMap.apply(LinkedHashMap.scala:18) at lampion.eclipse.Plugin$ProjectImpl$class.fileSafe(Plugin.scala:218) at scala.tools.eclipse.Driver$Project.fileSafe(Driver.scala:16) at scala.tools.eclipse.javaelements.ScalaCompilationUnit.buildStructure(ScalaCompilationUnit.scala:46) at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:257) at scala.tools.eclipse.javaelements.ScalaCompilationUnit.generateInfos(ScalaCompilationUnit.scala:42) at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514) at org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:38) at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709) at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:770) at org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:100) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.createFileInfo(CompilationUnitDocumentProvider.java:982) at org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:476) at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.connect(CompilationUnitDocumentProvider.java:1197) at org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:3990) at org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:190) at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1325) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.internalDoSetInput(JavaEditor.java:2512) at org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.doSetInput(JavaEditor.java:2485) at scala.tools.eclipse.Editor.doSetInput(Editor.scala:39) at org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3025) at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:446) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:354) at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755) at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2483) at org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3043) at org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3070) at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:799) at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643) at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428) at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594) at org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:266) at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:403) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2766) at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729) at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721) at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673) at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652) at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646) at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605) at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99) at org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99) at org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:125) at org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:329) at org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:716) at org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:443) at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820) 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.StructuredViewer.fireOpen(StructuredViewer.java:818) at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079) at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183) at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263) at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257) at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) 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:382) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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) After closing/reopening Eclipse, editor opens without problems. |
|
|
Re: [scala-tools] Eclipse plug-in bugs slow down developmentI think that only happens on empty files right?
On Sat, Oct 11, 2008 at 9:08 PM, toivo <tom.tad@...> wrote: > > Eclipse error log contains lot of errors. > > > 1. Must annoying bug stop compiling Scala code and leaves project > inconsistent state. > =================================================================== > > Project clean won't work: > Errors during build. > Errors running builder 'Scala Builder' on project 'Lifecalc'. > An error occurred while traversing resources. > String index out of range: -1 > > java.lang.StringIndexOutOfBoundsException: String index out of range: -1 > at java.lang.String.<init>(Unknown Source) > at scala.tools.nsc.util.BatchSourceFile.identifier(SourceFile.scala:74) > at > scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$$anonfun$loadSource$1.apply(TypersPresentations.scala:93) > at > scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$$anonfun$loadSource$1.apply(TypersPresentations.scala:93) > at scala.tools.nsc.symtab.SymbolWalker$class.f$1(SymbolWalker.scala:49) > at scala.tools.nsc.symtab.SymbolWalker$class.walk(SymbolWalker.scala:251) > at > scala.tools.editor.TypersPresentations$ProjectImpl$walker$.walk(TypersPresentations.scala:130) > at > scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$class.loadSource(TypersPresentations.scala:93) > at > scala.tools.eclipse.ScalaPlugin$ProjectImpl$compiler0$.loadSource(ScalaPlugin.scala:148) > at > scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:141) > at > scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:140) > at > lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:319) > at scala.tools.eclipse.Driver$Project.tryLockTyper(Driver.scala:16) > at > scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:140) > at > scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:241) > at scala.tools.eclipse.Driver$Project$File.unloadedBody(Driver.scala:21) > at > scala.tools.eclipse.ScalaUIPlugin$ProjectImpl$FileImpl$class.$init$(ScalaUIPlugin.scala:122) > at scala.tools.eclipse.Driver$Project$File.<init>(Driver.scala:21) > at scala.tools.eclipse.Driver$Project.File(Driver.scala:20) > at scala.tools.eclipse.Driver$Project.File(Driver.scala:16) > at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:210) > at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:207) > at scala.collection.Map$class.apply(Map.scala:80) > at scala.collection.jcl.LinkedHashMap.apply(LinkedHashMap.scala:18) > at lampion.eclipse.Plugin$ProjectImpl$class.fileSafe(Plugin.scala:218) > at scala.tools.eclipse.Driver$Project.fileSafe(Driver.scala:16) > at lampion.eclipse.Builder$$anonfun$build$3$$anon$3.visit(Builder.scala:71) > at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:106) > at > org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:58) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) > at > org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:68) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:104) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:88) > at lampion.eclipse.Builder$$anonfun$build$3.apply(Builder.scala:67) > at lampion.eclipse.Builder$$anonfun$build$3.apply(Builder.scala:67) > at scala.Iterator$class.foreach(Iterator.scala:410) > at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45) > at scala.Iterable$class.foreach(Iterable.scala:256) > at scala.runtime.BoxedArray.foreach(BoxedArray.scala:24) > at lampion.eclipse.Builder.build(Builder.scala:67) > at scala.tools.eclipse.Builder.build(Builder.scala:30) > at > org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) > at > org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) > at > org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) > at > org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) > at > org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) > at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) > > > Closing project and/or Eclipse won't help. > > > > 2. Sometimes editor refuses opening Scala source file. > ================================================ > > java.lang.NullPointerException > at > scala.tools.nsc.symtab.IdeSupport$class.notifyImport(IdeSupport.scala:630) > at > scala.tools.eclipse.ScalaPlugin$ProjectImpl$compiler0$.notifyImport(ScalaPlugin.scala:148) > at > scala.tools.nsc.typechecker.Contexts$ImportInfo.importedSymbol(Contexts.scala:603) > at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:2901) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3252) > at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at scala.tools.nsc.typechecker.Typers$Typer.typedType(Typers.scala:3394) > at scala.tools.nsc.typechecker.Typers$Typer.typedType(Typers.scala:3397) > at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:864) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) > at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) > at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) > at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:488) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$5.apply(Namers.scala:690) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$5.apply(Namers.scala:689) > at scala.List.map(List.scala:805) > at > scala.tools.nsc.typechecker.Namers$Namer.makeMethodType$1(Namers.scala:689) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$thisMethodType$1$1.apply(Namers.scala:702) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$thisMethodType$1$1.apply(Namers.scala:702) > at scala.List.foldRight(List.scala:1074) > at scala.Iterable$class.$colon$bslash(Iterable.scala:344) > at scala.List.$colon$bslash(List.scala:445) > at > scala.tools.nsc.typechecker.Namers$Namer.thisMethodType$1(Namers.scala:702) > at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:756) > at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:848) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) > at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) > at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) > at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:488) > at scala.tools.nsc.symtab.Symbols$Symbol.tpeHK(Symbols.scala:643) > at scala.tools.nsc.symtab.Types$Type.memberType(Types.scala:412) > at > scala.tools.nsc.typechecker.Infer$Inferencer.checkAccessible(Infer.scala:380) > at scala.tools.nsc.typechecker.Typers$Typer.typedSelect$1(Typers.scala:2804) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3242) > at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at > scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:2607) > at > scala.tools.nsc.typechecker.Typers$Typer$$anonfun$typedApply$1$1.apply(Typers.scala:2607) > at scala.tools.nsc.typechecker.Typers$Typer.silent(Typers.scala:583) > at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:2607) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3219) > at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3371) > at scala.tools.nsc.typechecker.Typers$Typer.computeType(Typers.scala:3422) > at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:859) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) > at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) > at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) > at scala.tools.nsc.symtab.Symbols$Symbol.initialize(Symbols.scala:624) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3040) > at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at > scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1$$anonfun$apply$6.apply(IdeSupport.scala:336) > at > scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1$$anonfun$apply$6.apply(IdeSupport.scala:336) > at scala.List.map(List.scala:805) > at > scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1.apply(IdeSupport.scala:336) > at > scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$$anonfun$updateTyper$1.apply(IdeSupport.scala:335) > at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:84) > at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:83) > at > lampion.compiler.Typers$TypedElementImpl$DoType$class.apply(Typers.scala:30) > at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.apply(Typers.scala:83) > at scala.tools.editor.Typers$ParseNodeImpl$class.activate(Typers.scala:85) > at > scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.activate(Driver.scala:25) > at > scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$class.updateTyper(IdeSupport.scala:335) > at > scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.updateTyper(Driver.scala:25) > at > scala.tools.nsc.typechecker.IdeSupport$MemoizedTree$class.doTyper(IdeSupport.scala:307) > at > scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.doTyper(Driver.scala:25) > at scala.tools.editor.Typers$$anonfun$flushTyper0$2.apply(Typers.scala:164) > at scala.tools.editor.Typers$$anonfun$flushTyper0$2.apply(Typers.scala:163) > at scala.List.foreach(List.scala:834) > at scala.tools.editor.Typers$class.flushTyper0(Typers.scala:163) > at scala.tools.eclipse.Driver$Project.flushTyper0(Driver.scala:16) > at lampion.compiler.Typers$class.flushTyper(Typers.scala:177) > at scala.tools.eclipse.Driver$Project.flushTyper(Driver.scala:16) > at lampion.compiler.Typers$class.afterParsing(Typers.scala:203) > at scala.tools.eclipse.Driver$Project.afterParsing(Driver.scala:16) > at > lampion.presentation.Presentations$ProjectImpl$class.protected$afterParsing(Presentations.scala:342) > at > scala.tools.eclipse.Driver$Project.protected$afterParsing(Driver.scala:16) > at > lampion.presentation.Presentations$ProjectImpl$Job.run(Presentations.scala:342) > > > 3. Often editor lose Scala source code highlighting. > =========================================== > Changing source code little bit brings highlighting back. > > > > I'am using Eclipse 3.4 and Scala 2.7.2.RC2 > > Lot of work is done, so please, kill remaining bugs!!! > > Thank you > Toivo > > -- > View this message in context: http://www.nabble.com/Eclipse-plug-in-bugs-slow-down-development-tp19932476p19932476.html > Sent from the Scala - Tools mailing list archive at Nabble.com. > > |
|
|
Re: [scala-tools] Could not open the editorPeople don't realize how important context is. A stack trace is kind
of useless. If I can harden the the plugin to not crash on these things...but that might be covering up a worse problem. On Sat, Oct 11, 2008 at 9:27 PM, toivo <tom.tad@...> wrote: > > May be I picked wrong stack trace for 'Could not open the editor' from > Eclipse error log. > So from fresh error correct message and stack trace : > > Could not open the editor: Editor could not be initialized. > > java.lang.NullPointerException > at > scala.tools.nsc.typechecker.Contexts$ImportInfo.importedSymbol(Contexts.scala:611) > at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:2901) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3252) > at > scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at > scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:3380) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3240) > at > scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at > scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:3380) > at > scala.tools.nsc.typechecker.Typers$Typer.typedQualifier(Typers.scala:3382) > at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:870) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) > at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$$anonfun$complete$1.apply(IdeSupport.scala:65) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$$anonfun$complete$1.apply(IdeSupport.scala:64) > at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:84) > at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.doType0(Typers.scala:83) > at > lampion.compiler.Typers$TypedElementImpl$DoType$class.apply(Typers.scala:30) > at scala.tools.editor.Typers$ParseNodeImpl$$anon$2.apply(Typers.scala:83) > at scala.tools.editor.Typers$ParseNodeImpl$class.activate(Typers.scala:85) > at > scala.tools.editor.Driver$ProjectImpl$FileImpl$ParseNode.activate(Driver.scala:25) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) > at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) > at > scala.tools.nsc.typechecker.IdeSupport$$anonfun$finishTyping$1.apply(IdeSupport.scala:141) > at > scala.tools.nsc.typechecker.IdeSupport$$anonfun$finishTyping$1.apply(IdeSupport.scala:137) > at scala.List.foreach(List.scala:834) > at > scala.tools.nsc.typechecker.IdeSupport$class.finishTyping(IdeSupport.scala:137) > at scala.tools.editor.Typers$analyzer0$.finishTyping(Typers.scala:45) > at > scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:142) > at > scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:140) > at > lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:319) > at scala.tools.eclipse.Driver$Project.tryLockTyper(Driver.scala:16) > at > scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:140) > at > scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:241) > at scala.tools.eclipse.Driver$Project$File.unloadedBody(Driver.scala:21) > at > scala.tools.eclipse.ScalaUIPlugin$ProjectImpl$FileImpl$class.$init$(ScalaUIPlugin.scala:122) > at scala.tools.eclipse.Driver$Project$File.<init>(Driver.scala:21) > at scala.tools.eclipse.Driver$Project.File(Driver.scala:20) > at scala.tools.eclipse.Driver$Project.File(Driver.scala:16) > at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:210) > at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:207) > at scala.collection.Map$class.apply(Map.scala:80) > at scala.collection.jcl.LinkedHashMap.apply(LinkedHashMap.scala:18) > at lampion.eclipse.Plugin$ProjectImpl$class.fileSafe(Plugin.scala:218) > at scala.tools.eclipse.Driver$Project.fileSafe(Driver.scala:16) > at > scala.tools.eclipse.javaelements.ScalaCompilationUnit.buildStructure(ScalaCompilationUnit.scala:46) > at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:257) > at > scala.tools.eclipse.javaelements.ScalaCompilationUnit.generateInfos(ScalaCompilationUnit.scala:42) > at > org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:514) > at > org.eclipse.jdt.internal.core.BecomeWorkingCopyOperation.executeOperation(BecomeWorkingCopyOperation.java:38) > at > org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:709) > at > org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:770) > at > org.eclipse.jdt.internal.core.CompilationUnit.becomeWorkingCopy(CompilationUnit.java:100) > at > org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.createFileInfo(CompilationUnitDocumentProvider.java:982) > at > org.eclipse.ui.editors.text.TextFileDocumentProvider.connect(TextFileDocumentProvider.java:476) > at > org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.connect(CompilationUnitDocumentProvider.java:1197) > at > org.eclipse.ui.texteditor.AbstractTextEditor.doSetInput(AbstractTextEditor.java:3990) > at > org.eclipse.ui.texteditor.StatusTextEditor.doSetInput(StatusTextEditor.java:190) > at > org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.doSetInput(AbstractDecoratedTextEditor.java:1325) > at > org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.internalDoSetInput(JavaEditor.java:2512) > at > org.eclipse.jdt.internal.ui.javaeditor.JavaEditor.doSetInput(JavaEditor.java:2485) > at scala.tools.eclipse.Editor.doSetInput(Editor.scala:39) > at > org.eclipse.ui.texteditor.AbstractTextEditor$19.run(AbstractTextEditor.java:3025) > at > org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:446) > at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:354) > at > org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758) > at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) > at > org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755) > at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2483) > at > org.eclipse.ui.texteditor.AbstractTextEditor.internalInit(AbstractTextEditor.java:3043) > at > org.eclipse.ui.texteditor.AbstractTextEditor.init(AbstractTextEditor.java:3070) > at org.eclipse.ui.internal.EditorManager.createSite(EditorManager.java:799) > at > org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:643) > at > org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:428) > at > org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:594) > at > org.eclipse.ui.internal.EditorReference.getEditor(EditorReference.java:266) > at org.eclipse.ui.internal.EditorManager.findEditor(EditorManager.java:403) > at > org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(WorkbenchPage.java:2766) > at > org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:2729) > at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPage.java:2721) > at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.java:2673) > at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70) > at > org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2668) > at > org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2652) > at > org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:2643) > at org.eclipse.ui.ide.IDE.openEditor(IDE.java:646) > at org.eclipse.ui.ide.IDE.openEditor(IDE.java:605) > at org.eclipse.ui.actions.OpenFileAction.openFile(OpenFileAction.java:99) > at > org.eclipse.ui.actions.OpenSystemEditorAction.run(OpenSystemEditorAction.java:99) > at > org.eclipse.ui.views.navigator.OpenActionGroup.runDefaultAction(OpenActionGroup.java:125) > at > org.eclipse.ui.views.navigator.MainActionGroup.runDefaultAction(MainActionGroup.java:329) > at > org.eclipse.ui.views.navigator.ResourceNavigator.handleOpen(ResourceNavigator.java:716) > at > org.eclipse.ui.views.navigator.ResourceNavigator$6.open(ResourceNavigator.java:443) > at > org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:820) > 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.StructuredViewer.fireOpen(StructuredViewer.java:818) > at > org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1079) > at > org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(StructuredViewer.java:1183) > at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:263) > at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:257) > at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:297) > at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84) > at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003) > at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3823) > at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3422) > 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:382) > at > org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > at java.lang.reflect.Method.invoke(Unknown Source) > 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) > > > After closing/reopening Eclipse, > editor opens without problems. > > > -- > View this message in context: http://www.nabble.com/Eclipse-plug-in-bugs-slow-down-development-tp19932476p19932588.html > Sent from the Scala - Tools mailing list archive at Nabble.com. > > |
|
|
Re: [scala-tools] Eclipse plug-in bugs slow down developmentNot empty files.
Normal Scala source code files, created weeks ago, without compiler errors. I don't now what happens under cover. For me problems usually start after editing Scala source code file and saving it. If compiler complains, I try to correct errors but corrections are ignored and compiler still complains. Often complier complains it could not find some imports. If I try to to Project clean, plugin throws : Project clean won't work: Errors during build. Errors running builder 'Scala Builder' on project 'Lifecalc'. An error occurred while traversing resources. String index out of range: -1 If I try to open some source file, plugin may throw error : Could not open the editor: Editor could not be initialized. java.lang.NullPointerException After closing/reopening Eclipse project clean still doesn't work. Throws same : ... String index out of range: -1 But now I can open source files. After opening source file Highlighting doesn't work. If I add/remove empty line at the end of source file and saving it, compilation occurs and Highlighting appears again. After opening some files one by one, adding/removing empty lines and saving - plugin works again normally some hours. And suddenly all repeats over again. It occurs on different Scala source files, at different times. For me it seems for some reason Scala plugin and/or compiler lose all information about project files. It doesn't know what source files are compiled and refuses do make Project clean. And some source files remain without compiled binary. For me it's very strange what after reopening Eclipse it still refuses do make Project clean. May be I am doing something wrong but I don't understand how in can screw up plugin so badly. |
|
|
Re: [scala-tools] Eclipse plug-in bugs slow down developmentAre you using an external editor? It sounds like it could be a refresh
issue (Eclipse won't detect file changes unless they are changed within Eclipse). I really can't tell you what the problem is until I know what you are doing. Maybe you could do a screen cast if you can't me more specific in writing about your repro? On Sun, Oct 12, 2008 at 11:36 PM, toivo <tom.tad@...> wrote: > > Not empty files. > Normal Scala source code files, created weeks ago, without compiler errors. > > I don't now what happens under cover. > > For me problems usually start after editing Scala source code file > and saving it. > If compiler complains, I try to correct errors > but corrections are ignored and compiler still complains. > > Often complier complains it could not find some imports. > If I try to to Project clean, plugin throws : > > Project clean won't work: > Errors during build. > Errors running builder 'Scala Builder' on project 'Lifecalc'. > An error occurred while traversing resources. > String index out of range: -1 > > If I try to open some source file, plugin may throw error : > > Could not open the editor: Editor could not be initialized. > java.lang.NullPointerException > > After closing/reopening Eclipse > project clean still doesn't work. > Throws same : ... String index out of range: -1 > > But now I can open source files. > After opening source file Highlighting doesn't work. > If I add/remove empty line at the end of source file > and saving it, compilation occurs and Highlighting appears again. > > After opening some files one by one, adding/removing empty lines and saving > - plugin works again normally some hours. > > And suddenly all repeats over again. > It occurs on different Scala source files, at different times. > > For me it seems for some reason Scala plugin and/or compiler > lose all information about project files. > It doesn't know what source files are compiled and refuses do make Project > clean. > And some source files remain without compiled binary. > > For me it's very strange what after reopening Eclipse it still > refuses do make Project clean. > > > May be I am doing something wrong but I don't understand how in can > screw up plugin so badly. > > > -- > View this message in context: http://www.nabble.com/Eclipse-plug-in-bugs-slow-down-development-tp19932476p19942716.html > Sent from the Scala - Tools mailing list archive at Nabble.com. > > |
|
|
Re: [scala-tools] Eclipse plug-in bugs slow down developmentNo, I am using internal editor.
May be this is related with http://www.nabble.com/-scala--Illegal-Java-generics-and-ticket--1263-tt19928134.html [scala] Illegal Java generics and ticket #1263 Thanks for your hard work toivo |
|
|
[scala-tools] Re: Eclipse plug-in bugs slow down developmenttoivo <tom.tad@...> writes:
> May be this is related with > http://www.nabble.com/-scala--Illegal-Java-generics-and-ticket--1263-tt19928134.html > [scala] Illegal Java generics and ticket #1263 I don't think so. That problem causes a NPE in the Eclipse Compiler for Java. Your NPE happens somewhere in the Scala plugin. Ismael |
|
|
Re: [scala-tools] Eclipse plug-in bugs slow down developmentI added checks to the plugin to hopefully avoid these problems (blind
of course, you gave me stack traces with no test cases). Will be in the next build (won't make RC3 though). On Sat, Oct 11, 2008 at 9:08 PM, toivo <tom.tad@...> wrote: > > Eclipse error log contains lot of errors. > > > 1. Must annoying bug stop compiling Scala code and leaves project > inconsistent state. > =================================================================== > > Project clean won't work: > Errors during build. > Errors running builder 'Scala Builder' on project 'Lifecalc'. > An error occurred while traversing resources. > String index out of range: -1 > > java.lang.StringIndexOutOfBoundsException: String index out of range: -1 > at java.lang.String.<init>(Unknown Source) > at scala.tools.nsc.util.BatchSourceFile.identifier(SourceFile.scala:74) > at > scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$$anonfun$loadSource$1.apply(TypersPresentations.scala:93) > at > scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$$anonfun$loadSource$1.apply(TypersPresentations.scala:93) > at scala.tools.nsc.symtab.SymbolWalker$class.f$1(SymbolWalker.scala:49) > at scala.tools.nsc.symtab.SymbolWalker$class.walk(SymbolWalker.scala:251) > at > scala.tools.editor.TypersPresentations$ProjectImpl$walker$.walk(TypersPresentations.scala:130) > at > scala.tools.editor.TypersPresentations$ProjectImpl$Compiler$class.loadSource(TypersPresentations.scala:93) > at > scala.tools.eclipse.ScalaPlugin$ProjectImpl$compiler0$.loadSource(ScalaPlugin.scala:148) > at > scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:141) > at > scala.tools.editor.TypersPresentations$ProjectImpl$$anonfun$scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource$1.apply(TypersPresentations.scala:140) > at > lampion.presentation.Presentations$ProjectImpl$class.tryLockTyper(Presentations.scala:319) > at scala.tools.eclipse.Driver$Project.tryLockTyper(Driver.scala:16) > at > scala.tools.editor.TypersPresentations$ProjectImpl$class.scala$tools$editor$TypersPresentations$ProjectImpl$$loadSource(TypersPresentations.scala:140) > at > scala.tools.editor.TypersPresentations$ProjectImpl$FileImpl$class.unloadedBody(TypersPresentations.scala:241) > at scala.tools.eclipse.Driver$Project$File.unloadedBody(Driver.scala:21) > at > scala.tools.eclipse.ScalaUIPlugin$ProjectImpl$FileImpl$class.$init$(ScalaUIPlugin.scala:122) > at scala.tools.eclipse.Driver$Project$File.<init>(Driver.scala:21) > at scala.tools.eclipse.Driver$Project.File(Driver.scala:20) > at scala.tools.eclipse.Driver$Project.File(Driver.scala:16) > at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:210) > at lampion.eclipse.Plugin$ProjectImpl$$anon$2.default(Plugin.scala:207) > at scala.collection.Map$class.apply(Map.scala:80) > at scala.collection.jcl.LinkedHashMap.apply(LinkedHashMap.scala:18) > at lampion.eclipse.Plugin$ProjectImpl$class.fileSafe(Plugin.scala:218) > at scala.tools.eclipse.Driver$Project.fileSafe(Driver.scala:16) > at lampion.eclipse.Builder$$anonfun$build$3$$anon$3.visit(Builder.scala:71) > at org.eclipse.core.internal.resources.Resource$2.visit(Resource.java:106) > at > org.eclipse.core.internal.resources.Resource$1.visitElement(Resource.java:58) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:81) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) > at > org.eclipse.core.internal.watson.ElementTreeIterator.doIteration(ElementTreeIterator.java:85) > at > org.eclipse.core.internal.watson.ElementTreeIterator.iterate(ElementTreeIterator.java:126) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:68) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:104) > at org.eclipse.core.internal.resources.Resource.accept(Resource.java:88) > at lampion.eclipse.Builder$$anonfun$build$3.apply(Builder.scala:67) > at lampion.eclipse.Builder$$anonfun$build$3.apply(Builder.scala:67) > at scala.Iterator$class.foreach(Iterator.scala:410) > at scala.runtime.BoxedArray$AnyIterator.foreach(BoxedArray.scala:45) > at scala.Iterable$class.foreach(Iterable.scala:256) > at scala.runtime.BoxedArray.foreach(BoxedArray.scala:24) > at lampion.eclipse.Builder.build(Builder.scala:67) > at scala.tools.eclipse.Builder.build(Builder.scala:30) > at > org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:633) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:170) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:201) > at > org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:253) > at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37) > at > org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:256) > at > org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:309) > at > org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:341) > at > org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:140) > at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:238) > at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) > > > Closing project and/or Eclipse won't help. > > > > 2. Sometimes editor refuses opening Scala source file. > ================================================ > > java.lang.NullPointerException > at > scala.tools.nsc.symtab.IdeSupport$class.notifyImport(IdeSupport.scala:630) > at > scala.tools.eclipse.ScalaPlugin$ProjectImpl$compiler0$.notifyImport(ScalaPlugin.scala:148) > at > scala.tools.nsc.typechecker.Contexts$ImportInfo.importedSymbol(Contexts.scala:603) > at scala.tools.nsc.typechecker.Typers$Typer.typedIdent$1(Typers.scala:2901) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typers.scala:3252) > at scala.tools.nsc.typechecker.IdeSupport$Typer.typed1(IdeSupport.scala:128) > at scala.tools.nsc.typechecker.Typers$Typer.typed(Typers.scala:3323) > at scala.tools.nsc.typechecker.Typers$Typer.typedType(Typers.scala:3394) > at scala.tools.nsc.typechecker.Typers$Typer.typedType(Typers.scala:3397) > at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:864) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) > at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) > at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) > at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:488) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$5.apply(Namers.scala:690) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$5.apply(Namers.scala:689) > at scala.List.map(List.scala:805) > at > scala.tools.nsc.typechecker.Namers$Namer.makeMethodType$1(Namers.scala:689) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$thisMethodType$1$1.apply(Namers.scala:702) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$thisMethodType$1$1.apply(Namers.scala:702) > at scala.List.foldRight(List.scala:1074) > at scala.Iterable$class.$colon$bslash(Iterable.scala:344) > at scala.List.$colon$bslash(List.scala:445) > at > scala.tools.nsc.typechecker.Namers$Namer.thisMethodType$1(Namers.scala:702) > at scala.tools.nsc.typechecker.Namers$Namer.methodSig(Namers.scala:756) > at scala.tools.nsc.typechecker.Namers$Namer.typeSig(Namers.scala:848) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:415) > at > scala.tools.nsc.typechecker.Namers$Namer$$anonfun$typeCompleter$1.apply(Namers.scala:413) > at scala.tools.nsc.typechecker.Namers$$anon$1.complete(Namers.scala:982) > at > scala.tools.nsc.typechecker.IdeSupport$Namer$tpe0$2$.complete(IdeSupport.scala:64) > at scala.tools.nsc.symtab.Symbols$Symbol.info(Symbols.scala:510) > at scala.tools.nsc.symtab.Symbols$Symbol.tpe(Symbols.scala:488) > at scala.tools.nsc.symtab.Symbols$Symbol.tpeHK(Symbols.scala:643) > at scala.tools.nsc.symtab.Types$Type.memberType(Types.scala:412) > at > scala.tools.nsc.typechecker.Infer$Inferencer.checkAccessible(Infer.scala:380) > at scala.tools.nsc.typechecker.Typers$Typer.typedSelect$1(Typers.scala:2804) > at scala.tools.nsc.typechecker.Typers$Typer.typed1(Typ |