Bug 436934 - Unable to rename method after I delete a project
Summary: Unable to rename method after I delete a project
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.1   Edit
Hardware: PC Windows 7
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: needinfo
Depends on:
Blocks:
 
Reported: 2014-06-08 13:45 EDT by Palmer Eldritch CLA
Modified: 2014-06-12 11:04 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 Palmer Eldritch CLA 2014-06-08 13:45:36 EDT
What steps will reproduce the problem?
1. Paste some code as to create the _pasted_code_ project
2. Delete the project and its contents on disk via the eclipse Package Explorer
3. Try to rename a method (via refactoring Alt+Shift+R or Alt+Shift+C)
4. Get (Alt+Shift+C):


-- Error Details --
Date: Sun Jun 08 20:21:35 BST 2014
Message: Internal Error
Severity: Error
Product: Eclipse 4.4.0.20140507-1817 (org.eclipse.epp.package.jee.product)
Plugin: org.eclipse.jdt.ui
Session Data:
eclipse.buildId=4.4.0.I20140515-1230
java.version=1.8.0
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86_64 -product org.eclipse.epp.package.jee.product

This is a continuation of log file C:\Dropbox\eclipse_workspaces\_luna\.metadata\.bak_0.log
Created Time: 2014-06-08 19:09:22.263

Exception Stack Trace:
Java Model Exception: Java Model Status [_pasted_code_2 does not exist]
	at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:785)
	at org.eclipse.jdt.internal.core.BinaryType.newSupertypeHierarchy(BinaryType.java:826)
	at org.eclipse.jdt.internal.core.BinaryType.newSupertypeHierarchy(BinaryType.java:778)
	at org.eclipse.jdt.internal.corext.refactoring.rename.MethodChecks.isDeclaredInInterface(MethodChecks.java:115)
	at org.eclipse.jdt.internal.corext.refactoring.structure.ChangeSignatureProcessor.checkInitialConditions(ChangeSignatureProcessor.java:740)
	at org.eclipse.jdt.internal.corext.refactoring.RefactoringExecutionStarter.startChangeSignatureRefactoring(RefactoringExecutionStarter.java:184)
	at org.eclipse.jdt.ui.actions.ModifyParametersAction.run(ModifyParametersAction.java:148)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:279)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:251)
	at org.eclipse.jface.action.Action.runWithEvent(Action.java:519)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:595)
	at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:511)
	at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:420)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
	at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4353)
	at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1061)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4172)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3761)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1152)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1033)
	at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
	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:379)
	at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:233)
	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.equinox.launcher.Main.invokeFramework(Main.java:648)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

-- Error Details --
Date: Sun Jun 08 20:21:35 BST 2014
Message: _pasted_code_2 does not exist
Severity: Error
Product: Eclipse 4.4.0.20140507-1817 (org.eclipse.epp.package.jee.product)
Plugin: org.eclipse.jdt.core


Alt+Shift+R just produces an entry in the log, while Alt+Shift+C also produces an error dialog (I can't copy paste it unfortunately: https://bugs.eclipse.org/bugs/show_bug.cgi?id=416777)

NB: the deletion of a project needs some love: https://bugs.eclipse.org/bugs/show_bug.cgi?id=419923
Comment 1 Noopur Gupta CLA 2014-06-11 04:04:44 EDT
I am not able to reproduce the issue.
Which method are you trying to rename? It cannot be a method from the _pasted_code_ project as it has already been deleted. Alt+Shift+R or Alt+Shift+C works fine with any other method after the delete operation.
Comment 2 Palmer Eldritch CLA 2014-06-11 05:23:14 EDT
Actually a restart fixed it - and it wasn't only for renaming methods, rename was broken for variables too. But the stack trace is still here - and points to a bug: which class needs a deleted project and why ?
Comment 3 Markus Keller CLA 2014-06-12 11:04:09 EDT
I also couldn't reproduce such a problem.

(In reply to Palmer Eldritch from comment #2)
> But the stack trace is still here - and
> points to a bug: which class needs a deleted project and why ?

Yes, the stacktrace shows there's a problem, but it could be anywhere. The Change Method Signature refactoring needs to create type hierarchies to figure out whether the method overrides another method. The deleted project apparently stayed in the Java model in your specific scenario.

Please reopen if you have complete steps to reproduce.