[
https://jira.jboss.org/browse/ISPN-699?page=com.atlassian.jira.plugin.sys...
]
Galder Zamarreño updated ISPN-699:
----------------------------------
Attachment: 697ispn-infinispan-readersclearedbeforeeviction.log
It seems like the readers collection is just empty. So, my gut feeling is that eviction
manager's eviction task is not fully cancelled and so, when eviction comes around, the
marshaller has already been made empty. Two things here: Eviction manager should wait for
eviction to be fully finished before moving on to stopping the other components and
secondly, could ScheduledTask not be responding to interruption properly?
I'll add more logging to confirm what I'm saying and then need to see where
exactly interruption might be swallowed and that it doesn't allow the task to be
cancelled properly.
This is definitely a timing issue and it's taking me a while to replicate it each
time.
occasional NullPointerException on unmarshalling in test application
--------------------------------------------------------------------
Key: ISPN-699
URL:
https://jira.jboss.org/browse/ISPN-699
Project: Infinispan
Issue Type: Sub-task
Components: Marshalling
Affects Versions: 4.0.0.Final, 4.1.0.Final, 4.2.0.ALPHA2
Reporter: Sanne Grinovero
Assignee: Galder Zamarreño
Fix For: 4.2.0.BETA1, 4.2.0.Final
Attachments: 697ispn-infinispan-readersclearedbeforeeviction.log
See the parent issue ISPN-697 , which contains more details and an application which can
occasionally reproduce the NPE.
2010-10-11 15:55:27,305 ERROR [Scheduled-eviction-thread-0] (FileCacheStore.java:184) -
Error while reading from file: /home/cching/dev/infinispan-hang/./store/Users/-202784536
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.objectFromObjectStream(VersionAwareMarshaller.java:179)
at
org.infinispan.loaders.file.FileCacheStore.objectFromInputStreamInReentrantMode(FileCacheStore.java:262)
at org.infinispan.loaders.file.FileCacheStore.loadBucket(FileCacheStore.java:181)
at org.infinispan.loaders.file.FileCacheStore.purgeInternal(FileCacheStore.java:161)
at org.infinispan.loaders.AbstractCacheStore$2.run(AbstractCacheStore.java:84)
at
org.infinispan.util.concurrent.WithinThreadExecutor.execute(WithinThreadExecutor.java:47)
at org.infinispan.loaders.AbstractCacheStore.purgeExpired(AbstractCacheStore.java:81)
at
org.infinispan.eviction.EvictionManagerImpl.processEviction(EvictionManagerImpl.java:115)
at
org.infinispan.eviction.EvictionManagerImpl$ScheduledTask.run(EvictionManagerImpl.java:136)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:317)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$101(ScheduledThreadPoolExecutor.java:98)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.runPeriodic(ScheduledThreadPoolExecutor.java:181)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:205)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
--
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