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

Bug 352150

Summary: NPE while opening compare editor for deleted file
Product: [Technology] EGit Reporter: Dariusz Luksza <dariusz.luksza>
Component: UIAssignee: Project Inbox <egit.ui-inbox>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 1.0   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Dariusz Luksza CLA 2011-07-14 14:01:29 EDT
Steps to reproduce this bug:
1. delete file that was in repository
2. launch synchronization
3. switch to git change set presentation model
4. launch compare editor for deleted file
5. NPE happens

java.lang.NullPointerException
	at org.eclipse.jgit.storage.file.UnpackedObjectCache$Table.index(UnpackedObjectCache.java:146)
	at org.eclipse.jgit.storage.file.UnpackedObjectCache$Table.contains(UnpackedObjectCache.java:109)
	at org.eclipse.jgit.storage.file.UnpackedObjectCache.isUnpacked(UnpackedObjectCache.java:64)
	at org.eclipse.jgit.storage.file.ObjectDirectory.openObject1(ObjectDirectory.java:427)
	at org.eclipse.jgit.storage.file.FileObjectDatabase.openObjectImpl1(FileObjectDatabase.java:172)
	at org.eclipse.jgit.storage.file.FileObjectDatabase.openObject(FileObjectDatabase.java:157)
	at org.eclipse.jgit.storage.file.WindowCursor.open(WindowCursor.java:122)
	at org.eclipse.jgit.treewalk.CanonicalTreeParser.reset(CanonicalTreeParser.java:193)
	at org.eclipse.jgit.treewalk.TreeWalk.parserFor(TreeWalk.java:982)
	at org.eclipse.jgit.treewalk.TreeWalk.reset(TreeWalk.java:434)
	at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:119)
	at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:162)
	at org.eclipse.jgit.treewalk.TreeWalk.forPath(TreeWalk.java:196)
	at org.eclipse.egit.ui.internal.CompareUtils.getFileRevision(CompareUtils.java:151)
	at org.eclipse.egit.ui.internal.CompareUtils.getFileRevisionTypedElement(CompareUtils.java:114)
	at org.eclipse.egit.ui.internal.CompareUtils.getFileRevisionTypedElement(CompareUtils.java:90)
	at org.eclipse.egit.ui.internal.synchronize.compare.GitCacheCompareInput.getRight(GitCacheCompareInput.java:51)
	at org.eclipse.egit.ui.internal.synchronize.compare.GitCompareInput.prepareInput(GitCompareInput.java:154)
	at org.eclipse.egit.ui.internal.synchronize.model.GitModelBlob.prepareInput(GitModelBlob.java:148)
	at org.eclipse.team.internal.ui.mapping.ModelCompareEditorInput.prepareCompareInput(ModelCompareEditorInput.java:121)
	at org.eclipse.team.ui.synchronize.SaveableCompareEditorInput.prepareInput(SaveableCompareEditorInput.java:235)
	at org.eclipse.compare.CompareEditorInput.run(CompareEditorInput.java:484)
	at org.eclipse.compare.internal.CompareUIPlugin.prepareInput(CompareUIPlugin.java:553)
	at org.eclipse.compare.internal.CompareEditor$2.run(CompareEditor.java:349)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Comment 1 Stefan Lay CLA 2011-07-15 11:54:58 EDT
The bug occured also for non-deleted files.

Fixed with 4e13a29ea43611d5e34467df72d85b7a757ec4a8