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

Bug 346364

Summary: NPE in HierarchyBuilder.createCompilationUnitFromPath
Product: [Eclipse Project] JDT Reporter: Bill Wang <bill2004158>
Component: CoreAssignee: Jay Arthanareeswaran <jarthana>
Status: VERIFIED WORKSFORME QA Contact:
Severity: normal    
Priority: P3 CC: amj87.iitr, daniel_megert, prakash, satyam.kandula
Version: 3.5Keywords: needinfo
Target Milestone: 3.8 M7   
Hardware: All   
OS: All   
Whiteboard:

Description Bill Wang CLA 2011-05-18 23:44:21 EDT
Build Identifier: 

eclipse.buildId=
java.version=1.6.0_23
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Framework arguments:  -product org.eclipse.epp.package.jee.product
Command-line arguments:  -os win32 -ws win32 -arch x86 -product org.eclipse.epp.package.jee.product


Error
Thu May 19 11:37:13 CST 2011
Internal Error

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:2579)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.ensureRefreshedTypeHierarchy(TypeHierarchyLifeCycle.java:122)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.updateInput(TypeHierarchyViewPart.java:535)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.setInputElement(TypeHierarchyViewPart.java:498)
at org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil.openInViewPart(OpenTypeHierarchyUtil.java:95)
at org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil.open(OpenTypeHierarchyUtil.java:72)
at org.eclipse.jdt.internal.ui.actions.OpenTypeInHierarchyAction.run(OpenTypeInHierarchyAction.java:60)
at org.eclipse.jdt.internal.ui.actions.OpenTypeInHierarchyAction.run(OpenTypeInHierarchyAction.java:67)
at org.eclipse.ui.internal.PluginAction.runWithEvent(PluginAction.java:251)
at org.eclipse.ui.internal.WWinPluginAction.runWithEvent(WWinPluginAction.java:229)
at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection(ActionContributionItem.java:584)
at org.eclipse.jface.action.ActionContributionItem.access$2(ActionContributionItem.java:501)
at org.eclipse.jface.action.ActionContributionItem$5.handleEvent(ActionContributionItem.java:411)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1003)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:3910)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3503)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2405)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2369)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2221)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:500)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:493)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:194)
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:368)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
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:559)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:514)
at org.eclipse.equinox.launcher.Main.run(Main.java:1311)
Caused by: java.lang.NullPointerException
at org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.createCompilationUnitFromPath(HierarchyBuilder.java:265)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.createCompilationUnitFromPath(IndexBasedHierarchyBuilder.java:358)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:679)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildForProject(IndexBasedHierarchyBuilder.java:226)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildFromPotentialSubtypes(IndexBasedHierarchyBuilder.java:328)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:131)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:300)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1255)
at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(SourceType.java:814)
at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(SourceType.java:772)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.createTypeHierarchy(TypeHierarchyLifeCycle.java:133)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefresh(TypeHierarchyLifeCycle.java:172)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$1.run(TypeHierarchyLifeCycle.java:113)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Root exception:
java.lang.NullPointerException
at org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.createCompilationUnitFromPath(HierarchyBuilder.java:265)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.createCompilationUnitFromPath(IndexBasedHierarchyBuilder.java:358)
at org.eclipse.jdt.internal.core.hierarchy.HierarchyResolver.resolve(HierarchyResolver.java:679)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildForProject(IndexBasedHierarchyBuilder.java:226)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.buildFromPotentialSubtypes(IndexBasedHierarchyBuilder.java:328)
at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.build(IndexBasedHierarchyBuilder.java:131)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute(TypeHierarchy.java:300)
at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh(TypeHierarchy.java:1255)
at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation(CreateTypeHierarchyOperation.java:90)
at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)
at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:788)
at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(SourceType.java:814)
at org.eclipse.jdt.internal.core.SourceType.newTypeHierarchy(SourceType.java:772)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.createTypeHierarchy(TypeHierarchyLifeCycle.java:133)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRefresh(TypeHierarchyLifeCycle.java:172)
at org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$1.run(TypeHierarchyLifeCycle.java:113)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)



Reproducible: Always
Comment 1 Prakash Rangaraj CLA 2011-05-19 00:24:29 EDT
Moving to JDT:

> Root exception:
>java.lang.NullPointerException at
>org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.createCompilationUnitFromPath(HierarchyBuilder.java:265)
Comment 2 Dani Megert CLA 2011-05-19 02:14:04 EDT
Can you reproduce this? If so, can you please provide the steps to reproduce it?
Comment 3 Ayushman Jain CLA 2011-05-19 02:44:09 EDT
Jay, can you please follow up? Thanks!
Comment 4 Bill Wang CLA 2011-05-19 05:00:55 EDT
(In reply to comment #2)
> Can you reproduce this? If so, can you please provide the steps to reproduce
> it?

it works fine before.
just found this exception these days.

maybe related some of the Cache data?
Comment 5 Jay Arthanareeswaran CLA 2011-05-19 05:44:53 EDT
(In reply to comment #4)
> maybe related some of the Cache data?

Perhaps. If this happens again, please update us with the steps.
Comment 6 Bill Wang CLA 2011-05-19 06:59:59 EDT
(In reply to comment #5)
> (In reply to comment #4)
> > maybe related some of the Cache data?
> 
> Perhaps. If this happens again, please update us with the steps.

1. Navigate -> open type in Hierarchy
2. type the class name in my project -> ok
3. get error dialog: 
Creating hierarchy failed. See log for details.
See error log for more details.

then I go to error log and found that stack trace.

however, it seems some classes are no problem. while some got this exception.

it seems jdt cache/index broken?
Comment 7 Jay Arthanareeswaran CLA 2012-03-19 02:57:28 EDT
(In reply to comment #6)
> it seems jdt cache/index broken?

Possible, although I can't confirm. Feel free to reopen it if you see this again.
Comment 8 Satyam Kandula CLA 2012-04-30 01:22:45 EDT
Verified for 3.8M7