[jboss-jira] [JBoss JIRA] Created: (JBCACHE-1361) NPE in DataContainerImpl.getNodesForEviction()
Brian Stansberry (JIRA)
jira-events at lists.jboss.org
Wed Jun 4 18:57:21 EDT 2008
NPE in DataContainerImpl.getNodesForEviction()
----------------------------------------------
Key: JBCACHE-1361
URL: http://jira.jboss.com/jira/browse/JBCACHE-1361
Project: JBoss Cache
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Eviction
Affects Versions: 2.2.0.GA
Reporter: Brian Stansberry
Assigned To: Manik Surtani
Actually effects 2.2.0.CR2, but that wasn't a choice.
Call to recursively evict a subtree fails with an NPE:
2008-06-03 21:05:13,419 ERROR [org.jboss.web.tomcat.service.session.JBossCacheManager] processExpires(): failed expiring 2 with exception: java.lang.NullPointerException
java.lang.NullPointerException
at org.jboss.cache.DataContainerImpl.recursiveAddEvictionNodes(DataContainerImpl.java:267)
at org.jboss.cache.DataContainerImpl.getNodesForEviction(DataContainerImpl.java:241)
at org.jboss.cache.interceptors.PassivationInterceptor.visitEvictFqnCommand(PassivationInterceptor.java:54)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
at org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:55)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at org.jboss.cache.interceptors.PessimisticLockInterceptor.handleEvictFqnCommand(PessimisticLockInterceptor.java:303)
at org.jboss.cache.interceptors.base.PostProcessingCommandInterceptor.visitEvictFqnCommand(PostProcessingCommandInterceptor.java:138)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at org.jboss.cache.interceptors.base.CommandInterceptor.handleDefault(CommandInterceptor.java:157)
at org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:55)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at org.jboss.cache.interceptors.TxInterceptor.attachGtxAndPassUpChain(TxInterceptor.java:266)
at org.jboss.cache.interceptors.TxInterceptor.handleDefault(TxInterceptor.java:253)
at org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:55)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at org.jboss.cache.interceptors.CacheMgmtInterceptor.visitEvictFqnCommand(CacheMgmtInterceptor.java:66)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:142)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:158)
at org.jboss.cache.interceptors.InvocationContextInterceptor.handleDefault(InvocationContextInterceptor.java:108)
at org.jboss.cache.commands.AbstractVisitor.visitEvictFqnCommand(AbstractVisitor.java:55)
at org.jboss.cache.commands.write.EvictCommand.acceptVisitor(EvictCommand.java:88)
at org.jboss.cache.interceptors.InterceptorChain.invoke(InterceptorChain.java:215)
at org.jboss.cache.invocation.CacheInvocationDelegate.evict(CacheInvocationDelegate.java:347)
at org.jboss.web.tomcat.service.session.JBossCacheWrapper.evictSubtree(JBossCacheWrapper.java:289)
at org.jboss.web.tomcat.service.session.JBossCacheService.evictSession(JBossCacheService.java:371)
at org.jboss.web.tomcat.service.session.JBossCacheService.evictSession(JBossCacheService.java:361)
at org.jboss.web.tomcat.service.session.JBossCacheManager.processSessionPassivation(JBossCacheManager.java:1777)
at org.jboss.web.tomcat.service.session.JBossCacheManager.processExpires(JBossCacheManager.java:1542)
at org.jboss.web.tomcat.service.session.JBossCacheManager.createSession(JBossCacheManager.java:804)
at org.jboss.test.cluster.defaultcfg.simpleweb.test.SessionCountUnitTestCase.createAndUseSession(SessionCountUnitTestCase.java:902)
at org.jboss.test.cluster.defaultcfg.simpleweb.test.SessionCountUnitTestCase.testStandaloneMaxSessionsWithMinIdle(SessionCountUnitTestCase.java:269)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at junit.framework.TestCase.runTest(TestCase.java:164)
at junit.framework.TestCase.runBare(TestCase.java:130)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:120)
at junit.framework.TestSuite.runTest(TestSuite.java:230)
at junit.framework.TestSuite.run(TestSuite.java:225)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:297)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:672)
at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:567)
Looks like DataContainerImpl.getNodesForEviction() is doing a peek() and passing the result to recursiveAddEvictionNodes() even if the peek() returns null.
JBAS web session replication manages eviction itself, which is why the evict() call is coming from the session management layer.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the jboss-jira
mailing list