Bug 262363 - NPE in ExternalFoldersManager
Summary: NPE in ExternalFoldersManager
Status: VERIFIED DUPLICATE of bug 261594
Alias: None
Product: JDT
Classification: Eclipse Project
Component: Core (show other bugs)
Version: 3.5   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.5 M6   Edit
Assignee: Srikanth Sankaran CLA
QA Contact:
URL:
Whiteboard:
Keywords:
: 262873 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-01-26 08:26 EST by Paul Webster CLA
Modified: 2009-03-10 09:57 EDT (History)
5 users (show)

See Also:


Attachments
Regression test (1.50 KB, patch)
2009-01-28 10:24 EST, Jerome Lanneluc CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Paul Webster CLA 2009-01-26 08:26:15 EST
I'm seeing a log of NPEs while running the ui navigator tests on I20090125-2000

Francis, do you know what the tests is doing at this moment?

!ENTRY org.eclipse.core.resources 4 2 2009-01-26 08:02:56.543
!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.core.resources".
!STACK 0
java.lang.NullPointerException
	at org.eclipse.jdt.internal.core.ExternalFoldersManager.refreshReferences(ExternalFoldersManager.java:263)
	at org.eclipse.jdt.internal.core.DeltaProcessor.resourceChanged(DeltaProcessor.java:1900)
	at org.eclipse.jdt.internal.core.DeltaProcessingState.resourceChanged(DeltaProcessingState.java:431)
	at org.eclipse.core.internal.events.NotificationManager$2.run(NotificationManager.java:290)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:37)
	at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:284)
	at org.eclipse.core.internal.events.NotificationManager.handleEvent(NotificationManager.java:268)
	at org.eclipse.core.internal.resources.Workspace.broadcastEvent(Workspace.java:307)
	at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1519)
	at org.eclipse.ui.tests.navigator.util.ProjectUnzipUtil.createProjects(ProjectUnzipUtil.java:62)
	at org.eclipse.ui.tests.navigator.util.TestWorkspace.init(TestWorkspace.java:27)
	at org.eclipse.ui.tests.navigator.NavigatorTestBase.setUp(NavigatorTestBase.java:69)
	at junit.framework.TestCase.runBare(TestCase.java:128)
	at junit.framework.TestResult$1.protect(TestResult.java:106)
	at junit.framework.TestResult.runProtected(TestResult.java:124)
	at junit.framework.TestResult.run(TestResult.java:109)
	at junit.framework.TestCase.run(TestCase.java:120)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at junit.framework.TestSuite.runTest(TestSuite.java:230)
	at junit.framework.TestSuite.run(TestSuite.java:225)
	at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130)
	at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
	at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
	at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62)
	at org.eclipse.pde.internal.junit.runtime.UITestApplication$1.run(UITestApplication.java:114)
	at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
	at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:133)
	at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3451)
	at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3098)
	at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2388)
	at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2352)
	at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2204)
	at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:499)
	at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:333)
	at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:492)
	at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
	at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:113)
	at org.eclipse.pde.internal.junit.runtime.UITestApplication.start(UITestApplication.java:46)
	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:79)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:618)
	at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:550)
	at org.eclipse.equinox.launcher.Main.basicRun(Main.java:505)
	at org.eclipse.equinox.launcher.Main.run(Main.java:1264)
	at org.eclipse.equinox.launcher.Main.main(Main.java:1240)
Comment 1 Francis Upton IV CLA 2009-01-26 11:01:56 EST
The tests are refreshing an empty workspace in the setup.

The bug appears to be in the DeltaProcessor, event.getResource() is only set on PRE_CLOSE or PRE_DELETE, they are using it on PRE_REFRESH.

I have added more tests recently, which might explain why this is happening more.

When this exception happens the subsequent navigator test will fail.
Comment 2 Jerome Lanneluc CLA 2009-01-28 10:24:22 EST
Created attachment 124028 [details]
Regression test
Comment 3 Jerome Lanneluc CLA 2009-01-28 10:25:17 EST
Fix should be part of fixing bug 261594

*** This bug has been marked as a duplicate of bug 261594 ***
Comment 4 Thomas Hallgren CLA 2009-01-29 03:57:09 EST
*** Bug 262873 has been marked as a duplicate of this bug. ***
Comment 5 Frederic Fusier CLA 2009-03-10 09:57:03 EDT
Verified for 3.5M6 using I20090310-0100.