Bug 322300 - Refactor->rename file causes NullPointerException
Summary: Refactor->rename file causes NullPointerException
Status: VERIFIED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.6   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 normal (vote)
Target Milestone: 3.7 M3   Edit
Assignee: Olivier Thomann CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-10 19:35 EDT by DougHW CLA
Modified: 2010-10-26 06:01 EDT (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description DougHW CLA 2010-08-10 19:35:57 EDT
Build Identifier: 20090619-0625

If source files have changed on the disk, trying to refactor->rename a file will crash if it has dependencies in those changed files.  This is not an uncommon scenario in team coding.  Instead of this, it should either prompt to refresh, or throw a meaningful error.

Reproducible: Always

Steps to Reproduce:
1.Delete a class that references some other class in your project
2.Do not refresh Eclipse
3.Try to Refactor->Rename the referenced class in Eclipse
4.Internal Error

java.lang.reflect.InvocationTargetException
	at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:91)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: Java Model Exception: Core Exception [code 271] File not found: /Users/doug/workspace/android/trunk/Zoosk/src/com/zoosk/zoosk/services/image/ImageClient.java.
	at org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:1165)
	at org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:1137)
	at org.eclipse.jdt.internal.core.CompilationUnit.openBuffer(CompilationUnit.java:1152)
	at org.eclipse.jdt.internal.core.CompilationUnit.buildStructure(CompilationUnit.java:116)
	at org.eclipse.jdt.internal.core.Openable.generateInfos(Openable.java:258)
	at org.eclipse.jdt.internal.core.JavaElement.openWhenClosed(JavaElement.java:515)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:252)
	at org.eclipse.jdt.internal.core.JavaElement.getElementInfo(JavaElement.java:238)
	at org.eclipse.jdt.internal.core.Openable.getBuffer(Openable.java:284)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RefactoringScanner.scan(RefactoringScanner.java:69)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addCuTextMatches(TextMatchUpdater.java:158)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:135)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.addTextMatches(TextMatchUpdater.java:145)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.updateTextMatches(TextMatchUpdater.java:101)
	at org.eclipse.jdt.internal.corext.refactoring.rename.TextMatchUpdater.perform(TextMatchUpdater.java:89)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.createChanges(RenameTypeProcessor.java:1109)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameTypeProcessor.doCheckFinalConditions(RenameTypeProcessor.java:544)
	at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:46)
	at org.eclipse.jdt.internal.corext.refactoring.rename.RenameCompilationUnitProcessor.doCheckFinalConditions(RenameCompilationUnitProcessor.java:324)
	at org.eclipse.jdt.internal.corext.refactoring.rename.JavaRenameProcessor.checkFinalConditions(JavaRenameProcessor.java:46)
	at org.eclipse.ltk.core.refactoring.participants.ProcessorBasedRefactoring.checkFinalConditions(ProcessorBasedRefactoring.java:224)
	at org.eclipse.ltk.core.refactoring.CheckConditionsOperation.run(CheckConditionsOperation.java:85)
	at org.eclipse.ltk.core.refactoring.CreateChangeOperation.run(CreateChangeOperation.java:121)
	at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)
	at org.eclipse.ltk.internal.ui.refactoring.WorkbenchRunnableAdapter.run(WorkbenchRunnableAdapter.java:87)
	... 1 more
Caused by: org.eclipse.core.runtime.CoreException: File not found: /Users/doug/workspace/android/trunk/Zoosk/src/com/zoosk/zoosk/services/image/ImageClient.java.
	at org.eclipse.core.internal.filesystem.Policy.error(Policy.java:55)
	at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:366)
	at org.eclipse.core.internal.localstore.FileSystemResourceManager.read(FileSystemResourceManager.java:667)
	at org.eclipse.core.internal.resources.File.getContents(File.java:288)
	at org.eclipse.jdt.internal.core.util.Util.getResourceContentsAsCharArray(Util.java:1163)
	... 31 more
Caused by: java.io.FileNotFoundException: /Users/doug/workspace/android/trunk/Zoosk/src/com/zoosk/zoosk/services/image/ImageClient.java (No such file or directory)
	at java.io.FileInputStream.open(Native Method)
	at java.io.FileInputStream.<init>(FileInputStream.java:106)
	at org.eclipse.core.internal.filesystem.local.LocalFile.openInputStream(LocalFile.java:357)
	... 34 more
Comment 1 Srikanth Sankaran CLA 2010-08-10 22:17:39 EDT
Could you attach the .log ? If don't see any 
reference to NullPointerException in the
abbreviated traces you have posted - TIA.
Comment 2 Olivier Thomann CLA 2010-09-19 20:40:12 EDT
Closing as WORKSFORME.
Comment 3 Ayushman Jain CLA 2010-10-26 06:01:44 EDT
Verified for 3.7M3