| Summary: | [JMS][activemq][remotesrvs] NPE in RegistrySharedObject.fireRemoteServiceListeners when containerId is null | ||
|---|---|---|---|
| Product: | [RT] ECF | Reporter: | Markus Kuppe <bugs.eclipse.org> |
| Component: | ecf.remoteservices | Assignee: | Scott Lewis <slewis> |
| Status: | CLOSED WORKSFORME | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | slewis |
| Version: | unspecified | ||
| Target Milestone: | 3.4.0 | ||
| Hardware: | PC | ||
| OS: | Linux | ||
| Whiteboard: | |||
Does this happen consistently on tear-down, or only occasionally? Is it with latest from HEAD? (the line numbers from stack trace don't seem to line up for my copy from HEAD) Does this show with any other providers than the JMS provider? I've committed and released to HEAD a fix that should eliminate this NPE...by improving the shutdown/cleanup code. Please let me know about the questions and if the applied fixes deal with the issue...and then I'll resolve. Latest HEAD does not show this behavior anymore. |
[log;+0200 2010.09.15 13:43:43:898;ERROR;org.eclipse.ecf.osgi.services.distribution;org.eclipse.core.runtime.Status[plugin=org.eclipse.ecf.osgi.services.distribution;code=4;message=org.eclipse.ecf.internal.osgi.services.distribution.EventHookImpl:fireRemoteServiceUnregistered:Exception unregistering remote registration=RemoteServiceRegistrationImpl[remoteServiceID=org.eclipse.ecf.remoteservice.RemoteServiceID[containerID=JMSID[vm://localhost/?broker.persistent=false];containerRelativeID=7];containerID=JMSID[vm://localhost/?broker.persistent=false];serviceid=7;serviceranking=0;classes=[org.eclipse.ecf.tests.osgi.services.distribution.TestServiceInterface1];state=0;properties={ecf.rsvc.id=7}];severity4;exception=java.lang.NullPointerException;children=[]]] java.lang.NullPointerException at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.fireRemoteServiceListeners(RegistrySharedObject.java:556) at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject.sendUnregister(RegistrySharedObject.java:1214) at org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceRegistrationImpl.unregister(RemoteServiceRegistrationImpl.java:123) at org.eclipse.ecf.internal.osgi.services.distribution.EventHookImpl.fireRemoteServiceUnregistered(EventHookImpl.java:412) at org.eclipse.ecf.internal.osgi.services.distribution.EventHookImpl.handleUnregisteringServiceEvent(EventHookImpl.java:512) at org.eclipse.ecf.internal.osgi.services.distribution.EventHookImpl.event(EventHookImpl.java:65) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.notifyEventHooksPrivileged(ServiceRegistry.java:1143) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:743) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:711) at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.unregister(ServiceRegistrationImpl.java:225) at org.eclipse.ecf.tests.osgi.services.distribution.AbstractRemoteServiceAccessTest.tearDown(AbstractRemoteServiceAccessTest.java:41) at org.eclipse.ecf.tests.osgi.services.distribution.AbstractServiceRegisterListenerTest.tearDown(AbstractServiceRegisterListenerTest.java:83) at org.eclipse.ecf.tests.provider.jms.activemq.remoteservice.ActiveMQServiceRegisterListenerTest.tearDown(ActiveMQServiceRegisterListenerTest.java:57) at junit.framework.TestCase.runBare(TestCase.java:140) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) 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.CoreTestApplication.run(CoreTestApplication.java:23) 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.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) 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:369) 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: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)