-
Bug
-
Resolution: Timed out
-
Low (View bug fix roadmap)
-
None
-
7.2.2
-
7.02
-
3
-
Severity 2 - Major
-
1
-
Summary
StackTraceInfo Class are initialised multiple times on stack trace logging
Steps to Reproduce
- Produce a lot of logging in the same thread
Expected Results
No additional overhead and class loading done only once.
Actual Results
Thread produces many log messages with stacktrace and each time it tries to load some class from com.atlassian.logging.log4j.FilteredPatternLayout.getThrowableStrRep. This causing slow execution and high CPU usage.
Progress over time:
grep -A 50 http-nio-8080-exec-243 jira_threads.20161025-133* | grep -e 'com.atlassian.logging.log4j.FilteredPatternLayout.getThrowableStrRep' -e 'org.apache.log4j.WriterAppender.subAppend' -e 'java.lang.Thread.State' -e 'org.apache.log4j.Category.callAppenders' -e 'org.apache.logging.log4j.core.util.Loader.initializeClass' jira_threads.20161025-133119.txt- java.lang.Thread.State: RUNNABLE jira_threads.20161025-133119.txt- at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) jira_threads.20161025-133119.txt- at org.apache.log4j.Category.callAppenders(Category.java:206) jira_threads.20161025-133131.txt- java.lang.Thread.State: RUNNABLE jira_threads.20161025-133131.txt- at org.apache.logging.log4j.core.util.Loader.initializeClass(Loader.java:66) jira_threads.20161025-133131.txt- at com.atlassian.logging.log4j.FilteredPatternLayout.getThrowableStrRep(FilteredPatternLayout.java:359) jira_threads.20161025-133131.txt- at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) jira_threads.20161025-133131.txt- at org.apache.log4j.Category.callAppenders(Category.java:206) jira_threads.20161025-133142.txt- java.lang.Thread.State: RUNNABLE jira_threads.20161025-133142.txt- at org.apache.logging.log4j.core.util.Loader.initializeClass(Loader.java:66) jira_threads.20161025-133142.txt- at com.atlassian.logging.log4j.FilteredPatternLayout.getThrowableStrRep(FilteredPatternLayout.java:359) jira_threads.20161025-133142.txt- at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) jira_threads.20161025-133142.txt- at org.apache.log4j.Category.callAppenders(Category.java:206) jira_threads.20161025-133153.txt- java.lang.Thread.State: BLOCKED (on object monitor) jira_threads.20161025-133153.txt- at org.apache.log4j.Category.callAppenders(Category.java:204) jira_threads.20161025-133204.txt- java.lang.Thread.State: RUNNABLE jira_threads.20161025-133204.txt- at com.atlassian.logging.log4j.FilteredPatternLayout.getThrowableStrRep(FilteredPatternLayout.java:359) jira_threads.20161025-133204.txt- at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) jira_threads.20161025-133204.txt- at org.apache.log4j.Category.callAppenders(Category.java:206) jira_threads.20161025-133215.txt- java.lang.Thread.State: BLOCKED (on object monitor) jira_threads.20161025-133215.txt- at org.apache.log4j.Category.callAppenders(Category.java:204)
Full stacktrace:
"http-nio-8080-exec-243 uri:/secure/admin/views/issuefields/screens/viewfieldscreens.jsp username:" #25366 daemon prio=5 tid=0x00007f41b8055800 nid=0x293d runnable [0x00007f3ec4d7c000] java.lang.Thread.State: RUNNABLE at java.util.zip.ZipFile.getEntry(Native Method) at java.util.zip.ZipFile.getEntry(ZipFile.java:310) - locked <0x00000007b5902e30> (a java.util.jar.JarFile) at java.util.jar.JarFile.getEntry(JarFile.java:240) at java.util.jar.JarFile.getJarEntry(JarFile.java:223) at org.apache.catalina.webresources.JarResourceSet.getArchiveEntry(JarResourceSet.java:120) at org.apache.catalina.webresources.AbstractArchiveResourceSet.getResource(AbstractArchiveResourceSet.java:260) at org.apache.catalina.webresources.StandardRoot.getResourceInternal(StandardRoot.java:281) at org.apache.catalina.webresources.Cache.getResource(Cache.java:63) at org.apache.catalina.webresources.StandardRoot.getResource(StandardRoot.java:216) at org.apache.catalina.webresources.StandardRoot.getClassLoaderResource(StandardRoot.java:225) at org.apache.catalina.loader.WebappClassLoaderBase.findResourceInternal(WebappClassLoaderBase.java:2569) at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:2406) at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:831) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1274) - locked <0x0000000401a8d810> (a org.apache.catalina.loader.WebappClassLoader) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1139) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:348) at org.apache.logging.log4j.core.util.Loader.initializeClass(Loader.java:66) at org.apache.logging.log4j.core.impl.ThrowableProxy.loadClass(ThrowableProxy.java:501) at org.apache.logging.log4j.core.impl.ThrowableProxy.toExtendedStackTrace(ThrowableProxy.java:629) at org.apache.logging.log4j.core.impl.ThrowableProxy.<init>(ThrowableProxy.java:111) at com.atlassian.logging.log4j.StackTraceInfo.buildPackagingRepresentation(StackTraceInfo.java:145) at com.atlassian.logging.log4j.StackTraceInfo.buildThrowableStrRep(StackTraceInfo.java:106) at com.atlassian.logging.log4j.StackTraceInfo.<init>(StackTraceInfo.java:43) at com.atlassian.logging.log4j.FilteredPatternLayout.getThrowableStrRep(FilteredPatternLayout.java:359) at com.atlassian.logging.log4j.FilteredPatternLayout.formatStackTrace(FilteredPatternLayout.java:336) at com.atlassian.logging.log4j.FilteredPatternLayout.format(FilteredPatternLayout.java:330) at org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:310) at org.apache.log4j.RollingFileAppender.subAppend(RollingFileAppender.java:276) at org.apache.log4j.WriterAppender.append(WriterAppender.java:162) at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251) - locked <0x0000000401138288> (a org.apache.log4j.RollingFileAppender) at com.atlassian.jira.logging.JiraHomeAppender.doAppend(JiraHomeAppender.java:206) at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66) at org.apache.log4j.Category.callAppenders(Category.java:206) - locked <0x000000040113de30> (a org.apache.log4j.Logger) at org.apache.log4j.Category.forcedLog(Category.java:391) at org.apache.log4j.Category.log(Category.java:856) at org.slf4j.impl.Log4jLoggerAdapter.log(Log4jLoggerAdapter.java:601) at org.apache.commons.logging.impl.SLF4JLocationAwareLog.error(SLF4JLocationAwareLog.java:225) at webwork.util.ValueStack.findValue(ValueStack.java:532) at webwork.util.SimpleTest.test(SimpleTest.java:408) at webwork.util.ValueStack.test(ValueStack.java:157) at webwork.view.taglib.IfTag.doStartTag(IfTag.java:40) at jsp.secure.admin.views.issuefields.screens.viewfieldscreens_jsp._jspx_meth_ww_005fif_005f6(viewfieldscreens_jsp.java:2355) at jsp.secure.admin.views.issuefields.screens.viewfieldscreens_jsp._jspService(viewfieldscreens_jsp.java:281) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) ...
Notes
None
Workaround
None
- is related to
-
JRASERVER-62958 Enabling access logging might cause JIRA to stall
-
- Closed
-
Hi Everyone,
We have recently reviewed this issue and the overall interest in the problem. As the issue hasn't collect votes, watchers, comments, or support cases from many customers during its lifetime, it's very low on our priority list, and will not be fixed in the foreseeable future. That's why we've decided to resolve it as Time Out.
Although we're aware the issue is still important to those of you who were involved in the conversations around it, we want to be clear in managing your expectations. The Jira team is focusing on issues that have broad impact and high value, reflected by the number of comments, votes, support cases, and customers interested. Please consult the Atlassian Bugfix Policy for more details.
We understand how disappointing this decision may be, but we hope you'll appreciate our transparent approach and communication.
Atlassian will continue to watch this issue for further updates, so please feel free to share your thoughts in the comments.
Thank you,
Ewelina Fiedorowicz