[
https://issues.jboss.org/browse/ISPN-4945?page=com.atlassian.jira.plugin....
]
RH Bugzilla Integration commented on ISPN-4945:
-----------------------------------------------
Tristan Tarrant <ttarrant(a)redhat.com> changed the Status of [bug
1162199|https://bugzilla.redhat.com/show_bug.cgi?id=1162199] from NEW to ASSIGNED
Remote listener can fail with NPE
---------------------------------
Key: ISPN-4945
URL:
https://issues.jboss.org/browse/ISPN-4945
Project: Infinispan
Issue Type: Bug
Components: Server
Affects Versions: 7.0.0.Final
Reporter: Vojtech Juranek
Assignee: Galder ZamarreƱo
Priority: Critical
Fix For: 7.0.1.Final
When event sender generates the event, it access metadata which can be {{null}} and thus
it fails with NPE:
{noformat}
[0m[31m09:46:22,182 ERROR [org.infinispan.interceptors.InvocationContextInterceptor]
(HotRodServerWorker-7-17) ISPN000136: Execution error:
org.infinispan.commons.CacheListenerException: ISPN000280: Caught exception
[java.lang.NullPointerException] while invoking method [public void
org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(org.infinispan.notifications.cachelistener.event.CacheEntryEvent)]
on listener instance:
org.infinispan.server.hotrod.ClientListenerRegistry$StatelessClientEventSender@2a39f240
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:286)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:22)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl.invoke(AbstractListenerImpl.java:304)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.doRealInvocation(CacheNotifierImpl.java:986)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invokeNoChecks(CacheNotifierImpl.java:981)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl$BaseCacheEntryListenerInvocation.invoke(CacheNotifierImpl.java:962)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryRemoved(CacheNotifierImpl.java:278)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.locking.ClusteringDependentLogic$AbstractClusteringDependentLogic.notifyCommitEntry(ClusteringDependentLogic.java:111)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.locking.ClusteringDependentLogic$DistributionLogic.commitEntry(ClusteringDependentLogic.java:475)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntry(EntryWrappingInterceptor.java:359)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.EntryWrappingInterceptor.commitEntryIfNeeded(EntryWrappingInterceptor.java:577)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.EntryWrappingInterceptor.commitContextEntries(EntryWrappingInterceptor.java:336)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:410)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.EntryWrappingInterceptor.setSkipRemoteGetsAndInvokeNextForDataCommand(EntryWrappingInterceptor.java:464)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.EntryWrappingInterceptor.visitRemoveCommand(EntryWrappingInterceptor.java:234)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.locking.NonTransactionalLockingInterceptor.visitRemoveCommand(NonTransactionalLockingInterceptor.java:83)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:112)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.statetransfer.StateTransferInterceptor.handleNonTxWriteCommand(StateTransferInterceptor.java:172)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.statetransfer.StateTransferInterceptor.visitRemoveCommand(StateTransferInterceptor.java:110)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.CacheMgmtInterceptor.visitRemoveCommand(CacheMgmtInterceptor.java:166)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:98)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:102)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:71)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.AbstractVisitor.visitRemoveCommand(AbstractVisitor.java:38)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.commands.write.RemoveCommand.acceptVisitor(RemoveCommand.java:58)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:333)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.cache.impl.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1492)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.cache.impl.CacheImpl.removeInternal(CacheImpl.java:504)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:497)
[infinispan-core.jar:7.0.0.CR1]
at org.infinispan.cache.impl.CacheImpl.remove(CacheImpl.java:492)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.cache.impl.AbstractDelegatingCache.remove(AbstractDelegatingCache.java:287)
[infinispan-core.jar:7.0.0.CR1]
at
org.infinispan.server.core.AbstractProtocolDecoder.remove(AbstractProtocolDecoder.scala:322)
[infinispan.jar:7.0.0.CR1]
at
org.infinispan.server.core.AbstractProtocolDecoder.handleModification(AbstractProtocolDecoder.scala:179)
[infinispan.jar:7.0.0.CR1]
at
org.infinispan.server.core.AbstractProtocolDecoder.org$infinispan$server$core$AbstractProtocolDecoder$$decodeKey(AbstractProtocolDecoder.scala:166)
[infinispan.jar:7.0.0.CR1]
at
org.infinispan.server.core.AbstractProtocolDecoder.decodeDispatch(AbstractProtocolDecoder.scala:71)
[infinispan.jar:7.0.0.CR1]
at
org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:61)
[infinispan.jar:7.0.0.CR1]
at io.netty.handler.codec.ReplayingDecoder.callDecode(ReplayingDecoder.java:362)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at
org.infinispan.server.core.AbstractProtocolDecoder.channelRead(AbstractProtocolDecoder.scala:471)
[infinispan.jar:7.0.0.CR1]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:332)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:318)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:125)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:507)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:464)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:378)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:350)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
[netty-all-4.0.20.Final.jar:4.0.20.Final]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_67]
Caused by: java.lang.NullPointerException
at
org.infinispan.server.hotrod.ClientListenerRegistry$BaseClientEventSender.onCacheEvent(ClientListenerRegistry.scala:161)
[infinispan.jar:7.0.0.CR1]
at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) [:1.7.0_67]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[rt.jar:1.7.0_67]
at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_67]
at
org.infinispan.notifications.impl.AbstractListenerImpl$ListenerInvocationImpl$1.run(AbstractListenerImpl.java:281)
[infinispan-core.jar:7.0.0.CR1]
... 62 more
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.8#6338)