[infinispan-dev] infinispan NPE

Galder Zamarreño galder at redhat.com
Mon Jan 7 12:18:47 EST 2013


@Vladimir, maybe a bug in newTaskFor() implementation of the localExecutorService used which somehow returns null?

@Vladimir/@Ales, did you guys work together so that Vladimir can replicate the issue locally or in OpenShift? That way you can add logging, use a debugger…etc

Cheers,

On Jan 4, 2013, at 10:40 AM, Vladimir Blagojevic <vblagoje at redhat.com> wrote:

> Ales,
> 
> I am totally puzzled how is this possible, never seen it before. In 
> order for DefaultExecutorService to fail on line 950 with NPE, the 
> underlying Future field of DistributedTaskPart has to be set to null. 
> Future field is set only in two places, if task is executed locally [1] 
> or remotely [2]. However, in both cases how can a Callable submitted to 
> a JDK provided ExecutorService return null?
> 
> [1] 
> https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/distexec/DefaultExecutorService.java#L1110
> [2] 
> https://github.com/infinispan/infinispan/blob/master/core/src/main/java/org/infinispan/remoting/rpc/RpcManagerImpl.java#L305
> 
> Would appreciate additional set of eyes and a sufficiently caffeinated head.
> 
> Regards,
> Vladimir
> 
> On 13-01-03 9:32 PM, Ales Justin wrote:
>> @Vladimir: any idea why the NPE?
>> 
>>> OpenShift only, it occurs on a sequence of requests with no delay between them.
>>> 
>>> 
>>> Matej.
>>> 
>>> 
>>> 
>>> 
>>> On 03/01/13 20:58, Ales Justin wrote:
>>>> Can you reproduce this locally?
>>>> Or OpenShift only?
>>>> 
>>>> Sent from my iPad
>>>> 
>>>> On Jan 3, 2013, at 20:01, Matej Lazar <matejonnet at gmail.com> wrote:
>>>> 
>>>>> The same error with replaced infinispan-core.jar
>>>>> 
>>>>> 
>>>>> Matej.
>>>>> 
>>>>> 
>>>>> On 03/01/13 18:01, Ales Justin wrote:
>>>>>> Can you try with Ispn 5.2.Beta6 -- it's already updated in upstream?
>>>>>> 
>>>>>> On Jan 3, 2013, at 5:54 PM, Matej Lazar <matejonnet at gmail.com> wrote:
>>>>>> 
>>>>>>> Single node with our ToDo sample on OpenShift while inserting new task:
>>>>>>> 
>>>>>>> 
>>>>>>> 11:49:29,088 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (http-127.4.92.129/127.4.92.129:8080-56) ISPN000136: Execution error: org.infinispan.CacheException: Caught exception [java.lang.RuntimeException] while invoking method [public void org.jboss.capedwarf.datastore.notifications.AbstractPutRemoveCacheListener.onPut(org.infinispan.notifications.cachelistener.event.CacheEntryModifiedEvent)] on listener instance: org.jboss.capedwarf.datastore.ns.NamespaceListener at 1409af9
>>>>>>>   at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:205) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:44) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation.invoke(AbstractListenerImpl.java:221) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.notifications.cachelistener.CacheNotifierImpl.notifyCacheEntryModified(CacheNotifierImpl.java:160) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.perform(PutKeyValueCommand.java:115) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.CallInterceptor.handleDefault(CallInterceptor.java:110) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.ReplicationInterceptor.handleCrudMethod(ReplicationInterceptor.java:273) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.ReplicationInterceptor.visitPutKeyValueCommand(ReplicationInterceptor.java:244) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.CacheLoaderInterceptor.visitPutKeyValueCommand(CacheLoaderInterceptor.java:102) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.ActivationInterceptor.visitPutKeyValueCommand(ActivationInterceptor.java:70) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.EntryWrappingInterceptor.invokeNextAndApplyChanges(EntryWrappingInterceptor.java:211) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.EntryWrappingInterceptor.visitPutKeyValueCommand(EntryWrappingInterceptor.java:149) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.query.backend.QueryInterceptor.visitPutKeyValueCommand(QueryInterceptor.java:127)
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.locking.OptimisticLockingInterceptor.visitPutKeyValueCommand(OptimisticLockingInterceptor.java:142) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.TxInterceptor.enlistWriteAndInvokeNext(TxInterceptor.java:256) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.TxInterceptor.visitPutKeyValueCommand(TxInterceptor.java:194) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.statetransfer.StateTransferInterceptor.handleTopologyAffectedCommand(StateTransferInterceptor.java:209) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.statetransfer.StateTransferInterceptor.handleWriteCommand(StateTransferInterceptor.java:192) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.statetransfer.StateTransferInterceptor.visitPutKeyValueCommand(StateTransferInterceptor.java:135) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.CacheMgmtInterceptor.visitPutKeyValueCommand(CacheMgmtInterceptor.java:127) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:62) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:77) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1016) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.CacheImpl.put(CacheImpl.java:712) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.DecoratedCache.put(DecoratedCache.java:319) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.AbstractDelegatingCache.put(AbstractDelegatingCache.java:308) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.jboss.capedwarf.datastore.DatastoreServiceImpl.doPut(DatastoreServiceImpl.java:267) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.DatastoreServiceImpl.putInTx(DatastoreServiceImpl.java:216) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:154) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:141) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.AbstractDatastoreService$8.call(AbstractDatastoreService.java:153) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.AbstractDatastoreService$8.call(AbstractDatastoreService.java:151) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.CapedwarfDatastoreService$1.call(CapedwarfDatastoreService.java:72) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.common.threads.DirectFuture.getInternal(DirectFuture.java:144) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.common.threads.DirectFuture.get(DirectFuture.java:89) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.CapedwarfDatastoreService.unwrap(CapedwarfDatastoreService.java:83) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.CapedwarfDatastoreService.put(CapedwarfDatastoreService.java:134) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.CapedwarfDatastoreService.put(CapedwarfDatastoreService.java:130) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.log.CapedwarfLogService.requestStarted(CapedwarfLogService.java:252) [capedwarf-log-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.appidentity.GAEListener.requestInitialized(GAEListener.java:145) [capedwarf-appidentity-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:134) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at org.apache.coyote.http11.Http11NioProcessor.process(Http11NioProcessor.java:350) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:901) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at org.apache.tomcat.util.net.NioEndpoint$ChannelProcessor.run(NioEndpoint.java:1025) [jbossweb-7.2.0.Alpha5.jar:7.2.0.Alpha5]
>>>>>>>   at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.7.0_09-icedtea]
>>>>>>>   at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.7.0_09-icedtea]
>>>>>>>   at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_09-icedtea]
>>>>>>> Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
>>>>>>>   at org.jboss.capedwarf.common.infinispan.InfinispanUtils.submit(InfinispanUtils.java:84) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.notifications.AbstractCacheListener.executeCallable(AbstractCacheListener.java:67) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.notifications.AbstractCacheListener.executeCallable(AbstractCacheListener.java:48) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.ns.NamespaceListener.executeCallable(NamespaceListener.java:41) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.ns.NamespaceListener.onPostPut(NamespaceListener.java:49) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at org.jboss.capedwarf.datastore.notifications.AbstractPutRemoveCacheListener.onPut(AbstractPutRemoveCacheListener.java:48) [capedwarf-datastore-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   at sun.reflect.GeneratedMethodAccessor20.invoke(Unknown Source) [:1.7.0_09-icedtea]
>>>>>>>   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_09-icedtea]
>>>>>>>   at java.lang.reflect.Method.invoke(Method.java:601) [rt.jar:1.7.0_09-icedtea]
>>>>>>>   at org.infinispan.notifications.AbstractListenerImpl$ListenerInvocation$1.run(AbstractListenerImpl.java:200) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   ... 79 more
>>>>>>> Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
>>>>>>>   at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:950) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.get(DefaultExecutorService.java:898) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   at org.jboss.capedwarf.common.infinispan.InfinispanUtils.submit(InfinispanUtils.java:82) [capedwarf-common-1.0.0-SNAPSHOT.jar:1.0.0-SNAPSHOT]
>>>>>>>   ... 88 more
>>>>>>> Caused by: java.lang.NullPointerException
>>>>>>>   at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.innerGet(DefaultExecutorService.java:935) [infinispan-core-5.2.0.Beta5.jar:5.2.0.Beta5]
>>>>>>>   ... 90 more
>>>>>>> 
>>>>>>> --
>>>>> -- 
>>>>> 
>>>>> 
>>>>> 
>>> -- 
>>> 
>>> 
>>> 
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev


--
Galder Zamarreño
galder at redhat.com
twitter.com/galderz

Project Lead, Escalante
http://escalante.io

Engineer, Infinispan
http://infinispan.org




More information about the infinispan-dev mailing list