Eclipse freezes completely when editing a file
Migrated from http://lampsvn.epfl.ch/trac/scala/ticket/546
Reporter dragos
I don't know what causes this, it might be another conflict. It worked fine at home, it crashes badly at work.
I manage to type '/*' to enter a comment, then the next thing is I get several of these stack traces in the Error log. Afterwards, any keystroke has no visible effect in the editor, but generates a second stack trace in the error log.
Reporter dragos
I don't know what causes this, it might be another conflict. It worked fine at home, it crashes badly at work.
I manage to type '/*' to enter a comment, then the next thing is I get several of these stack traces in the Error log. Afterwards, any keystroke has no visible effect in the editor, but generates a second stack trace in the error log.
java.lang.Error
at lampion.core.Nodes$class.assert(Nodes.scala:19)
at scala.tools.eclipse.Driver$Project.assert(Driver.scala:10)
at scala.tools.editor.Tokenizers$FileImpl$$anonfun$makeScanner$1.apply(Tokenizers.scala:126)
at scala.tools.editor.Tokenizers$FileImpl$$anonfun$makeScanner$1.apply(Tokenizers.scala:121)
at scala.Iterator$$anon$13.next(Iterator.scala:243)
at scala.tools.editor.Tokenizers$FileImpl$class.tokenFor(Tokenizers.scala:134)
at scala.tools.eclipse.Driver$Project$File.scala$tools$editor$Matchers$FileImpl$$super$tokenFor(Driver.scala:13)
at scala.tools.editor.Matchers$FileImpl$class.tokenFor(Matchers.scala:84)
at scala.tools.eclipse.Driver$Project$File.tokenFor(Driver.scala:13)
at scala.tools.eclipse.Driver$Project$File.tokenFor(Driver.scala:13)
at scala.tools.editor.Tokenizers$FileImpl$class.tokenForFuzzy(Tokenizers.scala:156)
at scala.tools.eclipse.Driver$Project$File.tokenForFuzzy(Driver.scala:13)
at scala.tools.eclipse.Driver$Project$File.tokenForFuzzy(Driver.scala:13)
at lampion.presentation.AutoEdits$ProjectImpl$FileImpl$class.beforeEdit(AutoEdits.scala:173)
at scala.tools.eclipse.Driver$Project$File.lampion$presentation$Matchers$ProjectImpl$FileImpl$$super$beforeEdit(Driver.scala:13)
at lampion.presentation.Matchers$ProjectImpl$FileImpl$class.beforeEdit(Matchers.scala:35)
at scala.tools.eclipse.Driver$Project$File.scala$tools$editor$Presentations$ProjectImpl$FileImpl$$super$beforeEdit(Driver.scala:13)
at scala.tools.editor.Presentations$ProjectImpl$FileImpl$class.beforeEdit(Presentations.scala:322)
at scala.tools.eclipse.Driver$Project$File.beforeEdit(Driver.scala:13)
at lampion.eclipse.Editor.customizeDocumentCommand(Editor.scala:39)
at org.eclipse.jface.text.TextViewer.customizeDocumentCommand(TextViewer.java:3543)
at org.eclipse.jface.text.TextViewer.handleVerifyEvent(TextViewer.java:3572)
at org.eclipse.jface.text.source.projection.ProjectionViewer.handleVerifyEvent(ProjectionViewer.java:1251)
at lampion.eclipse.SourceViewer.handleVerifyEvent(SourceViewer.scala:26)
at org.eclipse.jface.text.TextViewer$TextVerifyListener.verifyText(TextViewer.java:404)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1110)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:951)
at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5725)
at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6500)
at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2155)
at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:5029)
at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5054)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:4800)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1110)
at org.eclipse.swt.widgets.Widget.sendIMKeyEvent(Widget.java:1187)
at org.eclipse.swt.widgets.Control.gtk_commit(Control.java:2383)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1476)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973)
at org.eclipse.swt.internal.gtk.OS._gtk_im_context_filter_keypress(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_im_context_filter_keypress(OS.java:5134)
at org.eclipse.swt.widgets.Control.filterKey(Control.java:1853)
at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2526)
at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:679)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1486)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5593)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1192)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1487)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2969)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
org.eclipse.core.runtime.AssertionFailedException: assertion failed:
at org.eclipse.core.runtime.Assert.isTrue(Assert.java:109)
at org.eclipse.core.runtime.Assert.isTrue(Assert.java:95)
at org.eclipse.ui.internal.texteditor.quickdiff.DocumentLineDiffer.handleAboutToBeChanged(DocumentLineDiffer.java:775)
at org.eclipse.ui.internal.texteditor.quickdiff.DocumentLineDiffer.documentAboutToBeChanged(DocumentLineDiffer.java:744)
at org.eclipse.jface.text.AbstractDocument.fireDocumentAboutToBeChanged(AbstractDocument.java:606)
at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1072)
at org.eclipse.jface.text.AbstractDocument.replace(AbstractDocument.java:1091)
at org.eclipse.jface.text.DefaultDocumentAdapter.replaceTextRange(DefaultDocumentAdapter.java:248)
at org.eclipse.swt.custom.StyledText.modifyContent(StyledText.java:5757)
at org.eclipse.swt.custom.StyledText.sendKeyEvent(StyledText.java:6500)
at org.eclipse.swt.custom.StyledText.doContent(StyledText.java:2155)
at org.eclipse.swt.custom.StyledText.handleKey(StyledText.java:5029)
at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5054)
at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:4800)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1101)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1125)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1110)
at org.eclipse.swt.widgets.Widget.sendIMKeyEvent(Widget.java:1187)
at org.eclipse.swt.widgets.Control.gtk_commit(Control.java:2383)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1476)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973)
at org.eclipse.swt.internal.gtk.OS._gtk_im_context_filter_keypress(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_im_context_filter_keypress(OS.java:5134)
at org.eclipse.swt.widgets.Control.filterKey(Control.java:1853)
at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:2526)
at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:679)
at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:1486)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4234)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:3973)
at org.eclipse.swt.internal.gtk.OS._gtk_main_do_event(Native Method)
at org.eclipse.swt.internal.gtk.OS.gtk_main_do_event(OS.java:5593)
at org.eclipse.swt.widgets.Display.eventProc(Display.java:1192)
at org.eclipse.swt.internal.gtk.OS._g_main_context_iteration(Native Method)
at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(OS.java:1487)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2969)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2389)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2353)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2219)
at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:466)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:289)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:461)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:106)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:153)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:106)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:76)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:363)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:176)
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:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:504)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:443)
at org.eclipse.equinox.launcher.Main.run(Main.java:1169)
Leave a comment
on 2008-02-25 12:38 *
By tracImporter
Trac author: dragos
It looks like the culprit is this line, in lampion.core (Tokenizers.scala):
I commented out that line and it seems to work fine afterwards. I didn't commit this change, of course.
It looks like the culprit is this line, in lampion.core (Tokenizers.scala):
if (code == COMMENT) assert(!text0.endsWith("\n"))
I don't know enough about the code, but why do you forbid comments that end in a new line? That's almost always the case when entering a new multi-line comment, and before closing it.I commented out that line and it seems to work fine afterwards. I didn't commit this change, of course.
on 2008-02-28 01:14 *
By tracImporter
Trac author: mcdirmid
You didn't provide a code sample! That would be really helpful in debugging this. WHere did you put the comment? The assert is there because of the way comments are parsed. I'll at least change it to a logError, but I'd like to see what you are doing to see where my assumptions are wrong.
You didn't provide a code sample! That would be really helpful in debugging this. WHere did you put the comment? The assert is there because of the way comments are parsed. I'll at least change it to a logError, but I'd like to see what you are doing to see where my assumptions are wrong.
on 2008-02-28 09:21 *
By tracImporter
Trac author: dragos
It happens for any possible file. Just add a scaladoc comment above a method! (at least on my setup, but then I don't know what could be causing this).
It happens for any possible file. Just add a scaladoc comment above a method! (at least on my setup, but then I don't know what could be causing this).
Trac author: mcdirmid
I removed the assert, everything seems to work fine. Not sure what this code was doing in the first place!
I removed the assert, everything seems to work fine. Not sure what this code was doing in the first place!
on 2009-01-14 12:54 *
By tracImporter
Closed As: fixed