Menu

#593 Retrace fails for log4j2 stack traces

v5.2
closed-fixed
5
2016-10-23
2016-02-17
No

Retracing a stacktrace from Log4j2 fails. It takes a long time to compute and results in the very same stack trace.

But, when removing the trailing values between square brackets, then it works. You basically need to remove everything after the last closing parenthesis.

To my knowledge there is no way to tell Log4j2 not to add this information.

THIS DOES NOT WORK

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)   
    at org.apache.naming.NamingContext.lookup(NamingContext.java:859) ~[catalina.jar:7.0.67]
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153) ~[catalina.jar:7.0.67]
    at org.apache.naming.NamingContext.lookup(NamingContext.java:830) ~[catalina.jar:7.0.67]
    at org.apache.naming.NamingContext.lookup(NamingContext.java:167) ~[catalina.jar:7.0.67]
    at com.foo.jobs.Dhmoy.a(Runtime.scala:364) [classes/:?]
    at com.foo.jobs.Dhmoy.p(Runtime.scala:340) [classes/:?]
    at com.foo.web.BarBootSequence.b(BarBootSequence.scala:58) [classes/:?]
    at com.foo.web.BarBootSequence$Eoqst.a(BarBootSequence.scala:35) [classes/:?]
    at com.foo.web.BarBootSequence$Eoqst.apply(BarBootSequence.scala:35) [classes/:?]
    at com.foo.web.BarBootSequence$Afmoy.a(BarBootSequence.scala:47) [classes/:?]
    at com.foo.web.BarBootSequence$Afmoy.apply(BarBootSequence.scala:47) [classes/:?]
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) [scala-library-2.11.7.jar:?]
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186) [scala-library-2.11.7.jar:?]
    at com.foo.web.BarBootSequence.a(BarBootSequence.scala:47) [classes/:?]
    at com.foo.web.BarBootSequence.initialize(BarBootSequence.scala:27) [classes/:?]
    at org.springframework.web.context.ContextLoader.customizeContext(ContextLoader.java:485) [spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:445) [spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328) [spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107) [spring-web-4.2.1.RELEASE.jar:4.2.1.RELEASE]
    at com.foo.web.BarContextListener.contextInitialized(BarContextListener.scala:55) [classes/:?]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5077) [catalina.jar:7.0.67]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5591) [catalina.jar:7.0.67]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.67]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) [catalina.jar:7.0.67]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) [catalina.jar:7.0.67]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652) [catalina.jar:7.0.67]
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:677) [catalina.jar:7.0.67]
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1939) [catalina.jar:7.0.67]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439) [?:1.6.0_45]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [?:1.6.0_45]
    at java.util.concurrent.FutureTask.run(FutureTask.java:138) [?:1.6.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895) [?:1.6.0_45]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918) [?:1.6.0_45]
    at java.lang.Thread.run(Thread.java:662) [?:1.6.0_45]
THIS DOES WORK

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)   
    at org.apache.naming.NamingContext.lookup(NamingContext.java:859)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:153)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:830)
    at org.apache.naming.NamingContext.lookup(NamingContext.java:167)
    at com.foo.jobs.Dhmoy.a(Runtime.scala:364)
    at com.foo.jobs.Dhmoy.p(Runtime.scala:340)
    at com.foo.web.BarBootSequence.b(BarBootSequence.scala:58)
    at com.foo.web.BarBootSequence$Eoqst.a(BarBootSequence.scala:35)
    at com.foo.web.BarBootSequence$Eoqst.apply(BarBootSequence.scala:35) [classes/:?]
    at com.foo.web.BarBootSequence$Afmoy.a(BarBootSequence.scala:47)
    at com.foo.web.BarBootSequence$Afmoy.apply(BarBootSequence.scala:47)
    at scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33)
    at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186)
    at com.foo.web.BarBootSequence.a(BarBootSequence.scala:47)
    at com.foo.web.BarBootSequence.initialize(BarBootSequence.scala:27)
    at org.springframework.web.context.ContextLoader.customizeContext(ContextLoader.java:485)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:445)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:328)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at com.foo.web.BarContextListener.contextInitialized(BarContextListener.scala:55)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5077)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5591)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:677)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1939)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
    at java.util.concurrent.FutureTask.run(FutureTask.java:138)
    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)

Discussion

  • Eric Lafortune

    Eric Lafortune - 2016-03-07

    The pattern in the upcoming ProGuard 5.3 should account for it:

    public static final String STACK_TRACE_EXPRESSION = "(?:.*?\\bat\\s+%c\\.%m\\s*\\(%s(?::%l)?\\)\\s*(?:~\\[.*\\])?)|(?:(?:.*?[:\"]\\s+)?%c(?::.*)?)";
    
     
  • Eric Lafortune

    Eric Lafortune - 2016-03-07
    • status: open --> open-fixed
    • assigned_to: Eric Lafortune
     
  • Eric Lafortune

    Eric Lafortune - 2016-10-23
    • Status: open-fixed --> closed-fixed
     

Log in to post a comment.

MongoDB Logo MongoDB