[infinispan-issues] [JBoss JIRA] (ISPN-7308) Kryo marshaller throws ArrayIndexOutOfBoundsException when storing String values

Ryan Emerson (JIRA) issues at jboss.org
Thu Dec 15 07:05:00 EST 2016


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

Ryan Emerson commented on ISPN-7308:
------------------------------------

[~rmacor]I believe that this is a result of insufficient memory, is it possible to increase the heap size when running the experiments to see if this resolves the problem? 

I found the following in the logs which corresponds with the experience of [others|https://github.com/EsotericSoftware/kryo/issues/448]:
{code:java}
Exception in thread "Stressor-9" java.lang.OutOfMemoryError: Java heap space
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.resize(IdentityObjectIntMap.java:542)
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.putStash(IdentityObjectIntMap.java:304)
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.push(IdentityObjectIntMap.java:298)
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.putResize(IdentityObjectIntMap.java:208)
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.resize(IdentityObjectIntMap.java:550)
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.push(IdentityObjectIntMap.java:277)
	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.put(IdentityObjectIntMap.java:161)
	at com.esotericsoftware.kryo.util.MapReferenceResolver.addWrittenObject(MapReferenceResolver.java:41)
	at com.esotericsoftware.kryo.Kryo.writeReferenceOrNull(Kryo.java:681)
	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:646)
	at org.infinispan.marshaller.kryo.KryoMarshaller.objectToBuffer(KryoMarshaller.java:58)
	at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:70)
	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.obj2bytes(RemoteCacheImpl.java:498)
	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.get(RemoteCacheImpl.java:355)
	at org.radargun.service.HotRodOperations$HotRodCache.get(HotRodOperations.java:71)
	at org.radargun.stages.cache.test.CacheInvocations$Get.invoke(CacheInvocations.java:35)
	at org.radargun.stages.test.legacy.LegacyStressor.makeRequest(LegacyStressor.java:173)
	at org.radargun.stages.test.legacy.LegacyStressor.makeRequest(LegacyStressor.java:148)
	at org.radargun.stages.cache.test.legacy.BasicOperationsTestStage$Logic.run(BasicOperationsTestStage.java:111)
	at org.radargun.stages.test.legacy.LegacyStressor.runInternal(LegacyStressor.java:124)
	at org.radargun.stages.test.legacy.LegacyStressor.run(LegacyStressor.java:70)
{code}


> Kryo marshaller throws ArrayIndexOutOfBoundsException when storing String values
> --------------------------------------------------------------------------------
>
>                 Key: ISPN-7308
>                 URL: https://issues.jboss.org/browse/ISPN-7308
>             Project: Infinispan
>          Issue Type: Bug
>          Components: Marshalling
>    Affects Versions: 9.0.0.Beta1
>            Reporter: Roman Macor
>            Assignee: Ryan Emerson
>
> Storing String values using Kryo marshaller sometimes throws Index out of bounds warning:
> WARN  [org.radargun.stages.cache.test.LoadStage] (Loader-4) Attempt 1/10 to insert entry into cache failed, waiting 1000 ms before next attempt
> java.lang.ArrayIndexOutOfBoundsException: 64
> 	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.putStash(IdentityObjectIntMap.java:310) ~[kryo-4.0.0.jar:?]
> 	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.push(IdentityObjectIntMap.java:298) ~[kryo-4.0.0.jar:?]
> 	at com.esotericsoftware.kryo.util.IdentityObjectIntMap.put(IdentityObjectIntMap.java:161) ~[kryo-4.0.0.jar:?]
> 	at com.esotericsoftware.kryo.util.MapReferenceResolver.addWrittenObject(MapReferenceResolver.java:41) ~[kryo-4.0.0.jar:?]
> 	at com.esotericsoftware.kryo.Kryo.writeReferenceOrNull(Kryo.java:681) ~[kryo-4.0.0.jar:?]
> 	at com.esotericsoftware.kryo.Kryo.writeClassAndObject(Kryo.java:646) ~[kryo-4.0.0.jar:?]
> 	at org.infinispan.marshaller.kryo.KryoMarshaller.objectToBuffer(KryoMarshaller.java:58) ~[infinispan-marshaller-kryo-9.0.0-SNAPSHOT.jar:9.0.0-SNAPSHOT]
> 	at org.infinispan.commons.marshall.AbstractMarshaller.objectToByteBuffer(AbstractMarshaller.java:70) ~[infinispan-commons-9.0.0-SNAPSHOT.jar:9.0.0-SNAPSHOT]
> 	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.obj2bytes(RemoteCacheImpl.java:498) ~[infinispan-client-hotrod-9.0.0-SNAPSHOT.jar:9.0.0-SNAPSHOT]
> 	at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:270) ~[infinispan-client-hotrod-9.0.0-SNAPSHOT.jar:9.0.0-SNAPSHOT]
> 	at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:79) ~[infinispan-client-hotrod-9.0.0-SNAPSHOT.jar:9.0.0-SNAPSHOT]
> 	at org.radargun.service.HotRodOperations$HotRodCache.put(HotRodOperations.java:83) ~[plugin-infinispan52-3.0.0-SNAPSHOT.jar:?]
> 	at org.radargun.stages.cache.test.LoadStage$NonTxLoader.loadDataUnit(LoadStage.java:275) [radargun-cache-3.0.0-SNAPSHOT.jar:?]
> 	at org.radargun.stages.test.LoadStage$Loader.run(LoadStage.java:125) [radargun-core-3.0.0-SNAPSHOT.jar:?



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the infinispan-issues mailing list