Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 333775 - NPE when removing resource listener during shutdown on Eclipse 4.x
Summary: NPE when removing resource listener during shutdown on Eclipse 4.x
Status: NEW
Alias: None
Product: WTP ServerTools
Classification: WebTools
Component: wst.server (show other bugs)
Version: 3.3   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: wst.server CLA
QA Contact: Angel Vera CLA
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-01-07 12:55 EST by Remy Suen CLA
Modified: 2012-02-16 15:35 EST (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2011-01-07 12:55:57 EST
Not clear to me why the listener is 'null' because the logs do not hint at another problem related to the server plug-in. It might still be worth protecting the code in case the initialization process fails and the listener is 'null'.

org.eclipse.core.runtime.AssertionFailedException: null argument:
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
at org.eclipse.core.internal.events.ResourceChangeListenerList.remove(ResourceChangeListenerList.java:146)
at org.eclipse.core.internal.events.NotificationManager.removeListener(NotificationManager.java:305)
at org.eclipse.core.internal.resources.Workspace.removeResourceChangeListener(Workspace.java:2272)
at org.eclipse.wst.server.core.internal.ResourceManager.shutdownImpl(ResourceManager.java:367)
at org.eclipse.wst.server.core.internal.ResourceManager.shutdown(ResourceManager.java:313)
at org.eclipse.wst.server.core.internal.ServerPlugin.stop(ServerPlugin.java:367)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$2.run(BundleContextImpl.java:771)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.stop(BundleContextImpl.java:764)
at org.eclipse.osgi.framework.internal.core.BundleHost.stopWorker(BundleHost.java:509)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.suspend(AbstractBundle.java:553)
at org.eclipse.osgi.framework.internal.core.Framework.suspendBundle(Framework.java:1141)
at org.eclipse.osgi.framework.internal.core.StartLevelManager.decFWSL(StartLevelManager.java:595)
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:284)
at org.eclipse.osgi.framework.internal.core.Framework.shutdown(Framework.java:691)
at org.eclipse.osgi.framework.internal.core.Framework.close(Framework.java:598)
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(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:622)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
Comment 1 Michael Rennie CLA 2011-02-28 12:07:54 EST
Just encountered this using Windows 7 64bit

Version: 3.7.0
Build id: I20110224-1726
Comment 2 Yevgeny Shifrin CLA 2012-02-16 15:35:25 EST
Hi,

I've seen this exception on WIN7 32 bit a few days ago.

Version: Helios Service Release 2
Build id: 20110218-0911


Error during shutdown
org.eclipse.core.runtime.AssertionFailedException: null argument:
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:85)
at org.eclipse.core.runtime.Assert.isNotNull(Assert.java:73)
at org.eclipse.core.internal.events.ResourceChangeListenerList.remove(ResourceChangeListenerList.java:146)
at org.eclipse.core.internal.events.NotificationManager.removeListener(NotificationManager.java:305)
at org.eclipse.core.internal.resources.Workspace.removeResourceChangeListener(Workspace.java:1934)
at org.eclipse.wst.server.core.internal.ResourceManager.shutdownImpl(ResourceManager.java:367)
at org.eclipse.wst.server.core.internal.ResourceManager.shutdown(ResourceManager.java:313)
at org.eclipse.wst.server.core.internal.ServerPlugin.stop(ServerPlugin.java:367)
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(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:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)