Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Next challenges

Recent achievements

  • Global
  • Personal

Recognition

  • Give kudos
  • Received
  • Given

Leaderboard

  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Pages that have used plantuml do not load and then confluence hangs over same

Hi

We are using Plantuml v6.24 with confluence v6.10.0, we are seeing issues with confluence pages that use the plantuml plugin in which they do not load but pages that do not have the plantuml in use load fine. When we look at the logs for confluence and we can see the plantuml flagged in same see below. We operate our confluence on a Linux platform.

Output of catalina.out below

Does plantuml have a log file when it is used with confluence and if so what is it called and where does it usually reside on a redhat linux platform?

Output of catalina.out

17-Oct-2018 08:31:08.339 WARNING [ContainerBackgroundProcessor[StandardEngine[Standalone]]] org.apache.catalina.valves.StuckThreadDetectionValve.notifyStuckThreadDetected Thread [http-nio-8080-exec-62] (id=[3644]) has been active for [183,254] milliseconds (since [10/17/18 8:28 AM]) to serve the same request for [http://confluence:8080/pages/viewpage.action?spaceKey=~peterh&title=Verizon+RFI+Follow-Up] and may be stuck (configured threshold for this StuckThreadDetectionValve is [180] seconds). There is/are [48] thread(s) in total that are monitored by this Valve and may be stuck.
 java.lang.Throwable
        at net.sourceforge.plantuml.SourceStringReader.<init>(SourceStringReader.java:85)
        at net.sourceforge.plantuml.SourceStringReader.<init>(SourceStringReader.java:78)
        at net.sourceforge.plantuml.SourceStringReader.<init>(SourceStringReader.java:70)
        at de.griffel.confluence.plugins.plantuml.PlantUmlMacro$MySourceStringReader.<init>(PlantUmlMacro.java:483)
        at de.griffel.confluence.plugins.plantuml.PlantUmlMacro.render(PlantUmlMacro.java:219)
        at de.griffel.confluence.plugins.plantuml.PlantUmlMacro.executeInternal(PlantUmlMacro.java:201)
        at de.griffel.confluence.plugins.plantuml.PlantUmlMacroV4.execute(PlantUmlMacroV4.java:78)
        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:204)
        at com.sun.proxy.$Proxy2626.execute(Unknown Source)
        at com.atlassian.confluence.content.render.xhtml.view.macro.ViewMacroMarshaller.executeMacro(ViewMacroMarshaller.java:273)

3 answers

We've seen this in our environment as well when used in conjuction with DITAA-diagrams.

Creating a diagram like this:

/--------\       /--------\
| | XYZ | |
| +-----+ |
| ABC | | DEF |
| | TST | |
| +-----+ |
| | | |
| | | |
\--------/ \--------/

 Where there are two connections between the same element (The texts are optional)

And clicking Save leads to Confluence loading forever when attempting to load this page. If we (in Datacenter) go to Clustering we can see that the CPU load quickly reaches 200%

From there we can view the Live Activity of the Cluster node which (for me atleast) looks like this:

plantum-liveactivity.pngAll different requests are various algamations of trying to load the page. Some via the REST API and some by navigating to it by PageID and some by Page Title.

 

Using JQuery to fetch the page data and expand the body via the REST API like this

AJS.$.get("/rest/api/content/{pageID}?expand=body.view,metadata.labels", function(r) {console.log(r)});

makes the request hang and become one in the bunch above.

If we remove the .view parameter we can load everyting just fine in a few seconds

AJS.$.get("/rest/api/content/{pageID}?expand=body,metadata.labels", function(r) {console.log(r)});

>> {id: pageId, type: "page", status: "current", ... }

 

I downloaded ditaa0.9 from their Source Fourge to try it out and entering the above diagram gives me this output: 

output.png

 

We're running Confluence 6.15.8 and can replicate this in PlantUML 6.39 and 6.40 (haven't tried earlier versions, but the problem was discovered on a page with a single revision created in late 2018 so I believe it has been present for a while).

 

The only way around it currently is to reboot the node that Confluence is running on and my hours of testing has made the node reach >400% CPU load.

 

I hope this helps someone else and reaches the team behind PlantUML as they have no active support

0 votes

Paul,

You can find your Confluence logs at atlassian-confluence.log. For information on where to find them, have a look at Working with Confluence Logs.

You should be able to check here when you load the problematic pages to see what the issue is.

I would also recommend using Developer Console in your browser (Network tab) in order to see if it gets hung anywhere in particular.

I'm not familiar with the add-on itself to provide much further troubleshooting on it, but I've tagged the add-on here and included this in the Marketplace collection, in case there are any Community members that may be able to offer additional insight.

Regards,

Shannon

We have the same issue on PlantUML 6.20 and 6.37 both on Confluence 6.13.9 DC. For some reason PlantUML goes on an infinite loop (found from thread dumps) when viewing some page with a basic UML diagram. This uses up a lot of CPU and the only way to kill it is by a restart. You can't even kill the process via JavaMelody. 

plant uml jm.GIF

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Marketplace Apps & Integrations

New Cloud Apps Roundup - Spring 2021

Atlassian's marketplace partners have had a very productive start to 2021! Since our last roundup, our developer community has added over 160 new cloud apps to the Atlassian Marketplace to help you...

89 views 1 12
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you