Re: Deadlocks in the Filestore of Silde 2.1
"Oliver Zeigermann" <[email protected]> Tue, 17 Apr 2007 20:51:22 +0200
| Newsgroups | gmane.comp.jakarta.slide.user |
|---|---|
| Message-ID | <[email protected]> |
Hi Arne! The stack trace tells you that another thread has the global read/write lock. So, correctly speaking this is a "live lock". The reason most likely is a thread that still runs and has forgotten to release this lock. Having said this, even switching to a deadlock free solution will not help, as you have no deadlocks here. Cheers Oliver 2007/4/17, Arne v.Irmer <[email protected]>: > Hi, > we are using slide in our e-learning platform > http://ews2.uni-dortmund.de in a production environment. We get into > deep trouble with deadlocks in Slide! > I checked out Silde 2.2pre1. In the RELEASE-NOTES-2.2 there is the sentence: > "- New option for a fine grained, deadlock-less locking scheme" > My question is: > - Should I change to 2.2pre1 for my productive environment? How can I > switch back if we discover other problems with this pre-release? > - Is there a patch for version 2.1. that fixes these deadlocks? > > Please help. > Thanks in advance > Arne v.Irmer > > Our configuration: > Slide 2.1 with fixed hasmap "suspendedLocks" in > org.apache.slide.store.ExtendedStore. > using a filestore in Tomcat 5.5 > > Here are some stacktraces from the jconsole in the case of the deadlocks: > > Name: http-129.217.205.43-8080-Processor3 > State: TIMED_WAITING on > org.apache.commons.transaction.locking.GenericLock@76e9f537 > Total blocked: 273 Total waited: 332 > > Stack trace: > java.lang.Object.wait(Native Method) > org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:241) > org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:165) > org.apache.slide.webdav.method.AbstractWebdavMethod.assureGlobalWriteLock(AbstractWebdavMethod.java:847) > org.apache.slide.webdav.method.AbstractWebdavMethod.run(AbstractWebdavMethod.java:362) > org.apache.slide.webdav.WebdavServlet.service(WebdavServlet.java:155) > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > org.apache.slide.webdav.filter.LogFilter.doFilter(LogFilter.java:141) > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419) > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > java.lang.Thread.run(Thread.java:595) > > Name: http-129.217.205.43-8080-Processor3 > State: TIMED_WAITING on > org.apache.commons.transaction.locking.GenericLock@667aeb85 > Total blocked: 44 Total waited: 80 > > Stack trace: > java.lang.Object.wait(Native Method) > org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:241) > org.apache.commons.transaction.locking.GenericLock.acquire(GenericLock.java:165) > org.apache.slide.webdav.method.AbstractWebdavMethod.assureGlobalReadLock(AbstractWebdavMethod.java:838) > org.apache.slide.webdav.method.AbstractWebdavMethod.run(AbstractWebdavMethod.java:360) > org.apache.slide.webdav.WebdavServlet.service(WebdavServlet.java:155) > javax.servlet.http.HttpServlet.service(HttpServlet.java:802) > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252) > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > org.apache.slide.webdav.filter.LogFilter.doFilter(LogFilter.java:141) > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178) > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:524) > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126) > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105) > org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:419) > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107) > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148) > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) > org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527) > org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80) > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684) > java.lang.Thread.run(Thread.java:595) > > -- > Dipl.-Phys. Arne v.Irmer > Medienzentrum Universität Dortmund > Emil-Figge-Straße 50 > 44227 Dortmund > Tel.: ++49 231 755 7127 > Fax : ++49 231 755 4597 >