Community
Participate
Working Groups
I've done an update of PTP on trunk after 5PM (July 1st) and I get this NPE when shutting down Eclipse. java.lang.NullPointerException at org.eclipse.ptp.ui.managers.MachineManager.removeNode(MachineManager.java:261) at org.eclipse.ptp.ui.views.ParallelMachinesView$MachineChildListener$2.run(ParallelMachinesView.java:169) at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42) at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49) at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:175) at org.eclipse.ptp.ui.UIUtils$7.run(UIUtils.java:194) at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:179) at org.eclipse.swt.widgets.Display.syncExec(Display.java:4233) at org.eclipse.ptp.ui.UIUtils.safeRunSyncInUIThread(UIUtils.java:192) at org.eclipse.ptp.ui.views.ParallelMachinesView$MachineChildListener.handleEvent(ParallelMachinesView.java:158) at org.eclipse.ptp.internal.core.elements.PMachine.fireRemoveNodes(PMachine.java:281) at org.eclipse.ptp.internal.core.elements.PMachine.removeNodes(PMachine.java:210) at org.eclipse.ptp.rmsystem.AbstractResourceManager.removeMachines(AbstractResourceManager.java:1117) at org.eclipse.ptp.rmsystem.AbstractResourceManager.cleanUp(AbstractResourceManager.java:816) at org.eclipse.ptp.rmsystem.AbstractRuntimeResourceManager.handleEvent(AbstractRuntimeResourceManager.java:783) at org.eclipse.ptp.rtsystem.AbstractRuntimeSystem.fireRuntimeShutdownStateEvent(AbstractRuntimeSystem.java:279) at org.eclipse.ptp.rm.core.rtsystem.AbstractToolRuntimeSystem.shutdown(AbstractToolRuntimeSystem.java:507) at org.eclipse.ptp.rmsystem.AbstractRuntimeResourceManager.doShutdown(AbstractRuntimeResourceManager.java:968) at org.eclipse.ptp.rmsystem.AbstractResourceManager.shutdown(AbstractResourceManager.java:577) at org.eclipse.ptp.internal.core.ModelManager.stopResourceManagers(ModelManager.java:356) at org.eclipse.ptp.internal.core.ModelManager.shutdown(ModelManager.java:334) at org.eclipse.ptp.core.PTPCorePlugin.stop(PTPCorePlugin.java:226) at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:843) at java.security.AccessController.doPrivileged(Native Method) at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:836) at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:501) at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:550) at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1097) at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:597) at org.eclipse.osgi.framework.internal.core.StartLevelManager.doSetStartLevel(StartLevelManager.java:257) at org.eclipse.osgi.framework.internal.core.StartLevelManager.shutdown(StartLevelManager.java:215) at org.eclipse.osgi.framework.internal.core.InternalSystemBundle.suspend(InternalSystemBundle.java:266) at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:690) at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:588) at org.eclipse.core.runtime.adaptor.EclipseStarter.shutdown(EclipseStarter.java:415) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:198) 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:619) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574) at org.eclipse.equinox.launcher.Main.run(Main.java:1407) at org.eclipse.equinox.launcher.Main.main(Main.java:1383)
Do you see this every time you shut down? What RM are you using?
Every time I shut down Eclipse with a resource manager that is in Running state. I use OpenMPI at this time.
It appears that removeNode is getting called after its corresponding machine has already been removed. I'm not sure if this is a problem, but I've added a null pointer check which should prevent the NPE. Fix applied to 4.0 and HEAD.