NullPointerException in LookupCacheImpl.notifyServiceMap
--------------------------------------------------------
Key: RIVER-402
URL: https://issues.apache.org/jira/browse/RIVER-402
Project: River
Issue Type: Bug
Components: net_jini_lookup
Affects Versions: River_2.1.2
Reporter: Neil Ferguson
One of our automated tests fails periodically (roughly 1 in 5 times), due to
the ServiceDiscoveryListener.serviceRemoved method not getting called
sometimes. This seems to be due to a NullPointerException in
LookupCacheImpl.notifyServiceMap, which seems to be triggered by us calling
JoinManager.terminate. This is on Apache River 2.2.0.
Exception as follows:
java.lang.NullPointerException: null
at
net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl.notifyServiceMap(ServiceDiscoveryManager.java:1890)
~[jini-ext-2.2.0.jar:na]
at
net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl.access$300(ServiceDiscoveryManager.java:843)
~[jini-ext-2.2.0.jar:na]
at
net.jini.lookup.ServiceDiscoveryManager$LookupCacheImpl$LookupListener.notify(ServiceDiscoveryManager.java:859)
~[jini-ext-2.2.0.jar:na]
at sun.reflect.GeneratedMethodAccessor42.invoke(Unknown Source) ~[na:na]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
~[na:1.6.0_27]
at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_27]
at
net.jini.jeri.BasicInvocationDispatcher.invoke(BasicInvocationDispatcher.java:1126)
~[jini-ext-2.2.0.jar:na]
at
net.jini.jeri.BasicInvocationDispatcher.dispatch(BasicInvocationDispatcher.java:608)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.jeri.internal.runtime.Target$2.run(Target.java:487)
~[jini-ext-2.2.0.jar:na]
at
net.jini.export.ServerContext.doWithServerContext(ServerContext.java:103)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:484)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.jeri.internal.runtime.Target.access$000(Target.java:57)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.jeri.internal.runtime.Target$1.run(Target.java:464)
~[jini-ext-2.2.0.jar:na]
at
com.sun.jini.start.AggregatePolicyProvider$AggregateSecurityContext$2.run(AggregatePolicyProvider.java:527)
~[start-2.2.0.jar:na]
at java.security.AccessController.doPrivileged(Native Method)
~[na:1.6.0_27]
at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:461)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.jeri.internal.runtime.Target.dispatch(Target.java:426)
~[jini-ext-2.2.0.jar:na]
at
com.sun.jini.jeri.internal.runtime.DgcRequestDispatcher.dispatch(DgcRequestDispatcher.java:210)
~[jini-ext-2.2.0.jar:na]
at
net.jini.jeri.connection.ServerConnectionManager$Dispatcher.dispatch(ServerConnectionManager.java:147)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.jeri.internal.mux.MuxServer$1$1.run(MuxServer.java:244)
~[jini-ext-2.2.0.jar:na]
at
com.sun.jini.start.AggregatePolicyProvider$AggregateSecurityContext$1.run(AggregatePolicyProvider.java:513)
~[start-2.2.0.jar:na]
at java.security.AccessController.doPrivileged(Native Method)
~[na:1.6.0_27]
at com.sun.jini.jeri.internal.mux.MuxServer$1.run(MuxServer.java:241)
~[jini-ext-2.2.0.jar:na]
at com.sun.jini.thread.ThreadPool$Worker.run(ThreadPool.java:136)
~[jini-ext-2.2.0.jar:na]
at java.lang.Thread.run(Thread.java:662) ~[na:1.6.0_27]
at
com.sun.jini.jeri.internal.runtime.Util.__________EXCEPTION_RECEIVED_FROM_SERVER__________(Util.java:108)
~[jini-ext-2.2.0.jar:na]
at
com.sun.jini.jeri.internal.runtime.Util.exceptionReceivedFromServer(Util.java:101)
~[jini-ext-2.2.0.jar:na]
at
net.jini.jeri.BasicInvocationHandler.unmarshalThrow(BasicInvocationHandler.java:1303)
~[jini-ext-2.2.0.jar:na]
at
net.jini.jeri.BasicInvocationHandler.invokeRemoteMethodOnce(BasicInvocationHandler.java:832)
~[jini-ext-2.2.0.jar:na]
at
net.jini.jeri.BasicInvocationHandler.invokeRemoteMethod(BasicInvocationHandler.java:659)
~[jini-ext-2.2.0.jar:na]
at
net.jini.jeri.BasicInvocationHandler.invoke(BasicInvocationHandler.java:528)
~[jini-ext-2.2.0.jar:na]
at $Proxy28.notify(Unknown Source) ~[na:na]
at
com.sun.jini.reggie.RegistrarImpl$EventTask.run(RegistrarImpl.java:1863)
~[reggie-2.2.0.jar:na]
at com.sun.jini.thread.TaskManager$TaskThread.run(TaskManager.java:331)
[jini-ext-2.2.0.jar:na]
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira