Skip to content

Slow computation of thread dump #308

Description

@thurka
  1. Open heap dump
  2. go to threads
  3. switch to html view
    html thread dump computation takes a long time. Does not happen always, thread dump needs to be long with a lot of local variables. The computation is stuck at following stack trace:
"AWT-EventQueue-0" #21 prio=6 os_prio=31 tid=0x00007fea4c265800 nid=0x11a17 runnable [0x000070001157a000]
   java.lang.Thread.State: RUNNABLE
        at javax.swing.text.StyleContext$SmallAttributeSet.getLocalAttribute(StyleContext.java:801)
        at javax.swing.text.StyleContext$SmallAttributeSet.getAttribute(StyleContext.java:931)
        at javax.swing.text.html.StyleSheet$SmallConversionSet.getAttribute(StyleSheet.java:874)
        at javax.swing.text.StyleContext$SmallAttributeSet.containsAttributes(StyleContext.java:976)
        at javax.swing.text.StyleContext$SmallAttributeSet.equals(StyleContext.java:853)
        at java.util.WeakHashMap.eq(WeakHashMap.java:287)
        at java.util.WeakHashMap.get(WeakHashMap.java:401)
        at java.util.Collections$SynchronizedMap.get(Collections.java:2586)
        - locked <0x0000000797823998> (a java.util.Collections$SynchronizedMap)
        at javax.swing.text.StyleContext.getImmutableUniqueSet(StyleContext.java:520)
        at javax.swing.text.StyleContext.addAttributes(StyleContext.java:340)
        - locked <0x0000000797823930> (a javax.swing.text.html.StyleSheet)
        at javax.swing.text.html.StyleSheet.addAttributes(StyleSheet.java:595)
        at javax.swing.text.AbstractDocument$AbstractElement.addAttributes(AbstractDocument.java:1985)
        at javax.swing.text.AbstractDocument$AbstractElement.<init>(AbstractDocument.java:1777)
        at javax.swing.text.AbstractDocument$LeafElement.<init>(AbstractDocument.java:2502)
        at javax.swing.text.html.HTMLDocument$RunElement.<init>(HTMLDocument.java:4111)
        at javax.swing.text.html.HTMLDocument.createLeafElement(HTMLDocument.java:565)
        at javax.swing.text.DefaultStyledDocument$ElementBuffer.insertElement(DefaultStyledDocument.java:1878)
        at javax.swing.text.DefaultStyledDocument$ElementBuffer.insertUpdate(DefaultStyledDocument.java:1566)
        at javax.swing.text.DefaultStyledDocument$ElementBuffer.insert(DefaultStyledDocument.java:1436)
        at javax.swing.text.DefaultStyledDocument.insert(DefaultStyledDocument.java:212)
        at javax.swing.text.html.HTMLDocument.insert(HTMLDocument.java:431)
        at javax.swing.text.html.HTMLDocument$HTMLReader.flushBuffer(HTMLDocument.java:3738)
        at javax.swing.text.html.HTMLDocument$HTMLReader.addContent(HTMLDocument.java:3678)
        at javax.swing.text.html.HTMLDocument$HTMLReader.addContent(HTMLDocument.java:3643)
        at javax.swing.text.html.HTMLDocument$HTMLReader.preContent(HTMLDocument.java:3561)
        at javax.swing.text.html.HTMLDocument$HTMLReader.handleText(HTMLDocument.java:2574)
        at javax.swing.text.html.parser.DocumentParser.handleText(DocumentParser.java:258)
        at javax.swing.text.html.parser.Parser.handleText(Parser.java:362)
        at javax.swing.text.html.parser.Parser.startTag(Parser.java:405)
        at javax.swing.text.html.parser.Parser.parseTag(Parser.java:1956)
        at javax.swing.text.html.parser.Parser.parseContent(Parser.java:2097)
        at javax.swing.text.html.parser.Parser.parse(Parser.java:2271)
        - locked <0x0000000797823a90> (a javax.swing.text.html.parser.DocumentParser)
        at javax.swing.text.html.parser.DocumentParser.parse(DocumentParser.java:122)
        at javax.swing.text.html.parser.ParserDelegator.parse(ParserDelegator.java:102)
        at javax.swing.text.html.HTMLEditorKit.read(HTMLEditorKit.java:261)
        at javax.swing.JEditorPane.setText(JEditorPane.java:1416)
        at org.graalvm.visualvm.lib.ui.components.HTMLTextArea.setText(HTMLTextArea.java:661)
        at org.graalvm.visualvm.heapviewer.ui.HTMLView.setText(HTMLView.java:111)
        at org.graalvm.visualvm.heapviewer.ui.HTMLView$2$2.done(HTMLView.java:195)
        at javax.swing.SwingWorker$5.run(SwingWorker.java:737)
        at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.run(SwingWorker.java:832)
        at sun.swing.AccumulativeRunnable.run(AccumulativeRunnable.java:112)
        at javax.swing.SwingWorker$DoSubmitAccumulativeRunnable.actionPerformed(SwingWorker.java:842)
        at javax.swing.Timer.fireActionPerformed(Timer.java:313)
        at javax.swing.Timer$DoPostEvent.run(Timer.java:245)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
        at java.awt.EventQueue.access$500(EventQueue.java:97)
        at java.awt.EventQueue$3.run(EventQueue.java:709)
        at java.awt.EventQueue$3.run(EventQueue.java:703)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
        at org.netbeans.core.TimableEventQueue.dispatchEvent(TimableEventQueue.java:136)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

CPU snapshot: snapshot_nps.zip

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions