[
https://jira.jboss.org/browse/ISPN-630?page=com.atlassian.jira.plugin.sys...
]
Galder Zamarreño commented on ISPN-630:
---------------------------------------
This smells like some sort of issue in JBoss Marshalling. The code in ConstantObjectTable
is very simple in this area: On startup writers and readers are set accordingly and are
never modified again. If writers returns a non null, JBMAR writes it as a predefined
object which is then read and resolved via the reader.
I think we should add some logging to Infinispan ConstantObjectTable and JBoss Marshalling
to get a better idea of where things are going wrong (I can do this based on the info I
have so far). Then, if you Sanne can run the tests with this added logging and you can
enable TRACE in the right classes, we should be able to get more info on the issue.
Finally, using this info we might be able to either build a unit test or improve the
stress test you have to replicate this scenario.
WDYT?
NullPointerException during object unmarshalling
------------------------------------------------
Key: ISPN-630
URL:
https://jira.jboss.org/browse/ISPN-630
Project: Infinispan
Issue Type: Bug
Components: Marshalling
Affects Versions: 4.1.0.Final
Reporter: Sanne Grinovero
Assignee: Galder Zamarreño
Fix For: 4.2.0.BETA1, 5.0.0.BETA1
It appears the ExternalizerAdapter was not added to the readers, or that
input.readUnsignedByte() reads a wrong identifier value.
Not easy to reproduce, get this sometimes under load:
Exception in thread "Scarlet/Lucene service thread index reopening thread-1"
java.lang.NullPointerException
at
org.infinispan.marshall.jboss.ConstantObjectTable.readObject(ConstantObjectTable.java:253)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:357)
at
org.jboss.marshalling.river.RiverUnmarshaller.doReadObject(RiverUnmarshaller.java:207)
at org.jboss.marshalling.AbstractUnmarshaller.readObject(AbstractUnmarshaller.java:85)
at
org.infinispan.marshall.jboss.GenericJBossMarshaller.objectFromObjectStream(GenericJBossMarshaller.java:162)
at
org.infinispan.marshall.VersionAwareMarshaller.objectFromByteBuffer(VersionAwareMarshaller.java:111)
at
org.infinispan.marshall.AbstractStreamingMarshaller.objectFromInputStream(AbstractStreamingMarshaller.java:23)
at org.infinispan.loaders.jdbc.JdbcUtil.unmarshall(JdbcUtil.java:88)
at
org.infinispan.loaders.jdbc.stringbased.JdbcStringBasedCacheStore.loadLockSafe(JdbcStringBasedCacheStore.java:298)
at org.infinispan.loaders.LockSupportCacheStore.load(LockSupportCacheStore.java:100)
at
org.infinispan.loaders.decorators.AbstractDelegatingStore.load(AbstractDelegatingStore.java:86)
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeeded(CacheLoaderInterceptor.java:138)
at
org.infinispan.interceptors.CacheLoaderInterceptor.loadIfNeededAndUpdateStats(CacheLoaderInterceptor.java:200)
at
org.infinispan.interceptors.CacheLoaderInterceptor.visitGetKeyValueCommand(CacheLoaderInterceptor.java:87)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:132)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:87)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.TxInterceptor.enlistReadAndInvokeNext(TxInterceptor.java:171)
at
org.infinispan.interceptors.TxInterceptor.visitGetKeyValueCommand(TxInterceptor.java:162)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.CacheMgmtInterceptor.visitGetKeyValueCommand(CacheMgmtInterceptor.java:83)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:57)
at
org.infinispan.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:38)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:87)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at
org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:118)
at
org.infinispan.interceptors.BatchingInterceptor.handleDefault(BatchingInterceptor.java:76)
at
org.infinispan.commands.AbstractVisitor.visitGetKeyValueCommand(AbstractVisitor.java:87)
at
org.infinispan.commands.read.GetKeyValueCommand.acceptVisitor(GetKeyValueCommand.java:58)
at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:273)
at org.infinispan.CacheDelegate.get(CacheDelegate.java:200)
at org.infinispan.lucene.FileListOperations.getFileList(FileListOperations.java:54)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira