Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 160609 - [rename] Overlapping text edits on JavaRenameProcessor.checkFinalConditions
Summary: [rename] Overlapping text edits on JavaRenameProcessor.checkFinalConditions
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.2   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 206523 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-10-11 22:11 EDT by Jason CLA
Modified: 2010-05-18 09:51 EDT (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jason CLA 2006-10-11 22:11:43 EDT
Some errors ocurr, when I refactor the package name in Eclipse 3.2. The infomation about errors is as following:

java.version=1.6.0-beta2
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=en_US
Command-line arguments:  -os win32 -ws win32 -arch x86

Error
Wed Oct 11 16:28:18 CST 2006
Internal Error

java.lang.reflect.InvocationTargetException
at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:350)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:304)
at org.eclipse.ltk.ui.refactoring.RefactoringWizard.createChange(RefactoringWizard.java:571)
at org.eclipse.ltk.ui.refactoring.RefactoringWizard.computeUserInputSuccessorPage(RefactoringWizard.java:414)
at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.computeSuccessorPage(UserInputWizardPage.java:75)
at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.getNextPage(UserInputWizardPage.java:115)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.nextOrPreviewPressed(RefactoringWizardDialog2.java:475)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.access$0(RefactoringWizardDialog2.java:472)
at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2$1.widgetSelected(RefactoringWizardDialog2.java:660)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:90)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.jface.window.Window.runEventLoop(Window.java:820)
at org.eclipse.jface.window.Window.open(Window.java:796)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:132)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:67)
at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:145)
at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:40)
at org.eclipse.jdt.internal.ui.refactoring.UserInterfaceStarter.activate(UserInterfaceStarter.java:56)
at org.eclipse.jdt.internal.ui.refactoring.reorg.RenameUserInterfaceStarter.activate(RenameUserInterfaceStarter.java:151)
at org.eclipse.jdt.ui.refactoring.RenameSupport.openDialog(RenameSupport.java:114)
at org.eclipse.jdt.internal.corext.refactoring.RefactoringExecutionStarter.startRenameRefactoring(RefactoringExecutionStarter.java:382)
at org.eclipse.jdt.internal.ui.refactoring.actions.RenameJavaElementAction.run(RenameJavaElementAction.java:172)
at org.eclipse.jdt.internal.ui.refactoring.actions.RenameJavaElementAction.run(RenameJavaElementAction.java:102)
at org.eclipse.jdt.ui.actions.RenameAction.run(RenameAction.java:108)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:267)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:243)
at org.eclipse.jface.action.Action.runWithEvent(Action.java:499)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:539)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:488)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:400)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:66)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:928)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3348)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2968)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1914)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:1878)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:419)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.IDEApplication.run(IDEApplication.java:95)
at org.eclipse.core.internal.runtime.PlatformActivator$1.run(PlatformActivator.java:78)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:92)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:68)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:400)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:177)
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.core.launcher.Main.invokeFramework(Main.java:336)
at org.eclipse.core.launcher.Main.basicRun(Main.java:280)
at org.eclipse.core.launcher.Main.run(Main.java:977)
at org.eclipse.core.launcher.Main.main(Main.java:952)
Caused by: org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:118)
at java.util.Collections.indexedBinarySearch(Unknown Source)
at java.util.Collections.binarySearch(Unknown Source)
at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:757)
at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:742)
at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:332)
at org.eclipse.jdt.internal.corext.refactoring.changes.TextChangeCompatibility.insert(TextChangeCompatibility.java:96)
at org.eclipse.jdt.internal.corext.refactoring.changes.TextChangeCompatibility.addTextEdit(TextChangeCompatibility.java:41)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor$ImportsManager.rewriteImports(RenamePackageProcessor.java:901)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor.doCheckFinalConditions(RenamePackageProcessor.java:303)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:46)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:175)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:83)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:118)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
Root exception:
org.eclipse.text.edits.MalformedTreeException: Overlapping text edits
at org.eclipse.text.edits.TextEdit$InsertionComparator.compare(TextEdit.java:118)
at java.util.Collections.indexedBinarySearch(Unknown Source)
at java.util.Collections.binarySearch(Unknown Source)
at org.eclipse.text.edits.TextEdit.computeInsertionIndex(TextEdit.java:757)
at org.eclipse.text.edits.TextEdit.internalAdd(TextEdit.java:742)
at org.eclipse.text.edits.TextEdit.addChild(TextEdit.java:332)
at org.eclipse.jdt.internal.corext.refactoring.changes.TextChangeCompatibility.insert(TextChangeCompatibility.java:96)
at org.eclipse.jdt.internal.corext.refactoring.changes.TextChangeCompatibility.addTextEdit(TextChangeCompatibility.java:41)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor$ImportsManager.rewriteImports(RenamePackageProcessor.java:901)
at org.eclipse.jdt.internal.corext.refactoring.rename.RenamePackageProcessor.doCheckFinalConditions(RenamePackageProcessor.java:303)
at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:46)
at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:175)
at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:83)
at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:118)
at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1737)
at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)

I'd like to provide any information you require to imporve Eclipse.
Thank you very much!
 
yours,
Jason
Comment 1 Benno Baumgartner CLA 2006-10-12 03:39:01 EDT
Hi Jason

Can you tell us what you did before the exception was thrown? Can you reproduce the problem?

Thanks
Benno
Comment 2 Martin Aeschlimann CLA 2006-10-16 06:13:31 EDT
You don't happen to have a small source example that shows this problem?
Comment 3 Greg Steuck CLA 2007-06-26 19:19:45 EDT
I seem to have hit a similar problem in 3.3 I20070608-1718 (top of
configuration details at the bottom)

I tried to rename a protected final field in a rather big project and
I received this stack trace in the log file:

!ENTRY org.eclipse.jdt.ui 4 10001 2007-06-26 11:56:27.609
!MESSAGE Internal Error
!STACK 0
java.lang.reflect.InvocationTargetException
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:350)
	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:178)
	at org.eclipse.jdt.ui.refactoring.RenameSupport.perform(RenameSupport.java:196)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode.doRename(RenameLinkedMode.java:339)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode$EditorSynchronizer.left(RenameLinkedMode.java:113)
	at org.eclipse.jface.text.link.LinkedModeModel.exit(LinkedModeModel.java:339)
	at org.eclipse.jface.text.link.LinkedModeUI$4.run(LinkedModeUI.java:1190)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:123)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3296)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:2974)
	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)
Caused by: org.eclipse.text.edits.MalformedTreeException: End position lies outside document range
	at org.eclipse.text.edits.TextEditProcessor.checkIntegrityDo(TextEditProcessor.java:170)
	at org.eclipse.text.edits.TextEdit.dispatchCheckIntegrity(TextEdit.java:740)
	at org.eclipse.text.edits.TextEditProcessor.performEdits(TextEditProcessor.java:149)
	at org.eclipse.ltk.core.refactoring.TextChange.getPreviewDocument(TextChange.java:507)
	at org.eclipse.ltk.core.refactoring.TextChange.getPreviewDocument(TextChange.java:376)
	at org.eclipse.ltk.core.refactoring.TextChange.getPreviewContent(TextChange.java:384)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameAnalyzeUtil.createNewWorkingCopy(RenameAnalyzeUtil.java:194)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameAnalyzeUtil.createNewWorkingCopies(RenameAnalyzeUtil.java:185)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.analyzeRenameChanges(RenameFieldProcessor.java:802)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.createChanges(RenameFieldProcessor.java:633)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.doCheckFinalConditions(RenameFieldProcessor.java:448)
	at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:48)
	at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:174)
	at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
	at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:75)
	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$ModalContextThread.run(ModalContext.java:113)
Root exception:
org.eclipse.text.edits.MalformedTreeException: End position lies outside document range
	at org.eclipse.text.edits.TextEditProcessor.checkIntegrityDo(TextEditProcessor.java:170)
	at org.eclipse.text.edits.TextEdit.dispatchCheckIntegrity(TextEdit.java:740)
	at org.eclipse.text.edits.TextEditProcessor.performEdits(TextEditProcessor.java:149)
	at org.eclipse.ltk.core.refactoring.TextChange.getPreviewDocument(TextChange.java:507)
	at org.eclipse.ltk.core.refactoring.TextChange.getPreviewDocument(TextChange.java:376)
	at org.eclipse.ltk.core.refactoring.TextChange.getPreviewContent(TextChange.java:384)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameAnalyzeUtil.createNewWorkingCopy(RenameAnalyzeUtil.java:194)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameAnalyzeUtil.createNewWorkingCopies(RenameAnalyzeUtil.java:185)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.analyzeRenameChanges(RenameFieldProcessor.java:802)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.createChanges(RenameFieldProcessor.java:633)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameFieldProcessor.doCheckFinalConditions(RenameFieldProcessor.java:448)
	at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:48)
	at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:174)
	at org.eclipse.ltk.core.refactoring.Refactoring.checkAllConditions(Refactoring.java:160)
	at org.eclipse.jdt.internal.ui.refactoring.RefactoringExecutionHelper$Operation.run(RefactoringExecutionHelper.java:75)
	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$ModalContextThread.run(ModalContext.java:113)



*** Date: Tuesday, June 26, 2007 4:09:54 PM PT

*** Platform Details:

*** System properties:
eclipse.buildId=I20070608-1718
eclipse.commands=-os
linux
-ws
gtk
-arch
x86
-showsplash
/opt/eclipse//plugins/org.eclipse.platform_3.3.0.v20070607/splash.bmp
-launcher
/opt/eclipse/eclipse
-name
Eclipse
--launcher.library
/opt/eclipse/plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.0.0.v20070606/eclipse_1017a.so
-startup
/opt/eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar
-data
/home/REDACTED/REDACTED/workspace/
-vm
/usr/local/java/jdk1.6.0_01/bin/../jre/lib/i386/client/libjvm.so
eclipse.ee.install.verify=false
eclipse.pluginCustomization=/opt/eclipse/configuration/plugin_customization.ini
eclipse.product=org.eclipse.sdk.ide
eclipse.startTime=1182883296739
eclipse.vm=/usr/local/java/jdk1.6.0_01/bin/../jre/lib/i386/client/libjvm.so
eclipse.vmargs=-server
-XX:MaxPermSize=128m
-Xms384M
-Xmx1200M
-Djava.class.path=/opt/eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar
eof=eof
file.encoding=ANSI_X3.4-1968
file.encoding.pkg=sun.io
file.separator=/
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
java.awt.printerjob=sun.print.PSPrinterJob
java.class.path=/opt/eclipse/plugins/org.eclipse.equinox.launcher_1.0.0.v20070606.jar
java.class.version=50.0
java.endorsed.dirs=/usr/local/java/jdk1.6.0_01/jre/lib/endorsed
java.ext.dirs=/usr/local/java/jdk1.6.0_01/jre/lib/ext:/usr/java/packages/lib/ext
java.home=/usr/local/java/jdk1.6.0_01/jre
java.io.tmpdir=/tmp
java.library.path=/usr/local/java/jdk1.6.0_01/jre/lib/i386/client::/usr/local/java/jdk1.6.0_01/jre/lib/i386::/usr/lib/mozilla:/usr/lib/mozilla:/usr/java/packages/lib/i386:/lib:/usr/lib
java.runtime.name=Java(TM) SE Runtime Environment
java.runtime.version=1.6.0_01-b06
java.specification.name=Java Platform API Specification
java.specification.vendor=Sun Microsystems Inc.
java.specification.version=1.6
java.vendor=Sun Microsystems Inc.
java.vendor.url=http://java.sun.com/
java.vendor.url.bug=http://java.sun.com/cgi-bin/bugreport.cgi
java.version=1.6.0_01
java.vm.info=mixed mode
java.vm.name=Java HotSpot(TM) Client VM
java.vm.specification.name=Java Virtual Machine Specification
java.vm.specification.vendor=Sun Microsystems Inc.
java.vm.specification.version=1.0
java.vm.vendor=Sun Microsystems Inc.
java.vm.version=1.6.0_01-b06
line.separator=
Comment 4 Dani Megert CLA 2010-05-18 09:50:02 EDT
*** Bug 206523 has been marked as a duplicate of this bug. ***
Comment 5 Dani Megert CLA 2010-05-18 09:51:30 EDT
Cannot reproduce using 3.6 RC1. Please reopen if you have more detailed steps.
Comment 6 Dani Megert CLA 2010-05-18 09:51:52 EDT
Cannot reproduce using 3.6 RC1. Please reopen if you have more detailed steps.