NullPointer in PojoCache
scottgj Nov 9, 2011 4:19 AMHi,
Versions:
JBossCache - 3.1.0.GA
PojoCache - 3.0.0.GA
During my endurance tests I get such exceptions
1)
org.jboss.cache.pojo.PojoCacheException: detach failed /parlayRa/TEST_NODES/18-12883
at org.jboss.cache.pojo.impl.PojoCacheImpl.detach(PojoCacheImpl.java:134)
at org.jboss.cache.pojo.impl.PojoCacheImpl.detach(PojoCacheImpl.java:221)
at org.mobicents.slee.resource.parlay.util.replication.CacheBase.removeObject(CacheBase.java:74)
at pl.ivmx.pojocache.cache.TestRemovePojoCache.remove_aroundBody0(TestRemovePojoCache.java:14)
at pl.ivmx.pojocache.cache.TestRemovePojoCache.remove_aroundBody1$advice(TestRemovePojoCache.java:96)
at pl.ivmx.pojocache.cache.TestRemovePojoCache.remove(TestRemovePojoCache.java:1)
at pl.ivmx.pojocache.PeriodicCacheLoader.run(PeriodicCacheLoader.java:72)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
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:662)
Caused by: java.lang.NullPointerException
at org.jboss.cache.pojo.impl.InternalHelper.cleanUp(InternalHelper.java:261)
at org.jboss.cache.pojo.impl.PojoCacheDelegate.removeObject(PojoCacheDelegate.java:264)
at org.jboss.cache.pojo.impl.PojoCacheImpl.detach(PojoCacheImpl.java:126)
... 12 more
2)
org.jboss.cache.pojo.PojoCacheException: detach failed /parlayRa/TEST_NODES/2-67790
at org.jboss.cache.pojo.impl.PojoCacheImpl.detach(PojoCacheImpl.java:134)
at org.jboss.cache.pojo.impl.PojoCacheImpl.detach(PojoCacheImpl.java:221)
at org.mobicents.slee.resource.parlay.util.replication.CacheBase.removeObject(CacheBase.java:74)
at pl.ivmx.pojocache.cache.TestRemovePojoCache.remove_aroundBody0(TestRemovePojoCache.java:14)
at pl.ivmx.pojocache.cache.TestRemovePojoCache.remove_aroundBody1$advice(TestRemovePojoCache.java:96)
at pl.ivmx.pojocache.cache.TestRemovePojoCache.remove(TestRemovePojoCache.java:1)
at pl.ivmx.pojocache.PeriodicCacheLoader.run(PeriodicCacheLoader.java:72)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
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:662)
Caused by: java.lang.NullPointerException
at org.jboss.cache.pojo.impl.InternalHelper.isMultipleReferenced(InternalHelper.java:180)
at org.jboss.cache.pojo.impl.ObjectGraphHandler.isMultipleReferenced(ObjectGraphHandler.java:79)
at org.jboss.cache.pojo.impl.PojoCacheDelegate.removeObject(PojoCacheDelegate.java:253)
at org.jboss.cache.pojo.impl.PojoCacheImpl.detach(PojoCacheImpl.java:126)
... 12 more
Does enybody know why?
How to reporoduce error:
To start a test you have to:
1) Copy pojo cache configuration on two nodes (I have cluster comprised from two nodes in LAN)
1a) My JVM config (on both nodes):
JAVA_OPTS="-Xms1200m -Xmx1200m -XX:NewSize=150m -XX:MaxNewSize=150m -XX:MaxPermSize=128m -XX:SurvivorRatio=15 -XX:+UseTLAB -XX:TLABSize=64k -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:MaxTenuringThreshold=32 -XX:CMSInitiatingOccupancyFraction=66"
1b)
2) Deploy web app on one of node
3) Go to web app web page
http://firstnode_ip:8080/pojocache-load-test/index
4) Choose section
Test with all remove operations running constantly.
and enter values:
500
Object live time in ms: 180000
and Run test.
Error should be shown after memory allocated on heap reachs its upper limit (from top totally allocated memory shows about 1.6GB)
Best regards,
Grzegorz Jamka
-
pojocache-service.xml 3.7 KB
-
pojocache-load-test.war 14.7 MB