Uploaded image for project: 'Aptana Studio'
  1. Aptana Studio
  2. APSTUD-3361

AssertionFailedException when typing Undo

    Details

    • Type: Bug
    • Status: Closed
    • Priority: High
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: Aptana Studio 3.0.5
    • Component/s: None
    • Labels:
      None

      Description

      Unfortunately, not a reproducible test case yet:

      So, I did this:

      1. Open game.php (see APSTUD-3354)
      2. Randomly type characters (in particular, matching characters, like braces) throughout the document. Probably several hundred key strokes.
      3. Hold down the undo key to revert changes.
      4. Editor flashed into white text with an assertion failed error:

      org.eclipse.core.runtime.AssertionFailedException: assertion failed: 
      	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:110)
      	at org.eclipse.core.runtime.Assert.isTrue(Assert.java:96)
      	at org.eclipse.jface.text.Position.setLength(Position.java:185)
      	at org.eclipse.jface.text.rules.FastPartitioner.computePartitioning(FastPartitioner.java:634)
      	at org.eclipse.jface.text.AbstractDocument.computePartitioning(AbstractDocument.java:1430)
      	at org.eclipse.core.internal.filebuffers.SynchronizableDocument.computePartitioning(SynchronizableDocument.java:293)
      	at org.eclipse.jface.text.TextUtilities.computePartitioning(TextUtilities.java:429)
      	at com.aptana.editor.common.text.reconciler.CommonPresentationReconciler.createPresentation(CommonPresentationReconciler.java:85)
      	at com.aptana.editor.common.text.reconciler.CommonPresentationReconciler.createPresentation(CommonPresentationReconciler.java:76)
      	at org.eclipse.jface.text.presentation.PresentationReconciler.processDamage(PresentationReconciler.java:566)
      	at org.eclipse.jface.text.presentation.PresentationReconciler.access$3(PresentationReconciler.java:564)
      	at org.eclipse.jface.text.presentation.PresentationReconciler$InternalListener.textChanged(PresentationReconciler.java:225)
      	at org.eclipse.jface.text.TextViewer.updateTextListeners(TextViewer.java:2820)
      	at org.eclipse.jface.text.TextViewer.fireRedrawChanged(TextViewer.java:5049)
      	at org.eclipse.jface.text.TextViewer.enabledRedrawing(TextViewer.java:5089)
      	at org.eclipse.jface.text.TextViewer.enabledRedrawing(TextViewer.java:5057)
      	at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5142)c
      	at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:5116)
      	at org.eclipse.jface.text.TextViewerUndoManager$DocumentUndoListener.documentUndoNotification(TextViewerUndoManager.java:174)
      	at org.eclipse.text.undo.DocumentUndoManager.fireDocumentUndo(DocumentUndoManager.java:929)
      	at org.eclipse.text.undo.DocumentUndoManager$UndoableCompoundTextChange.undo(DocumentUndoManager.java:472)
      	at org.eclipse.core.commands.operations.DefaultOperationHistory.doUndo(DefaultOperationHistory.java:415)
      	at org.eclipse.core.commands.operations.DefaultOperationHistory.undo(DefaultOperationHistory.java:1280)
      	at org.eclipse.ui.operations.UndoActionHandler.runCommand(UndoActionHandler.java:78)
      	at org.eclipse.ui.operations.OperationHistoryActionHandler$4.run(OperationHistoryActionHandler.java:311)
      	at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
      	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
      	at org.eclipse.jface.dialogs.ProgressMonitorDialog.run(ProgressMonitorDialog.java:507)
      	at org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.access$6(TimeTriggeredProgressMonitorDialog.java:1)
      	at org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog$2.run(TimeTriggeredProgressMonitorDialog.java:203)
      	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
      	at org.eclipse.ui.internal.operations.TimeTriggeredProgressMonitorDialog.run(TimeTriggeredProgressMonitorDialog.java:216)
      	at org.eclipse.ui.operations.OperationHistoryActionHandler.run(OperationHistoryActionHandler.java:326)
      	at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
      	at org.eclipse.ui.commands.ActionHandler.execute(ActionHandler.java:185)
      	at org.eclipse.ui.internal.handlers.LegacyHandlerWrapper.execute(LegacyHandlerWrapper.java:109)
      	at org.eclipse.core.commands.Command.executeWithChecks(Command.java:476)
      	at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
      	at org.eclipse.ui.internal.handlers.HandlerService.executeCommand(HandlerService.java:169)
      	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.executeCommand(WorkbenchKeyboard.java:468)
      	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:786)
      	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:885)
      	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:567)
      	at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:508)
      	at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:123)
      	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      	at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1253)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1052)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1077)
      	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1062)
      	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1103)
      	at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1099)
      	at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1508)
      	at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4270)
      	at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:345)
      	at org.eclipse.swt.widgets.Control.windowProc(Control.java:4162)
      	at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:341)
      	at org.eclipse.swt.widgets.Display.windowProc(Display.java:4873)
      	at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
      	at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2459)
      	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3655)
      	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2640)
      	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2604)
      	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
      	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
      	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
      	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
      	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
      	at com.aptana.rcp.IDEApplication.start(IDEApplication.java:125)
      	at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      	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:369)
      	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:620)
      	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
      	at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
      

      Typing in the editor recolors it, and does not appear to impede editing.

        Attachments

          Activity

            People

            • Assignee:
              mstepanov Max Stepanov
              Reporter:
              ingo Ingo Muschenetz
            • Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Git Source Code