[infinispan-issues] [JBoss JIRA] (ISPN-3218) TypeConverterInterceptor throwing NPE in distributed compatibility mode

Galder Zamarreño (JIRA) jira-events at lists.jboss.org
Wed Jun 12 10:58:54 EDT 2013


    [ https://issues.jboss.org/browse/ISPN-3218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12781204#comment-12781204 ] 

Galder Zamarreño commented on ISPN-3218:
----------------------------------------

Hmmmm, weird. That NPE comes from converter being null. determineTypeConverter() does not return null unless one of the cached converters is null, which might be if the TypeConverter instances were not loaded correctly by the service loader in the constructor. I'm gonna try to run that branch to see if I can find out more...
                
> TypeConverterInterceptor throwing NPE in distributed compatibility mode
> -----------------------------------------------------------------------
>
>                 Key: ISPN-3218
>                 URL: https://issues.jboss.org/browse/ISPN-3218
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Server
>    Affects Versions: 5.3.0.CR1
>            Reporter: Martin Gencur
>            Assignee: Tristan Tarrant
>            Priority: Critical
>             Fix For: 5.3.0.Final
>
>         Attachments: standalone-compatibility-mode.xml
>
>
> The following test fails for the server in DIST mode when in compatibility mode. It does not happen in normal DIST mode:
> {code:java}
>  @Test
>    public void testHotRodPutRestGetTest() throws Exception {
>       final String key = "1";
>       // 1. Put with Hot Rod
>       RemoteCache<String, byte[]> remote = getHotRodCache();
>       assertEquals(null, remote.withFlags(Flag.FORCE_RETURN_VALUE).put(key, "v1".getBytes()));
> //^^^^this put operation fails 
>       assertArrayEquals("v1".getBytes(), remote.get(key));
>       // 2. Get with REST
>       HttpMethod get = new GetMethod(getRestUrl() + "/" + key);
>       getRestClient().executeMethod(get);
>       assertEquals(HttpServletResponse.SC_OK, get.getStatusCode());
>       assertEquals("v1".getBytes(), get.getResponseBody());
>    }
> {code}
> ISPN version: bfa10c4 - okdalvi, 2 days ago : Update BasicCache.java
> ISPN server version: cb6ef3a - Tristan Tarrant, 5 days ago : ISPN-3207 Add a top-level README
> Stacktrace:
> {code}
> 14:35:51,294 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (HotRodServerWorker-163) ISPN000136: Execution error: java.lang.NullPointerException
> 	at org.infinispan.interceptors.compat.TypeConverterInterceptor.visitPutKeyValueCommand(TypeConverterInterceptor.java:71) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:120) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:128) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:92) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.commands.AbstractVisitor.visitPutKeyValueCommand(AbstractVisitor.java:54) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.commands.write.PutKeyValueCommand.acceptVisitor(PutKeyValueCommand.java:83) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:343) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.CacheImpl.executeCommandAndCommitIfNeeded(CacheImpl.java:1337) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.CacheImpl.putInternal(CacheImpl.java:898) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.CacheImpl.put(CacheImpl.java:890) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.DecoratedCache.put(DecoratedCache.java:489) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.AbstractDelegatingAdvancedCache.put(AbstractDelegatingAdvancedCache.java:208) [infinispan-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.server.core.AbstractProtocolDecoder.put(AbstractProtocolDecoder.scala:203) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.server.core.AbstractProtocolDecoder.decodeValue(AbstractProtocolDecoder.scala:160) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:75) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.infinispan.server.core.AbstractProtocolDecoder.decode(AbstractProtocolDecoder.scala:49) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.callDecode(ReplayingDecoder.java:500) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.handler.codec.replay.ReplayingDecoder.messageReceived(ReplayingDecoder.java:435) [netty-3.6.5.Final.jar:]
> 	at org.infinispan.server.core.AbstractProtocolDecoder.messageReceived(AbstractProtocolDecoder.scala:394) [infinispan-server-core-5.3.0-SNAPSHOT.jar:5.3.0-SNAPSHOT]
> 	at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:559) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:268) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:255) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:88) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.process(AbstractNioWorker.java:107) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.socket.nio.AbstractNioSelector.run(AbstractNioSelector.java:312) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.socket.nio.AbstractNioWorker.run(AbstractNioWorker.java:88) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:178) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108) [netty-3.6.5.Final.jar:]
> 	at org.jboss.netty.util.internal.DeadLockProofWorker$1.run(DeadLockProofWorker.java:42) [netty-3.6.5.Final.jar:]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_17]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_17]
> 	at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_17]
> {code}
> The branch with the test can be found at https://github.com/mgencur/infinispan-server/tree/ISPN-3176/compatibility_tests (run it with "mvn clean verify")

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the infinispan-issues mailing list