« Return to Thread: Blocked trying to get lock: org.apache.log4j.spi.RootLogger

Re: Blocked trying to get lock: org.apache.log4j.spi.RootLogger

by laredotornado :: Rate this Message:

Reply to Author | View in Thread

Here is my contribution to the good of humanity.  The below problem went away when we increased the number of file descriptors available to our WebLogic managic server process from 1024 to 65K.  - Dave

laredotornado wrote:
Hi, We are using WebLogic 9.2.2 with Java 1.5.  The application is written using Struts 1.3 and log4j 1.2.15.  We found a number of errors that looked like below in our managed server's .out file.  Any ideas what might be a cause or how to troubleshoot further?  Our sys admin sadly did not preserve a thread dump:

 <Jun 30, 2009 3:00:11 PM UTC> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '148' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "604" seconds working on the request "Http Request: /myapp/hhFlow.do", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-135888 "[STUCK] ExecuteThread: '148' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, in native, suspended, blocked, priority=1, DAEMON> {
    -- Blocked trying to get lock: org.apache.log4j.spi.RootLogger@151f325[fat lock]
    org.apache.log4j.Category.callAppenders(Category.java:188)
    org.apache.log4j.Category.forcedLog(Category.java:379)
    org.apache.log4j.Category.log(Category.java:840)
    org.apache.commons.logging.impl.Log4JLogger.debug(Log4JLogger.java:109)
    org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:176)
    org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:303)
    org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:176)
    org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:272)
    org.apache.struts.action.ActionServlet.process(ActionServlet.java:1903)
    org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:736)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:851)
    weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:224)
    weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:108)
    weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:198)
    weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
    weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
    com.myco.regui.servlets.filters.TransactionFilter.doFilter(TransactionFilter.java:23)
    weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:41)
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3201)
    weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
    weblogic.security.service.SecurityManager.runAs(SecurityManager.java:117)
    weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1938)
    weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1860)
    weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1327)
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:206)
    weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

Thanks for any feedback, - Dave

 « Return to Thread: Blocked trying to get lock: org.apache.log4j.spi.RootLogger