Article - CS169825

Usage of org.apache.log4j.ConsoleAppender leads to MethodServer deadlock or no response in Windchill PDMLink

Modified: 09-Jan-2019   


Applies To

  • Windchill PDMLink 9.1 to 10.2

Description

  • Usage of org.apache.log4j.ConsoleAppender in MethodServer or ServerManager leads to Windchill dead lock or no response
  • A sample stacktrace as below
"ajp-bio-8010-exec-7":
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
    - waiting to lock <0x0000000710ebe788> (a org.apache.log4j.ConsoleAppender)
    at org.apache.log4j.helpers.AppenderAttachableImpl5.appendLoopOnAppenders(AppenderAttachableImpl5.java:79)
    at org.apache.log4j.Category.callAppenders(Category.java:206)
    at wt.log4j.jmx.LogPrintStream$LogOutputStream.write(LogPrintStream.java:92)
    at java.io.OutputStream.write(OutputStream.java:99)
    at java.io.PrintStream.write(PrintStream.java:430)
    - locked <0x00000007001c6828> (a wt.log4j.jmx.LogPrintStream)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
    at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:85)
    - locked <0x00000007001c68a8> (a java.io.OutputStreamWriter)
    at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:168)
    at java.io.PrintStream.newLine(PrintStream.java:496)
    - locked <0x00000007001c6828> (a wt.log4j.jmx.LogPrintStream)
    at java.io.PrintStream.println(PrintStream.java:757)
    - locked <0x00000007001c6828> (a wt.log4j.jmx.LogPrintStream)
    at org.apache.tomcat.util.log.SystemLogHandler.println(SystemLogHandler.java:264)
    at org.apache.log4j.helpers.LogLog.error(LogLog.java:129)
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:254)
    - locked <0x000000070011f890> (a wt.log4j.jmx.DailyRollingFileAppender)
    at org.apache.log4j.helpers.AppenderAttachableImpl5.appendLoopOnAppenders(AppenderAttachableImpl5.java:79)
    at org.apache.log4j.Category.callAppenders(Category.java:206)
    at org.apache.log4j.Category.forcedLog(Category.java:390)
    at org.apache.log4j.Category.log(Category.java:825)
    at wt.servlet.ServletRequestMonitor.endRequest(ServletRequestMonitor.java:2848)
    at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1617)
    at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:56)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    - locked <0x000000070edf5168> (a org.apache.tomcat.util.net.SocketWrapper)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    at org.apache.tomcat.util.threads.TaskThread.run(TaskThread.java:77)


"ajp-bio-8010-exec-2":
    at java.io.PrintStream.write(PrintStream.java:428)
    - waiting to lock <0x00000007001c6828> (a wt.log4j.jmx.LogPrintStream)
    at org.apache.tomcat.util.log.SystemLogHandler.write(SystemLogHandler.java:174)
    at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:202)
    at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:272)
    at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:276)
    at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:122)
    - locked <0x0000000710ebef48> (a java.io.OutputStreamWriter)
    at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:212)
    at org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
    at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:325)
    at org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
    at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:257)
    - locked <0x0000000710ebe788> (a org.apache.log4j.ConsoleAppender)
    at org.apache.log4j.helpers.AppenderAttachableImpl5.appendLoopOnAppenders(AppenderAttachableImpl5.java:79)
    at org.apache.log4j.Category.callAppenders(Category.java:206)
    at org.apache.log4j.Category.forcedLog(Category.java:390)
    at org.apache.log4j.Category.error(Category.java:321)
    at wt.method.MethodContext.unregisterDeadContexts(MethodContext.java:1286)
    - locked <0x0000000711364d90> (a wt.method.MethodContext)
    at wt.httpgw.WTContextBean$ServerContextHelper.activateServerContext(WTContextBean.java:629)
    at wt.httpgw.WTContextBean.activateServerContext(WTContextBean.java:537)
    at wt.httpgw.WTContextBean.activate(WTContextBean.java:457)
    at wt.httpgw.WTContextBean.setRequest(WTContextBean.java:311)
    at wt.httpgw.WTContextBeanHandler.setRequest(WTContextBeanHandler.java:199)
    at wt.httpgw.WTContextBeanHandler.<init>(WTContextBeanHandler.java:151)
    at wt.httpgw.filter.WTContextBeanFilter.doWithWtContextBeanHandler(WTContextBeanFilter.java:92)
    at wt.httpgw.filter.WTContextBeanFilter.doFilter(WTContextBeanFilter.java:58)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at wt.servlet.CompressionFilter.doFilter(CompressionFilter.java:237)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at wt.servlet.RequestInterrupter.doFilter(RequestInterrupter.java:327)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at wt.servlet.ServletRequestMonitor.doFilter(ServletRequestMonitor.java:1594)
    at wt.servlet.ServletRequestMonitorFilter.doFilter(ServletRequestMonitorFilter.java:56)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:200)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    - locked <0x000000070ee44fb8> (a org.apache.tomcat.util.net.SocketWrapper)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)
    at org.apache.tomcat.util.threads.TaskThread.run(TaskThread.java:77)
This is a printer-friendly version of Article 169825 and may be out of date. For the latest version click CS169825