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

Bug 207795

Summary: IllegalStateException when processing the refactoring "Sort Members"
Product: [Eclipse Project] JDT Reporter: Greg Watson <g.watson>
Component: TextAssignee: JDT-Text-Inbox <jdt-text-inbox>
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: daniel_megert, g.watson, jerome_lanneluc, martinae, Olivier_Thomann
Version: 3.3.1   
Target Milestone: ---   
Hardware: PC   
OS: Mac OS X - Carbon (unsup.)   
Whiteboard:
Attachments:
Description Flags
Source file none

Description Greg Watson CLA 2007-10-29 10:59:35 EDT
This is a fresh install of Eclipse 3.3.1.1, but the workspace is old. I edited a Java file, then selected the "Sort Members" refactoring. The file was not saved before running the refactoring.
Comment 1 Greg Watson CLA 2007-10-29 11:01:38 EDT
Here is a stack trace:

ava.lang.IllegalStateException
at org.eclipse.jface.text.projection.ProjectionMapping.toImageLine(ProjectionMapping.java:479)
at org.eclipse.jface.text.projection.ProjectionMapping.toClosestImageLine(ProjectionMapping.java:490)
at org.eclipse.jface.text.TextViewer.getClosestWidgetLineForModelLine(TextViewer.java:5065)
at org.eclipse.jface.text.TextViewer$ViewerState.updateViewport(TextViewer.java:1195)
at org.eclipse.jface.text.TextViewer$ViewerState.restore(TextViewer.java:1175)
at org.eclipse.jface.text.TextViewer.enabledRedrawing(TextViewer.java:4683)
at org.eclipse.jface.text.TextViewer.enabledRedrawing(TextViewer.java:4658)
at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:4745)
at org.eclipse.jface.text.TextViewer.setRedraw(TextViewer.java:4717)
at org.eclipse.jface.text.TextViewer$RewriteTarget.setRedraw(TextViewer.java:1035)
at org.eclipse.jface.text.TextViewer$DocumentRewriteSessionListener.documentRewriteSessionChanged(TextViewer.java:1403)
at org.eclipse.jface.text.AbstractDocument.fireRewriteSessionChanged(AbstractDocument.java:1430)
at org.eclipse.jface.text.AbstractDocument.stopRewriteSession(AbstractDocument.java:1516)
at org.eclipse.ltk.core.refactoring.TextChange.perform(TextChange.java:249)
at org.eclipse.ltk.core.refactoring.CompositeChange.perform(CompositeChange.java:278)
at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.access$0(DynamicValidationStateChange.java:1)
at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange$1.run(DynamicValidationStateChange.java:98)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4466)
at org.eclipse.jdt.internal.corext.refactoring.changes.DynamicValidationStateChange.perform(DynamicValidationStateChange.java:101)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation$1.run(PerformChangeOperation.java:258)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.executeChange(PerformChangeOperation.java:306)
at org.eclipse.ltk.internal.ui.refactoring.UIPerformChangeOperation.executeChange(UIPerformChangeOperation.java:109)
at org.eclipse.ltk.core.refactoring.PerformChangeOperation.run(PerformChangeOperation.java:223)
at org.eclipse.jdt.internal.core.BatchOperation.executeOperation(BatchOperation.java:39)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:720)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1797)
at org.eclipse.jdt.core.JavaCore.run(JavaCore.java:4466)
at org.eclipse.jdt.internal.ui.actions.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
at org.eclipse.jface.operation.ModalContext.runInCurrentThread(ModalContext.java:369)
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:313)
at org.eclipse.jface.window.ApplicationWindow$1.run(ApplicationWindow.java:758)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.jface.window.ApplicationWindow.run(ApplicationWindow.java:755)
at org.eclipse.ui.internal.WorkbenchWindow.run(WorkbenchWindow.java:2451)
at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper.perform(RefactoringExecutionHelper.java:180)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringExecutionStarter.startCleanupRefactoring(RefactoringExecutionStarter.java:253)
at org.eclipse.jdt.internal.ui.actions.CleanUpAction.performRefactoring(CleanUpAction.java:96)
at org.eclipse.jdt.internal.ui.actions.CleanUpAction.run(CleanUpAction.java:174)
at org.eclipse.jdt.internal.ui.actions.CleanUpAction.run(CleanUpAction.java:102)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:272)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:244)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:498)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:546)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:490)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:402)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1495)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1519)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1504)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1295)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3350)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2954)
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:169)
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:585)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:508)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:447)
at org.eclipse.equinox.launcher.Main.run(Main.java:1173)

Comment 2 Olivier Thomann CLA 2007-10-29 11:03:15 EDT
Would it be possible to get the source of the units that caused the failure?
Thanks.
Comment 3 Greg Watson CLA 2007-10-29 11:13:11 EDT
Created attachment 81465 [details]
Source file

This is the source file just prior to the "Sort Members". Of course, when I restarted Eclipse and ran the refactoring, it worked fine the second time.
Comment 4 Jerome Lanneluc CLA 2007-10-29 12:22:53 EDT
Moving to JDT/UI
Comment 5 Dani Megert CLA 2007-10-29 13:51:32 EDT

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