Hash Jang created LOG4J2-2880:
---------------------------------
Summary: High CPU consumption using StackWalker
Key: LOG4J2-2880
URL: https://issues.apache.org/jira/browse/LOG4J2-2880
Project: Log4j 2
Issue Type: Bug
Components: Core
Affects Versions: 2.13.3, 2.13.2, 2.13.1, 2.13.0, 2.12.1, 2.12.0, 2.11.2,
2.11.1
Environment: log4j version: 2.12.1
JDK version: OpenJDK 11.0.6
Reporter: Hash Jang
Attachments: image-2020-06-28-02-42-12-987.png
While using OpenJDK 11, there are possibility cause severe CPU consumption
because of JDK bug in using StackWalker.
[Application on JDK11 consume 100% CPU after a few hours of
uptime|[https://bugs.openjdk.java.net/browse/JDK-8222942]]
And it happened serveral times on our production environment.
!image-2020-06-28-02-42-12-987.png!
Stack trace Is:
"reactor-http-epoll-1" #69 daemon prio=5 os_prio=0 cpu=25789335.11ms
elapsed=306523.88s tid=0x00007f8713f99800 nid=0x5d runnable
[0x00007f8605645000]"reactor-http-epoll-1" #69 daemon prio=5 os_prio=0
cpu=25789335.11ms elapsed=306523.88s tid=0x00007f8713f99800 nid=0x5d runnable
[0x00007f8605645000] java.lang.Thread.State: RUNNABLE at
java.lang.StackStreamFactory$AbstractStackWalker.fetchStackFrames([email protected]/Native
Method) at
java.lang.StackStreamFactory$AbstractStackWalker.fetchStackFrames([email protected]/StackStreamFactory.java:386)
at
java.lang.StackStreamFactory$AbstractStackWalker.getNextBatch([email protected]/StackStreamFactory.java:322)
at
java.lang.StackStreamFactory$AbstractStackWalker.peekFrame([email protected]/StackStreamFactory.java:263)
at
java.lang.StackStreamFactory$AbstractStackWalker.hasNext([email protected]/StackStreamFactory.java:351)
at
java.lang.StackStreamFactory$StackFrameTraverser.nextStackFrame([email protected]/StackStreamFactory.java:520)
at
java.lang.StackStreamFactory$StackFrameTraverser.forEachRemaining([email protected]/StackStreamFactory.java:581)
at
java.util.stream.AbstractPipeline.copyInto([email protected]/AbstractPipeline.java:484)
at
java.util.stream.AbstractPipeline.wrapAndCopyInto([email protected]/AbstractPipeline.java:474)
at
java.util.stream.AbstractPipeline.evaluate([email protected]/AbstractPipeline.java:550)
at
java.util.stream.AbstractPipeline.evaluateToArrayNode([email protected]/AbstractPipeline.java:260)
at
java.util.stream.ReferencePipeline.toArray([email protected]/ReferencePipeline.java:517)
at
java.util.stream.ReferencePipeline.toArray([email protected]/ReferencePipeline.java:523)
at
org.apache.logging.log4j.util.StackLocator$FqcnCallerLocator.apply(StackLocator.java:96)
at
org.apache.logging.log4j.util.StackLocator$FqcnCallerLocator.apply(StackLocator.java:90)
at
java.lang.StackStreamFactory$StackFrameTraverser.consumeFrames([email protected]/StackStreamFactory.java:534)
at
java.lang.StackStreamFactory$AbstractStackWalker.doStackWalk([email protected]/StackStreamFactory.java:306)
at
java.lang.StackStreamFactory$AbstractStackWalker.callStackWalk([email protected]/Native
Method) at
java.lang.StackStreamFactory$AbstractStackWalker.beginStackWalk([email protected]/StackStreamFactory.java:370)
at
java.lang.StackStreamFactory$AbstractStackWalker.walk([email protected]/StackStreamFactory.java:243)
at java.lang.StackWalker.walk([email protected]/StackWalker.java:498) at
org.apache.logging.log4j.util.StackLocator.calcLocation(StackLocator.java:81)
at
org.apache.logging.log4j.util.StackLocatorUtil.calcLocation(StackLocatorUtil.java:76)
at
org.apache.logging.log4j.spi.AbstractLogger.getLocation(AbstractLogger.java:2201)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2144)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2127)
at
org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2026)
at
org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1899)
at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1441)
--
This message was sent by Atlassian Jira
(v8.3.4#803005)