Bug 13831 - NPE in RegionBasedTypeHierarchy
Summary: NPE in RegionBasedTypeHierarchy
Status: RESOLVED WORKSFORME
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 2.0   Edit
Hardware: PC Windows 2000
: P3 normal (vote)
Target Milestone: 2.0 M6   Edit
Assignee: Jerome Lanneluc CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-04-15 16:29 EDT by Michael Fraenkel CLA
Modified: 2002-04-23 10:52 EDT (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Fraenkel CLA 2002-04-15 16:29:17 EDT
Win32 0412 Integration + JDT Core Performance patch for large projects (239b)

I hit F4, and after waiting a couple of minutes, the following appears:

java.lang.NullPointerException
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.removeType
(RegionBasedTypeHierarchy.java:132)
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.removeType
(RegionBasedTypeHierarchy.java:132)
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.pruneDeadBranc
hes(RegionBasedTypeHierarchy.java(Compiled Code))
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.pruneDeadBranc
hes(RegionBasedTypeHierarchy.java(Compiled Code))
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.pruneDeadBranc
hes(RegionBasedTypeHierarchy.java(Compiled Code))
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.pruneDeadBranc
hes(RegionBasedTypeHierarchy.java:113)
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.pruneDeadBranc
hes(RegionBasedTypeHierarchy.java:97)
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedHierarchyBuilder.build
(RegionBasedHierarchyBuilder.java:30)
	at 
org.eclipse.jdt.internal.core.hierarchy.RegionBasedTypeHierarchy.compute
(RegionBasedTypeHierarchy.java:71)
	at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh
(TypeHierarchy.java:1095)
	at 
org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation
(CreateTypeHierarchyOperation.java:52)
	at org.eclipse.jdt.internal.core.JavaModelOperation.execute
(JavaModelOperation.java:268)
	at org.eclipse.jdt.internal.core.JavaModelOperation.run
(JavaModelOperation.java:476)
	at org.eclipse.jdt.internal.core.JavaModelManager.runOperation
(JavaModelManager.java:1147)
	at org.eclipse.jdt.internal.core.JavaElement.runOperation
(JavaElement.java:550)
	at org.eclipse.jdt.internal.core.JavaProject.newTypeHierarchy
(JavaProject.java:1500)
	at 
org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.doHierarchyRef
resh(TypeHierarchyLifeCycle.java:170)
	at 
org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.access$0
(TypeHierarchyLifeCycle.java:130)
	at 
org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle$1.run
(TypeHierarchyLifeCycle.java:106)
	at 
org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.inte
rnalRun(BusyIndicatorRunnableContext.java:107)
	at 
org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext$BusyRunnable.run
(BusyIndicatorRunnableContext.java:74)
	at org.eclipse.swt.custom.BusyIndicator.showWhile
(BusyIndicator.java:56)
	at org.eclipse.jdt.internal.ui.util.BusyIndicatorRunnableContext.run
(BusyIndicatorRunnableContext.java:120)
	at 
org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle.ensureRefreshe
dTypeHierarchy(TypeHierarchyLifeCycle.java:114)
	at 
org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.updateInput
(TypeHierarchyViewPart.java:384)
	at 
org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyViewPart.setInputElement
(TypeHierarchyViewPart.java:370)
	at 
org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil.openInViewPart
(OpenTypeHierarchyUtil.java:130)
	at org.eclipse.jdt.internal.ui.util.OpenTypeHierarchyUtil.open
(OpenTypeHierarchyUtil.java:105)
	at org.eclipse.jdt.ui.actions.OpenTypeHierarchyAction.run
(OpenTypeHierarchyAction.java:115)
	at org.eclipse.jdt.ui.actions.OpenTypeHierarchyAction.run
(OpenTypeHierarchyAction.java:107)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun
(SelectionDispatchAction.java:132)
	at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run
(SelectionDispatchAction.java:93)
	at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.java:135)
	at org.eclipse.jdt.internal.ui.actions.RetargetActionDelegator.run
(RetargetActionDelegator.java:53)
	at org.eclipse.ui.internal.PluginAction.runWithEvent
(PluginAction.java:202)
	at org.eclipse.ui.internal.WWinPluginAction.runWithEvent
(WWinPluginAction.java:162)
	at 
org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection
(ActionContributionItem.java:407)
	at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent
(ActionContributionItem.java:361)
	at org.eclipse.jface.action.ActionContributionItem.access$0
(ActionContributionItem.java:352)
	at 
org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent
(ActionContributionItem.java:47)
	at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java
(Compiled Code))
	at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:637)
	at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1412)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1208)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:836)
	at org.eclipse.ui.internal.Workbench.run(Workbench.java:819)
	at org.eclipse.core.internal.boot.InternalBootLoader.run
(InternalBootLoader.java:777)
	at org.eclipse.core.boot.BootLoader.run(BootLoader.java:319)
	at java.lang.reflect.Method.invoke(Native Method)
	at org.eclipse.core.launcher.Main.basicRun(Main.java:190)
	at org.eclipse.core.launcher.Main.run(Main.java:549)
	at org.eclipse.core.launcher.Main.main(Main.java:390)
Comment 1 Jerome Lanneluc CLA 2002-04-17 05:45:47 EDT
The code that causes problem in RegionBasedTypeHierarchy.java is:
	if (subtypes != null) {
		for (int i= 0; i < subtypes.length; i++) {
			this.removeType(subtypes[i]); // line 132
		}
	}
This code cannot throw a NullPointerException. This sounds like a jit problem. 
Which VM do you use? Could you please try with another VM?

Comment 2 Jerome Lanneluc CLA 2002-04-23 10:52:37 EDT
Please re-open if you see this problem again with a VM which is not IBM JDK 
1.3.1.