You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by laredotornado <la...@gmail.com> on 2009/07/01 19:21:19 UTC

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

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
-- 
View this message in context: http://www.nabble.com/Blocked-trying-to-get-lock%3A-org.apache.log4j.spi.RootLogger-tp24293804p24293804.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


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

Posted by Simon B <si...@gmail.com>.
Hi Dave, 

I'm running into a similar problem, 

Regards what you did to remidy the problem, i.e. increase the quantity of
file descriptors available to the process, am I right in thinking that the
process was using > 1024 open file descriptors?

Its just when I take a look at our server using the following: 
$] lsof -p pid  | wc -l

the tomcat processes are like on ~ 190 open file descriptors, I'm just
wondering if that means that my problem is not related to the open file
descriptors, 

Could you confirm whether your processes where bumping up against the limit?

Or if you subsequently found some other solution?

Cheers
Simon


laredotornado wrote:
> 
> 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
> 

-- 
View this message in context: http://www.nabble.com/Blocked-trying-to-get-lock%3A-org.apache.log4j.spi.RootLogger-tp24293804p25614710.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


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

Posted by laredotornado <la...@gmail.com>.
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
> 

-- 
View this message in context: http://www.nabble.com/Blocked-trying-to-get-lock%3A-org.apache.log4j.spi.RootLogger-tp24293804p24535802.html
Sent from the Struts - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org