Details
-
Bug
-
Resolution: Fixed
-
Medium
-
2
-
Description
Summary
We've had cases where the 'Section Macro' with a few other elements simply cause a page to create several threads with the same stack trace taking up all the resources and causing outages.
This is the stack trace:
"http-bio-1990-exec-10" #185 daemon prio=5 os_prio=0 tid=0x0939c400 nid=0x2755 runnable [0x6cebb000] java.lang.Thread.State: RUNNABLE at java.util.regex.Pattern$Curly.match1(Pattern.java:4293) at java.util.regex.Pattern$Curly.match(Pattern.java:4236) at java.util.regex.Pattern$GroupHead.match(Pattern.java:4658) at java.util.regex.Pattern$Start.match(Pattern.java:3461) at java.util.regex.Matcher.search(Matcher.java:1248) at java.util.regex.Matcher.find(Matcher.java:637) at com.atlassian.confluence.extra.layout.SectionMacro.execute(SectionMacro.java:71) at com.atlassian.confluence.extra.layout.xhtml.SectionMacro.execute(SectionMacro.java:18) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at com.atlassian.confluence.macro.xhtml.XhtmlMacroManager$ResourceAwareMacroInvocationHandler.invoke(XhtmlMacroManager.java:203) at com.sun.proxy.$Proxy2576.execute(Unknown Source) at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller.executeMacro(ViewMacroMarshaller.java:249) at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller.marshalInternal(ViewMacroMarshaller.java:169) at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller.lambda$marshal$0(ViewMacroMarshaller.java:122) at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller$$Lambda$893/5860945.marshal(Unknown Source) at com.atlassian.confluence.impl.content.render.xhtml.analytics.MetricsCollectingMarshaller.marshal(MetricsCollectingMarshaller.java:52) at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller.marshal(ViewMacroMarshaller.java:131) at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller.marshal(ViewMacroMarshaller.java:57) at com.atlassian.confluence.content.render.xhtml.UnmarshalMarshalFragmentTransformer.transform(UnmarshalMarshalFragmentTransformer.java:29) at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transformFragment(DefaultFragmentTransformer.java:141) at com.atlassian.confluence.content.render.xhtml.transformers.DefaultFragmentTransformer.transform(DefaultFragmentTransformer.java:123) at com.atlassian.confluence.content.render.xhtml.storage.StorageXhtmlTransformer.transform(StorageXhtmlTransformer.java:41) at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33) at com.atlassian.confluence.content.render.xhtml.TransformerChain.transform(TransformerChain.java:33) at com.atlassian.confluence.content.render.xhtml.PluggableTransformerChain.transform(PluggableTransformerChain.java:39) at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:143) at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:117) at com.atlassian.confluence.content.render.xhtml.DefaultRenderer.render(DefaultRenderer.java:111) at com.atlassian.confluence.content.render.xhtml.DeviceTypeAwareRenderer.render(DeviceTypeAwareRenderer.java:42)
Full stacktrace available here:
thread_stacktrace.txt
We could also see that a single page is the problem. In a case, we believe this was cause by a failed operation to save a draft.
The content necessary to cause the issue is not absolutely clear, but we:
- Copied the 'body' from bodycontent from an affected page
- Injected into the 'body' of an existing page in a test instance (same version)
- Apart from that page, the instance was empty
- We replicated it in every case. An outage was caused, CPU had a spike at around 200% and an outage occurred very quickly, though nothing else was used
- Same thread strack trace
- For this test, only the 'body' of the page was copied, so no other meta data connected to the page was necessary to cause it.
Environment
Affected version: 1000.130.1
Steps to Reproduce
- Access an affected page with section macro (section macro alone is not enough, but it's not yet absolutely clear what in the page causes it)
Expected Results
Page loads successfully.
Actual Results
An outage is caused with threads taking up all resources.
Workaround
- Disable the 'Layout Macros' add-on to prevent this error
- Once the page in identified, removing it or only its version should resolve the issue.
Attachments
Issue Links
- is caused by
-
CONFSERVER-35285 Slowness Rendering a Page with the 'Section' Macro
- Closed
- mentioned in
-
Page Loading...