Uploaded image for project: 'Spring Tool Suite'
  1. Spring Tool Suite
  2. STS-4222

The save participant 'org.eclipse.jdt.ui.postsavelistener.cleanup' caused an exception: java.lang.ArrayIndexOutOfBoundsException

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 3.7.0.RELEASE
    • Fix Version/s: 3.7.3.RELEASE
    • Component/s: EDITING, UI
    • Labels:
      None
    • Environment:

      Description

      I'm experiencing constant problems with Code Formatter save action throwing ArrayIndexOutOfBoundsException. It happens practically on every save while editing. Most noticeable when working with unit test classes. I get hundreds of these in the Error log.

      java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 4
      at java.util.Arrays.rangeCheck(Arrays.java:120)
      at java.util.Arrays.fill(Arrays.java:2973)
      at org.eclipse.jdt.internal.formatter.TextEditsBuilder.appendIndentationString(TextEditsBuilder.java:269)
      at org.eclipse.jdt.internal.formatter.TextEditsBuilder.bufferIndent(TextEditsBuilder.java:238)
      at org.eclipse.jdt.internal.formatter.TextEditsBuilder.bufferWhitespaceBefore(TextEditsBuilder.java:165)
      at org.eclipse.jdt.internal.formatter.TextEditsBuilder.token(TextEditsBuilder.java:119)
      at org.eclipse.jdt.internal.formatter.TokenTraverser.traverse(TokenTraverser.java:103)
      at org.eclipse.jdt.internal.formatter.TokenManager.traverse(TokenManager.java:378)
      at org.eclipse.jdt.internal.formatter.DefaultCodeFormatter.format(DefaultCodeFormatter.java:161)
      at org.eclipse.jdt.internal.corext.util.CodeFormatterUtil.reformat(CodeFormatterUtil.java:323)
      at org.eclipse.jdt.internal.corext.fix.CodeFormatFix.createCleanUp(CodeFormatFix.java:74)
      at org.eclipse.jdt.internal.ui.fix.CodeFormatCleanUp.createFix(CodeFormatCleanUp.java:67)
      at org.eclipse.jdt.internal.corext.fix.CleanUpRefactoring.calculateChange(CleanUpRefactoring.java:809)
      at org.eclipse.jdt.internal.corext.fix.CleanUpPostSaveListener.saved(CleanUpPostSaveListener.java:396)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$5.run(CompilationUnitDocumentProvider.java:1598)
      at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.notifyPostSaveListeners(CompilationUnitDocumentProvider.java:1593)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1380)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1458)
      at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132)
      at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:70)
      at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:108)
      at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2241)
      at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:130)
      at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:75)
      at org.eclipse.ui.internal.editors.text.WorkspaceOperationRunner.run(WorkspaceOperationRunner.java:65)
      at org.eclipse.ui.editors.text.TextFileDocumentProvider.executeOperation(TextFileDocumentProvider.java:456)
      at org.eclipse.ui.editors.text.TextFileDocumentProvider.saveDocument(TextFileDocumentProvider.java:772)
      at org.eclipse.ui.texteditor.AbstractTextEditor.performSave(AbstractTextEditor.java:5076)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1244)
      at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1298)
      at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7209)
      at org.eclipse.ui.Saveable.doSave(Saveable.java:216)
      at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:357)
      at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:201)
      at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:285)
      at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:463)
      at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:371)
      at org.eclipse.ui.internal.WorkbenchWindow$14.run(WorkbenchWindow.java:2156)
      at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
      at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2152)
      at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:293)
      at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:271)
      at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:213)
      at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:148)
      at org.eclipse.ui.internal.WorkbenchPage.saveSaveable(WorkbenchPage.java:3874)
      at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3888)
      at org.eclipse.ui.internal.handlers.SaveHandler.execute(SaveHandler.java:54)
      at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:295)
      at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
      at sun.reflect.GeneratedMethodAccessor256.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:56)
      at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:252)
      at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:234)
      at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
      at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:152)
      at org.eclipse.core.commands.Command.executeWithChecks(Command.java:493)
      at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:486)
      at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:286)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:507)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:558)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:378)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:324)
      at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:86)
      at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
      at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1105)
      at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4225)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1491)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1514)
      at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1499)
      at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1528)
      at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1524)
      at org.eclipse.swt.widgets.Canvas.sendKeyEvent(Canvas.java:496)
      at org.eclipse.swt.widgets.Control.doCommandBySelector(Control.java:1060)
      at org.eclipse.swt.widgets.Display.windowProc(Display.java:5784)
      at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
      at org.eclipse.swt.internal.cocoa.NSResponder.interpretKeyEvents(NSResponder.java:68)
      at org.eclipse.swt.widgets.Composite.keyDown(Composite.java:594)
      at org.eclipse.swt.widgets.Display.windowProc(Display.java:5694)
      at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
      at org.eclipse.swt.widgets.Widget.callSuper(Widget.java:227)
      at org.eclipse.swt.widgets.Widget.windowSendEvent(Widget.java:2130)
      at org.eclipse.swt.widgets.Shell.windowSendEvent(Shell.java:2337)
      at org.eclipse.swt.widgets.Display.windowProc(Display.java:5756)
      at org.eclipse.swt.internal.cocoa.OS.objc_msgSendSuper(Native Method)
      at org.eclipse.swt.widgets.Display.applicationSendEvent(Display.java:5193)
      at org.eclipse.swt.widgets.Display.applicationProc(Display.java:5342)
      at org.eclipse.swt.internal.cocoa.OS.objc_msgSend(Native Method)
      at org.eclipse.swt.internal.cocoa.NSApplication.sendEvent(NSApplication.java:128)
      at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3695)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$4.run(PartRenderingEngine.java:1127)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
      at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1018)
      at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:156)
      at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:654)
      at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:337)
      at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:598)
      at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
      at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:139)
      at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
      at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
      at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:497)
      at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:669)
      at org.eclipse.equinox.launcher.Main.basicRun(Main.java:608)
      at org.eclipse.equinox.launcher.Main.run(Main.java:1515)

        Attachments

          Activity

            People

            Assignee:
            mlippert Martin Lippert
            Reporter:
            bzlat Bogdan Zlatanov
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved: