Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 389387 - When renaming a class, renaming fails due to a StackOverflow Error
Summary: When renaming a class, renaming fails due to a StackOverflow Error
Status: VERIFIED DUPLICATE of bug 389248
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.8   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 4.3 M2   Edit
Assignee: Srikanth Sankaran CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-09-12 05:41 EDT by Michael Meß CLA
Modified: 2012-09-24 09:24 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 Michael Meß CLA 2012-09-12 05:41:11 EDT
What steps will reproduce the problem?
1. Open a java class
2. Select the class name 
3. Select Refactor->Rename
4. Change the class name and press enter.

An error dialog occurs.


-- Error Details --
Date: Wed Sep 12 11:37:16 CEST 2012
Message: Internal Error
Severity: Error
Product: Eclipse SDK 3.8.0.v201206081200 (org.eclipse.sdk.ide)
Plugin: org.eclipse.ltk.ui.refactoring
Session Data:
eclipse.buildId=I20120608-1200
java.version=1.6.0_35
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86, WS=gtk, NL=en_DE
Framework arguments:  -keyring /home/michael/.eclipse-keyring/.keyring
Command-line arguments:  -os linux -ws gtk -arch x86 -keyring /home/michael/.eclipse-keyring/.keyring

Exception Stack Trace:
java.lang.reflect.InvocationTargetException
	at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:421)
	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:2649)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizard.createChange(RefactoringWizard.java:663)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizard.computeUserInputSuccessorPage(RefactoringWizard.java:502)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizard.getStartingPage(RefactoringWizard.java:472)
	at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.createContents(RefactoringWizardDialog2.java:613)
	at org.eclipse.jface.window.Window.create(Window.java:431)
	at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation$1.run(RefactoringWizardOpenOperation.java:178)
	at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:70)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:202)
	at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:122)
	at org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringStarter.activate(RefactoringStarter.java:38)
	at org.eclipse.jdt.internal.ui.refactoring.UserInterfaceStarter.activate(UserInterfaceStarter.java:62)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.RenameUserInterfaceStarter.activate(RenameUserInterfaceStarter.java:32)
	at org.eclipse.jdt.ui.refactoring.RenameSupport.openDialog(RenameSupport.java:160)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode.doRename(RenameLinkedMode.java:360)
	at org.eclipse.jdt.internal.ui.refactoring.reorg.RenameLinkedMode$EditorSynchronizer.left(RenameLinkedMode.java:119)
	at org.eclipse.jface.text.link.LinkedModeModel.exit(LinkedModeModel.java:341)
	at org.eclipse.jface.text.link.LinkedModeUI$4.run(LinkedModeUI.java:1193)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:135)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3529)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3182)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2701)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2665)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2499)
	at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:679)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:668)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:124)
	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:353)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
	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:629)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Caused by: java.lang.StackOverflowError
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2715)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getTypeOrPackage(Scope.java:2780)
	at org.eclipse.jdt.internal.compiler.lookup.Scope.getType(Scope.java:2526)
	...
Comment 1 Srikanth Sankaran CLA 2012-09-12 05:47:56 EDT
Same stack trace as bug 389248

*** This bug has been marked as a duplicate of bug 389248 ***
Comment 2 Srikanth Sankaran CLA 2012-09-12 06:33:15 EDT
Actually, just noticed that this problem is not reproducible
on HEAD using the description given here nor the one given in
bug 389248. Could you extract and attach a test case - TIA
Comment 3 Jörg Thönnes CLA 2012-09-18 05:41:43 EDT
So will this also work in the upcoming SR1 of Eclipse Juno?
Comment 4 Jörg Thönnes CLA 2012-09-18 05:42:36 EDT
So will this be resolved in the upcoming SR1 of Eclipse Juno?
Comment 5 Srikanth Sankaran CLA 2012-09-18 06:04:11 EDT
Please note that this is only verified to be a duplicate of another
bug. The other bug is still open and we don't know how to reproduce it
yet and are waiting for information on that.
Comment 6 Jörg Thönnes CLA 2012-09-24 09:24:40 EDT
My findings do relate to this bug (renaming a class):

The rename dialog has several options to also search for textual references and similar named variables.
If I de-select all options except "Update references", it works find. But I select them again, the above StackOverflow occurs.