Hi, 

In org.jboss.util.LRUCachePolicy$LRUList.demote(), the code reads

remove(entry);
ageOut(entry);

The problem is that ageOut causes remove to be called a second time
(stack trace below), and NPE.  Simone, which remove is the good one? 
(if I comment out the first one, everything is ok).

Regards,

Sebastien


[nextgen.EnterpriseEntity] TRANSACTION ROLLBACK EXCEPTION:null; nested
exception is: 
        java.lang.NullPointerException
[nextgen.EnterpriseEntity] java.lang.NullPointerException
[nextgen.EnterpriseEntity]      at
org.jboss.util.LRUCachePolicy$LRUList.remove(LRUCachePolicy.java:345)
[nextgen.EnterpriseEntity]      at
org.jboss.util.LRUCachePolicy.remove(LRUCachePolicy.java:172)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EnterpriseInstanceCache.remove(EnterpriseInstanceCache.java:138)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EntityInstanceCache.remove(EntityInstanceCache.java:64)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EnterpriseInstanceCache.release(EnterpriseInstanceCache.java:125)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.LRUEnterpriseContextCachePolicy.ageOut(LRUEnterpriseContextCachePolicy.java:161)
[nextgen.EnterpriseEntity]      at
org.jboss.util.LRUCachePolicy$LRUList.demote(LRUCachePolicy.java:323)
[nextgen.EnterpriseEntity]      at
org.jboss.util.LRUCachePolicy.insert(LRUCachePolicy.java:157)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EnterpriseInstanceCache.insert(EnterpriseInstanceCache.java:112)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EnterpriseInstanceCache.get(EnterpriseInstanceCache.java:96)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EntityInstanceCache.get(EntityInstanceCache.java:56)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke(EntityInstanceInterceptor.java:126)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.TxInterceptorCMT.invokeNext(TxInterceptorCMT.java:133)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:263)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:99)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:144)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:185)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:316)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:222)
[nextgen.EnterpriseEntity]      at
org.jboss.ejb.plugins.jrmp.server.JRMPContainerInvoker.invoke(JRMPContainerInvoker.java:187)
[nextgen.EnterpriseEntity]      at java.lang.reflect.Method.invoke(Native
Method)
[nextgen.EnterpriseEntity]      at
sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:241)
[nextgen.EnterpriseEntity]      at
sun.rmi.transport.Transport$1.run(Transport.java:142)
[nextgen.EnterpriseEntity]      at
java.security.AccessController.doPrivileged(Native Method)
[nextgen.EnterpriseEntity]      at
sun.rmi.transport.Transport.serviceCall(Transport.java:139)
[nextgen.EnterpriseEntity]      at
sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:443)
[nextgen.EnterpriseEntity]      at
sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:643)
[nextgen.EnterpriseEntity]      at java.lang.Thread.run(Thread.java:484)

Reply via email to