[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [p2-dev] P2 planner test testSubsequentInstall in AgentPlanTestInRunningInstance Freeze

After Updating to the new Eclipse 3.5 RC3 the freezing has upgraded to a Null Pointer Exception.

In AgentPlanTestInRunningInstance lines 69:70:71
{
It seems that when the rollback plan is devised by getting the Diff of the initialProfile
It tries to remove the Engine Bundle For some reason , this causes the EngineActivator to stop and its context to be set to null.
}

This context is used when trying to get the Service in the Engine class, on line 40
SimpleProfileRegistry profileRegistry = (SimpleProfileRegistry) ServiceHelper.getService(EngineActivator.getContext(), IProfileRegistry.class.getName());


Here is the Stack where the EngineActivator is stopped and the Context set to null

Thread [main] (Suspended (breakpoint at line 65 in EngineActivator))   
    EngineActivator.stop(BundleContext) line: 65   
    BundleContextImpl$2.run() line: 840   
    AccessController.doPrivileged(PrivilegedExceptionAction<T>) line: not available [native method]   
    BundleContextImpl.stop() line: 833   
    BundleHost.stopWorker(int) line: 474   
    BundleHost(AbstractBundle).uninstallWorker(PrivilegedExceptionAction) line: 784   
    BundleHost(AbstractBundle).uninstall() line: 764   
    ConfigApplier.installBundles(BundleInfo[], Collection) line: 212   
    ConfigApplier.install(URL, boolean) line: 89   
    SimpleConfiguratorImpl.applyConfiguration(URL) line: 129   
    SimpleConfiguratorImpl.applyConfiguration() line: 143   
    PlanExecutionHelper.executePlan(ProvisioningPlan, IEngine, PhaseSet, ProvisioningContext, IProgressMonitor) line: 36   
    PlanExecutionHelper.executePlan(ProvisioningPlan, IEngine, ProvisioningContext, IProgressMonitor) line: 23   
    AgentPlanTestInRunningInstance.tearDown() line: 71   
    AgentPlanTestInRunningInstance(TestCase).runBare() line: 136   
    TestResult$1.protect() line: 106   
    TestResult.runProtected(Test, Protectable) line: 124   
    TestResult.run(TestCase) line: 109   
    AgentPlanTestInRunningInstance(TestCase).run(TestResult) line: 120   
    JUnit3TestReference.run(TestExecution) line: 130   
    TestExecution.run(ITestReference[]) line: 38   
    RemotePluginTestRunner(RemoteTestRunner).runTests(String[], String, TestExecution) line: 467   
    RemotePluginTestRunner(RemoteTestRunner).runTests(TestExecution) line: 683   
    RemotePluginTestRunner(RemoteTestRunner).run() line: 390   
    RemotePluginTestRunner.main(String[]) line: 62   
    UITestApplication$1.run() line: 114   
    RunnableLock.run() line: 35   
    UISynchronizer(Synchronizer).runAsyncMessages(boolean) line: 134   
    Display.runAsyncMessages(boolean) line: 3855   
    Display.readAndDispatch() line: 3476   
    Workbench.runEventLoop(Window$IExceptionHandler, Display) line: 2405   
    Workbench.runUI() line: 2369   
    Workbench.access$4(Workbench) line: 2221   
    Workbench$5.run() line: 500   
    Realm.runWithDefault(Realm, Runnable) line: 332   
    Workbench.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 493   
    PlatformUI.createAndRunWorkbench(Display, WorkbenchAdvisor) line: 149   
    IDEApplication.start(IApplicationContext) line: 113   
    UITestApplication.start(IApplicationContext) line: 46   
    EclipseAppHandle.run(Object) line: 194   
    EclipseAppLauncher.runApplication(Object) line: 110   
    EclipseAppLauncher.start(Object) line: 79   
    EclipseStarter.run(Object) line: 368   
    EclipseStarter.run(String[], Runnable) line: 179   
    NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]   
    NativeMethodAccessorImpl.invoke(Object, Object[]) line: not available   
    DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: not available   
    Method.invoke(Object, Object...) line: not available   
    Main.invokeFramework(String[], URL[]) line: 559   
    Main.basicRun(String[]) line: 514   
    Main.run(String[]) line: 1311   
    Main.main(String[]) line: 1287   


And here is the Null Pointer Exception

java.lang.NullPointerException
    at org.eclipse.equinox.internal.provisional.p2.engine.Engine.perform(Engine.java:42)
    at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:41)
    at org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:23)
    at org.eclipse.equinox.p2.tests.planner.AgentPlanTestInRunningInstance.tearDown(AgentPlanTestInRunningInstance.java:71)
    at junit.framework.TestCase.runBare(TestCase.java:136)
    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 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:134)
    at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3855)
    at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3476)
    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.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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1287)