Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 281199

Summary: [misc] IllegalStateException on save: Cannot open an operation while one is already open
Product: [Eclipse Project] JDT Reporter: Benno Baumgartner <benno.baumgartner>
Component: TextAssignee: JDT-Text-Inbox <jdt-text-inbox>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, markus.kell.r
Version: 3.5   
Target Milestone: ---   
Hardware: PC   
OS: Windows XP   
Whiteboard:

Description Benno Baumgartner CLA 2009-06-23 05:34:16 EDT
I20090426-2000

I can not reproduce this, but here is what I did:

Given:
	public void getColumnCount() {
		return fColumns.size();
	}
1. Invoke quick fix to change return type of method to int
2. Quickly invoke save (with format edited lines enabled)

I also saw a progress dialog showing a build job.


!ENTRY org.eclipse.jdt.ui 4 10006 2009-06-23 11:29:28.558
!MESSAGE The save participant 'org.eclipse.jdt.ui.postsavelistener.cleanup' caused an exception: java.lang.IllegalStateException: Cannot open an opera
tion while one is already open
!STACK 0
java.lang.IllegalStateException: Cannot open an operation while one is already open
        at org.eclipse.core.commands.operations.DefaultOperationHistory.openOperation(DefaultOperationHistory.java:1322)
        at org.eclipse.ltk.internal.core.refactoring.UndoManager2.aboutToPerformChange(UndoManager2.java:139)
        at org.eclipse.jdt.internal.corext.fix.CleanUpPostSaveListener.saved(CleanUpPostSaveListener.java:325)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$5.run(CompilationUnitDocumentProvider.java:1540)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.notifyPostSaveListeners(CompilationUnitDocumentProvider.java:1535)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider.commitWorkingCopy(CompilationUnitDocumentProvider.java:1332)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitDocumentProvider$4.execute(CompilationUnitDocumentProvider.java:1401)
        at org.eclipse.ui.editors.text.TextFileDocumentProvider$DocumentProviderOperation.run(TextFileDocumentProvider.java:132)
        at org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation.execute(WorkspaceModifyDelegatingOperation.java:69)
        at org.eclipse.ui.actions.WorkspaceModifyOperation$1.run(WorkspaceModifyOperation.java:106)
        at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
        at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:118)
        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:4911)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.performSave(CompilationUnitEditor.java:1230)
        at org.eclipse.jdt.internal.ui.javaeditor.CompilationUnitEditor.doSave(CompilationUnitEditor.java:1283)
        at org.eclipse.ui.texteditor.AbstractTextEditor$TextEditorSavable.doSave(AbstractTextEditor.java:7019)
        at org.eclipse.ui.Saveable.doSave(Saveable.java:214)
        at org.eclipse.ui.internal.SaveableHelper.doSaveModel(SaveableHelper.java:346)
        at org.eclipse.ui.internal.SaveableHelper$3.run(SaveableHelper.java:193)
        at org.eclipse.ui.internal.SaveableHelper$5.run(SaveableHelper.java:274)
        at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:464)
        at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:372)
        at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:759)
        at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
        at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:756)
        at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2577)
        at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:282)
        at org.eclipse.ui.internal.SaveableHelper.runProgressMonitorOperation(SaveableHelper.java:261)
        at org.eclipse.ui.internal.SaveableHelper.saveModels(SaveableHelper.java:204)
        at org.eclipse.ui.internal.SaveableHelper.savePart(SaveableHelper.java:144)
        at org.eclipse.ui.internal.EditorManager.savePart(EditorManager.java:1357)
        at org.eclipse.ui.internal.WorkbenchPage.savePart(WorkbenchPage.java:3328)
        at org.eclipse.ui.internal.WorkbenchPage.saveEditor(WorkbenchPage.java:3341)
        at org.eclipse.ui.internal.SaveAction.run(SaveAction.java:75)
        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:470)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.press(WorkbenchKeyboard.java:824)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.processKeyEvent(WorkbenchKeyboard.java:880)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.filterKeySequenceBindings(WorkbenchKeyboard.java:569)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard.access$3(WorkbenchKeyboard.java:510)
        at org.eclipse.ui.internal.keys.WorkbenchKeyboard$KeyDownFilter.handleEvent(WorkbenchKeyboard.java:125)
        at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
        at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1191)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1002)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1027)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
        at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1360)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4051)
        at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3944)
        at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2408)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3471)
        at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.runEventLoop(EventLoopProgressMonitor.java:123)
        at org.eclipse.ui.internal.dialogs.EventLoopProgressMonitor.isCanceled(EventLoopProgressMonitor.java:97)
        at org.eclipse.core.internal.jobs.ThreadJob.isCanceled(ThreadJob.java:132)
        at org.eclipse.core.internal.jobs.ThreadJob.joinRun(ThreadJob.java:167)
        at org.eclipse.core.internal.jobs.ImplicitJobs.begin(ImplicitJobs.java:87)
        at org.eclipse.core.internal.jobs.JobManager.beginRule(JobManager.java:232)
        at org.eclipse.core.internal.resources.WorkManager.checkIn(WorkManager.java:117)
        at org.eclipse.core.internal.resources.Workspace.prepareOperation(Workspace.java:1747)
        at org.eclipse.core.internal.resources.Workspace.checkpoint(Workspace.java:365)
        at org.eclipse.ltk.internal.core.refactoring.UndoableOperation2ChangeAdapter.aboutToNotify(UndoableOperation2ChangeAdapter.java:289)
        at org.eclipse.core.commands.operations.TriggeredOperations.aboutToNotify(TriggeredOperations.java:362)
        at org.eclipse.core.commands.operations.DefaultOperationHistory$1.run(DefaultOperationHistory.java:921)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.core.commands.operations.DefaultOperationHistory.notifyListeners(DefaultOperationHistory.java:910)
        at org.eclipse.core.commands.operations.DefaultOperationHistory.notifyAboutToExecute(DefaultOperationHistory.java:951)
        at org.eclipse.core.commands.operations.DefaultOperationHistory.openOperation(DefaultOperationHistory.java:1333)
        at org.eclipse.ltk.internal.core.refactoring.UndoManager2.aboutToPerformChange(UndoManager2.java:139)
        at org.eclipse.jdt.internal.ui.text.correction.proposals.ChangeCorrectionProposal.performChange(ChangeCorrectionProposal.java:134)
        at org.eclipse.jdt.internal.ui.text.correction.proposals.CUCorrectionProposal.performChange(CUCorrectionProposal.java:323)
        at org.eclipse.jdt.internal.ui.text.correction.proposals.CUCorrectionProposal.apply(CUCorrectionProposal.java:301)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertProposal(CompletionProposalPopup.java:931)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.insertSelectedProposalWithMask(CompletionProposalPopup.java:877)
        at org.eclipse.jface.text.contentassist.CompletionProposalPopup.verifyKey(CompletionProposalPopup.java:1304)
        at org.eclipse.jface.text.contentassist.ContentAssistant$InternalListener.verifyKey(ContentAssistant.java:806)
        at org.eclipse.jface.text.TextViewer$VerifyKeyListenersManager.verifyKey(TextViewer.java:489)
        at org.eclipse.swt.custom.StyledTextListener.handleEvent(StyledTextListener.java:62)
        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.Widget.sendEvent(Widget.java:1027)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
        at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:770)
        at org.eclipse.swt.custom.StyledText.handleKeyDown(StyledText.java:5795)
        at org.eclipse.swt.custom.StyledText$7.handleEvent(StyledText.java:5499)
        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.Widget.sendEvent(Widget.java:1027)
        at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1012)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1040)
        at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1036)
        at org.eclipse.swt.widgets.Widget.wmChar(Widget.java:1360)
        at org.eclipse.swt.widgets.Control.WM_CHAR(Control.java:4051)
        at org.eclipse.swt.widgets.Canvas.WM_CHAR(Canvas.java:346)
        at org.eclipse.swt.widgets.Control.windowProc(Control.java:3944)
        at org.eclipse.swt.widgets.Canvas.windowProc(Canvas.java:342)
        at org.eclipse.swt.widgets.Display.windowProc(Display.java:4589)
        at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
        at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2408)
        at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3471)
        at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
        at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
        at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
        at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
        at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
        at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
        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:194)
        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:368)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:559)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1287)
Comment 1 Dani Megert CLA 2009-06-23 09:28:18 EDT
>I can not reproduce this
Me neither :-(
Comment 2 Markus Keller CLA 2015-08-04 12:29:32 EDT

*** This bug has been marked as a duplicate of bug 212512 ***