Bug 44431 - NPE in CompilationUnitScope::faultInImports
Summary: NPE in CompilationUnitScope::faultInImports
Status: RESOLVED DUPLICATE of bug 44444
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.0   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.0 M4   Edit
Assignee: Kent Johnson CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-10-08 09:48 EDT by Jean-Michel Lemieux CLA
Modified: 2003-10-08 13:14 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 Jean-Michel Lemieux CLA 2003-10-08 09:48:44 EDT
I20031007
Some projects were being checked out in the background and while this was 
happening I opened a Java file from one of the projects that was being checked 
out. When the editor opened the outline was missing entries.

The following NPE occured at:

Thread [main] (Suspended (exception NullPointerException))
	CompilationUnitScope.faultInImports() line: 282
	CompilationUnitScope.faultInTypes() line: 359
	HierarchyResolver.resolve(Openable[], HashSet, IProgressMonitor) line: 
668
	HierarchyResolver.resolve(IGenericType) line: 496
	IndexBasedHierarchyBuilder(HierarchyBuilder).buildSupertypes() line: 
120
	IndexBasedHierarchyBuilder.build(boolean) line: 139
	TypeHierarchy.compute() line: 319
	TypeHierarchy.refresh(IProgressMonitor) line: 1230
	CreateTypeHierarchyOperation.executeOperation() line: 90
	CreateTypeHierarchyOperation(JavaModelOperation).execute() line: 366
	CreateTypeHierarchyOperation(JavaModelOperation).run(IProgressMonitor) 
line: 705
	JavaElement.runOperation(JavaModelOperation, IProgressMonitor) line: 
523
	SourceType.newSupertypeHierarchy(WorkingCopyOwner, IProgressMonitor) 
line: 526
	SourceType.newSupertypeHierarchy(IProgressMonitor) line: 494
	SuperTypeHierarchyCache.getTypeHierarchy(IType) line: 70
	OverrideIndicatorLabelDecorator.getOverrideIndicators(IMethod) line: 
134
	OverrideIndicatorLabelDecorator.computeAdornmentFlags(Object) line: 118
	OverrideIndicatorLabelDecorator.decorateImage(Image, Object) line: 92
	AppearanceAwareLabelProvider(JavaUILabelProvider).decorateImage(Image, 
Object) line: 119
	AppearanceAwareLabelProvider(JavaUILabelProvider).getImage(Object) 
line: 134
	DecoratingJavaLabelProvider(DecoratingLabelProvider).getImage(Object) 
line: 73
	DecoratingJavaLabelProvider.getImage(Object) line: 103
	JavaOutlinePage$JavaOutlineViewer(TreeViewer).doUpdateItem(Item, 
Object) line: 96
	AbstractTreeViewer$UpdateItemSafeRunnable.run() line: 77
	InternalPlatform.run(ISafeRunnable) line: 1034
	Platform.run(ISafeRunnable) line: 432
	JavaOutlinePage$JavaOutlineViewer(AbstractTreeViewer).doUpdateItem
(Widget, Object, boolean) line: 457
	StructuredViewer$UpdateItemSafeRunnable.run() line: 119
	InternalPlatform.run(ISafeRunnable) line: 1034
	Platform.run(ISafeRunnable) line: 432
	JavaOutlinePage$JavaOutlineViewer(StructuredViewer).updateItem(Widget, 
Object) line: 1263
	JavaOutlinePage$JavaOutlineViewer(AbstractTreeViewer).createTreeItem
(Widget, Object, int) line: 371
	AbstractTreeViewer$1.run() line: 351
	BusyIndicator.showWhile(Display, Runnable) line: 84
	JavaOutlinePage$JavaOutlineViewer(AbstractTreeViewer).createChildren
(Widget) line: 337
	JavaOutlinePage$JavaOutlineViewer
(AbstractTreeViewer).internalExpandToLevel(Widget, int) line: 913
	JavaOutlinePage$JavaOutlineViewer.internalExpandToLevel(Widget, int) 
line: 407
	JavaOutlinePage$JavaOutlineViewer
(AbstractTreeViewer).internalExpandToLevel(Widget, int) line: 922
	JavaOutlinePage$JavaOutlineViewer.internalExpandToLevel(Widget, int) 
line: 407
	AbstractTreeViewer$5.run() line: 796
	JavaOutlinePage$JavaOutlineViewer(StructuredViewer).preservingSelection
(Runnable) line: 796
	JavaOutlinePage$JavaOutlineViewer(AbstractTreeViewer).inputChanged
(Object, Object) line: 785
	JavaOutlinePage$JavaOutlineViewer(ContentViewer).setInput(Object) 
line: 238
	JavaOutlinePage$JavaOutlineViewer(StructuredViewer).setInput(Object) 
line: 983
	JavaOutlinePage.createControl(Composite) line: 1040
	ContentOutline.doCreatePage(IWorkbenchPart) line: 125
	ContentOutline(PageBookView).createPage(IWorkbenchPart) line: 306
	ContentOutline(PageBookView).partActivated(IWorkbenchPart) line: 561
	PartListenerList$1.run() line: 49
	InternalPlatform.run(ISafeRunnable) line: 1034
	Platform.run(ISafeRunnable) line: 432
	PartListenerList.firePartActivated(IWorkbenchPart) line: 47
	WorkbenchPage.firePartActivated(IWorkbenchPart) line: 1205
	WorkbenchPage.setActivePart(IWorkbenchPart) line: 2520
	WorkbenchPage.activate(IWorkbenchPart) line: 428
	WorkbenchPage.busyOpenEditor(IEditorInput, String, boolean, boolean, 
IFile, boolean) line: 2096
	WorkbenchPage.access$6(WorkbenchPage, IEditorInput, String, boolean, 
boolean, IFile, boolean) line: 2029
	WorkbenchPage$9.run() line: 2016
	BusyIndicator.showWhile(Display, Runnable) line: 84
	WorkbenchPage.openEditor(IEditorInput, String, boolean, boolean, 
IFile, boolean) line: 2011
	WorkbenchPage.openEditor(IFile, String, boolean) line: 1912
	EditorUtility.openInEditor(IFile, boolean) line: 132
	EditorUtility.openInEditor(Object, boolean) line: 105
	OpenActionUtil.open(Object, boolean) line: 49
	OpenAction.run(Object[]) line: 158
	OpenAction.run(IStructuredSelection) line: 147
	OpenAction(SelectionDispatchAction).dispatchRun(ISelection) line: 194
	OpenAction(SelectionDispatchAction).run() line: 172
	PackageExplorerActionGroup.handleOpen(OpenEvent) line: 316
	PackageExplorerPart$5.open(OpenEvent) line: 326
	StructuredViewer$2.run() line: 392
	InternalPlatform.run(ISafeRunnable) line: 1034
	Platform.run(ISafeRunnable) line: 432
	PackageExplorerPart$6(StructuredViewer).fireOpen(OpenEvent) line: 390
	PackageExplorerPart$6(StructuredViewer).handleOpen(SelectionEvent) 
line: 600
	StructuredViewer$6.handleOpen(SelectionEvent) line: 689
	OpenStrategy.fireOpenEvent(SelectionEvent) line: 209
	OpenStrategy.access$2(OpenStrategy, SelectionEvent) line: 204
	OpenStrategy$1.handleEvent(Event) line: 233
	EventTable.sendEvent(Event) line: 82
	Tree(Widget).sendEvent(Event) line: 847
	Display.runDeferredEvents() line: 2173
	Display.readAndDispatch() line: 1863
	Workbench.runEventLoop(Window$IExceptionHandler) line: 2315
	Workbench.run(Object) line: 2298
	InternalBootLoader.run(String, URL, String, String[], Runnable) line: 
858
	BootLoader.run(String, URL, String, String[], Runnable) line: 461
	NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not 
available [native method]
	NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
	DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
	Method.invoke(Object, Object[]) line: 324
	Main.basicRun(String[]) line: 298
	Main.run(String[]) line: 764
	Main.main(String[]) line: 598
Comment 1 Jean-Michel Lemieux CLA 2003-10-08 09:53:00 EDT
BTW, this was the file that I tried to open:

org.eclipse.swt/Eclipse 
SWT/gtk/org/eclipse/swt/internal/gtk/graphics/Color.java

Once the background checked out completed, I tried to open again and the NPE 
occured.
Comment 2 Philipe Mulet CLA 2003-10-08 09:57:31 EDT
Which JRE are you running on top of ?
Comment 3 Philipe Mulet CLA 2003-10-08 10:03:42 EDT
Highly suspecting a JIT bug.

	ImportBinding[] resolvedImports = new ImportBinding[numberOfImports];
282	resolvedImports[0] = environment.defaultImports[0];

Comment 4 Jean-Michel Lemieux CLA 2003-10-08 10:38:46 EDT
java.endorsed.dirs=c:\eclipse\java\jdk1.4.1_01\jre\lib\endorsed
java.ext.dirs=c:\eclipse\java\jdk1.4.1_01\jre\lib\ext
java.home=c:\eclipse\java\jdk1.4.1_01\jre
java.library.path=c:\eclipse\java\jdk1.4.1_01
Comment 5 Philipe Mulet CLA 2003-10-08 11:44:21 EDT
Jean-Michel, 

Did you remove the JRE from its build path per chance ?
Comment 6 Kent Johnson CLA 2003-10-08 13:12:10 EDT

*** This bug has been marked as a duplicate of 44444 ***