History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: CACHE-89
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Wm Muir
Votes: 1
Watchers: 2
Operations

If you were logged in you would be able to see more operations.
OSCache

java.lang.NullPointerException : AbstractCacheAdministrator.finalizeListeners

Created: 30/May/04 12:20 AM   Updated: 12/Mar/05 01:43 AM
Component/s: Base Classes
Affects Version/s: 2.0.2
Fix Version/s: 2.1

Environment:
j2sdk 1.4.2_03
Hibernate 2.1.3


 Description  « Hide
Number of Hibernate users that are using OSCache, are experience NPE in: AbstractCacheAdministrator.finalizeListeners.

Hibernate team is passing the buck to OSCache.


Example #1
--------------------------
12:51:47,832 WARN ReadWriteCache:218 - could not destroy cache
java.lang.NullPointerException
        at com.opensymphony.oscache.base.AbstractCacheAdministrator.finalizeListeners(AbstractCacheAdministrator.java:323)
        at com.opensymphony.oscache.general.GeneralCacheAdministrator.destroy(GeneralCacheAdministrator.java:168)
        at net.sf.hibernate.cache.OSCache.destroy(OSCache.java:59)
        at net.sf.hibernate.cache.ReadWriteCache.destroy(ReadWriteCache.java:215)
        at net.sf.hibernate.impl.SessionFactoryImpl.close(SessionFactoryImpl.java:542)



Example #2
--------------------------

Level WARN
Logger net.sf.hibernate.cache.ReadWriteCache
Message could not destroy cache
Class net.sf.hibernate.cache.ReadWriteCache
Method destroy
Line 218
File ReadWriteCache.java
Properties {{log4j.remoteSourceInfo,localhost:55403}{log4jid,5}}

Throwable
java.lang.NullPointerException at com.opensymphony.oscache.base.AbstractCacheAdministrator.finalizeListeners(AbstractCacheAdministrator.java:326) at
com.opensymphony.oscache.general.GeneralCacheAdministrator.destroy(GeneralCacheAdministrator.java:187) at
net.sf.hibernate.cache.OSCache.destroy(OSCache.java:51) at
net.sf.hibernate.cache.ReadWriteCache.destroy(ReadWriteCache.java:215) at
net.sf.hibernate.impl.SessionFactoryImpl.close(SessionFactoryImpl.java:536) at
org.springframework.orm.hibernate.LocalSessionFactoryBean.destroy(LocalSessionFactoryBean.java:565) at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.destroyBean(AbstractAutowireCapableBeanFactory.java:740) at
org.springframework.beans.factory.support.AbstractBeanFactory.destroySingleton(AbstractBeanFactory.java:363) at
org.springframework.beans.factory.support.AbstractBeanFactory.destroySingletons(AbstractBeanFactory.java:349) at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.destroySingletons(AbstractAutowireCapableBeanFactory.java:718) at
org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:382) at
org.springframework.web.context.ContextLoader.closeWebApplicationContext(ContextLoader.java:178) at
org.springframework.web.context.ContextLoaderListener.contextDestroyed(ContextLoaderListener.java:63) at
org.apache.catalina.core.StandardContext.listenerStop(StandardContext.java:3816) at
org.apache.catalina.core.StandardContext.stop(StandardContext.java:4429) at
org.apache.catalina.core.StandardContext.reload(StandardContext.java:2986) at
org.apache.catalina.manager.ManagerServlet.reload(ManagerServlet.java:1019) at
org.apache.catalina.manager.HTMLManagerServlet.reload(HTMLManagerServlet.java:524) at
org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:147) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at
javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284) at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204) at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245) at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:587) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:195) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156) at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151) at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:564) at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972) at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206) at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:828) at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:700) at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:584) at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534)

Thanks.

 All   Comments   Change History      Sort Order:
Wm Muir - [02/Jun/04 01:33 PM ]
This will eventually lead to a Java Out Of Memory Exception.

Dennis Muhlestein - [23/Sep/04 01:14 PM ]
When I use the oscache-2.0.jar file provided with hibernate-2.1.6, I get the error as described already.

When I use the oscache-2.0.2[rev].jar downloaded directly from opensymphony instead, I get a slightly different error:

2004-09-23 11:37:05,134 WARN [http-8080-Processor24] NonstrictReadWriteCache - could not destroy cache
java.lang.NullPointerException
        at com.opensymphony.oscache.plugins.clustersupport.JavaGroupsBroadcastingListener.finialize(JavaGroupsBroadcastingListener.java:117)
        at com.opensymphony.oscache.base.AbstractCacheAdministrator.finalizeListeners(AbstractCacheAdministrator.java:336)
        at com.opensymphony.oscache.general.GeneralCacheAdministrator.destroy(GeneralCacheAdministrator.java:183)
        at net.sf.hibernate.cache.OSCache.destroy(OSCache.java:59)
        at net.sf.hibernate.cache.NonstrictReadWriteCache.destroy(NonstrictReadWriteCache.java:84)
        at net.sf.hibernate.impl.SessionFactoryImpl.close(SessionFactoryImpl.java:539)
        at com.ldspromise.db.util.HibernateUtil.destroy(HibernateUtil.java:52)
....
>>abreviated<<

Maybe this will help to diagnose the error. It seems the line bus.stop() is called when the bus is null already.