Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Another freeze #45

Open
matejdro opened this issue Jul 1, 2021 · 0 comments
Open

Another freeze #45

matejdro opened this issue Jul 1, 2021 · 0 comments

Comments

@matejdro
Copy link

matejdro commented Jul 1, 2021

I've managed to get Niddler to freeze Android Studio once again. Here is the thread dump:

Found one Java-level deadlock:
=============================
"AWT-EventQueue-0":
  waiting to lock monitor 0x00007f107c0f7c00 (object 0x0000000717e1f588, a java.util.ArrayList),
  which is held by "WebSocketConnectReadThread-1158"
"WebSocketConnectReadThread-1158":
  waiting to lock monitor 0x00007f1134007600 (object 0x0000000707d85be8, a java.awt.Component$AWTTreeLock),
  which is held by "AWT-EventQueue-0"

Java stack information for the threads listed above:
===================================================
"AWT-EventQueue-0":
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.get(ObservableLinkedMessageList.kt:81)
	- waiting to lock <0x0000000717e1f588> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.getMessagesWithRequestId(NiddlerMessageContainer.kt:67)
	- locked <0x0000000717de2cb0> (a com.icapps.niddler.lib.model.NiddlerMessageContainer)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.findResponse(NiddlerMessageContainer.kt:72)
	at com.chimerapps.niddler.ui.component.view.TimelineTableModel.getValueAt(TimelineView.kt:302)
	at javax.swing.JTable.getValueAt(java.desktop@11.0.10/JTable.java:2706)
	at javax.swing.JTable.prepareRenderer(java.desktop@11.0.10/JTable.java:5724)
	at com.intellij.ui.table.JBTable.prepareRenderer(JBTable.java:658)
	at javax.swing.plaf.basic.BasicTableUI.paintCell(java.desktop@11.0.10/BasicTableUI.java:2185)
	at javax.swing.plaf.basic.BasicTableUI.paintCells(java.desktop@11.0.10/BasicTableUI.java:2087)
	at javax.swing.plaf.basic.BasicTableUI.paint(java.desktop@11.0.10/BasicTableUI.java:1883)
	at javax.swing.plaf.ComponentUI.update(java.desktop@11.0.10/ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(java.desktop@11.0.10/JComponent.java:800)
	at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:373)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1077)
	at com.intellij.ui.table.JBTable.paint(JBTable.java:503)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JViewport.paint(java.desktop@11.0.10/JViewport.java:737)
	at com.intellij.ui.components.JBViewport.paint(JBViewport.java:241)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint(java.desktop@11.0.10/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint(java.desktop@11.0.10/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.10/JComponent.java:910)
	- locked <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.10/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint(java.desktop@11.0.10/JLayeredPane.java:590)
	at javax.swing.JComponent.paintToOffscreen(java.desktop@11.0.10/JComponent.java:5263)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(java.desktop@11.0.10/RepaintManager.java:1654)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(java.desktop@11.0.10/RepaintManager.java:1629)
	at javax.swing.RepaintManager$PaintManager.paint(java.desktop@11.0.10/RepaintManager.java:1566)
	at javax.swing.BufferStrategyPaintManager.paint(java.desktop@11.0.10/BufferStrategyPaintManager.java:262)
	at javax.swing.RepaintManager.paint(java.desktop@11.0.10/RepaintManager.java:1333)
	at javax.swing.JComponent._paintImmediately(java.desktop@11.0.10/JComponent.java:5211)
	at javax.swing.JComponent.paintImmediately(java.desktop@11.0.10/JComponent.java:5021)
	at javax.swing.RepaintManager$4.run(java.desktop@11.0.10/RepaintManager.java:868)
	at javax.swing.RepaintManager$4.run(java.desktop@11.0.10/RepaintManager.java:851)
	at java.security.AccessController.doPrivileged(java.base@11.0.10/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@11.0.10/ProtectionDomain.java:85)
	at javax.swing.RepaintManager.paintDirtyRegions(java.desktop@11.0.10/RepaintManager.java:851)
	at javax.swing.RepaintManager.paintDirtyRegions(java.desktop@11.0.10/RepaintManager.java:826)
	at javax.swing.RepaintManager.prePaintDirtyRegions(java.desktop@11.0.10/RepaintManager.java:775)
	at javax.swing.RepaintManager$ProcessingRunnable.run(java.desktop@11.0.10/RepaintManager.java:1901)
	at java.awt.event.InvocationEvent.dispatch(java.desktop@11.0.10/InvocationEvent.java:313)
	at java.awt.EventQueue.dispatchEventImpl(java.desktop@11.0.10/EventQueue.java:776)
	at java.awt.EventQueue$4.run(java.desktop@11.0.10/EventQueue.java:727)
	at java.awt.EventQueue$4.run(java.desktop@11.0.10/EventQueue.java:721)
	at java.security.AccessController.doPrivileged(java.base@11.0.10/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@11.0.10/ProtectionDomain.java:85)
	at java.awt.EventQueue.dispatchEvent(java.desktop@11.0.10/EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:843)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
	at com.intellij.ide.IdeEventQueue$$Lambda$714/0x000000080096d440.compute(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
	at com.intellij.ide.IdeEventQueue$$Lambda$713/0x000000080096ec40.run(Unknown Source)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:497)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@11.0.10/EventDispatchThread.java:203)
	at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@11.0.10/EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@11.0.10/EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(java.desktop@11.0.10/EventDispatchThread.java:109)
	at java.awt.EventDispatchThread.pumpEvents(java.desktop@11.0.10/EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.run(java.desktop@11.0.10/EventDispatchThread.java:90)
"WebSocketConnectReadThread-1158":
	at java.awt.Container.addImpl(java.desktop@11.0.10/Container.java:1100)
	- waiting to lock <0x0000000707d85be8> (a java.awt.Component$AWTTreeLock)
	at javax.swing.CellRendererPane.addImpl(java.desktop@11.0.10/CellRendererPane.java:108)
	at java.awt.Container.add(java.desktop@11.0.10/Container.java:436)
	at com.intellij.ui.tree.ui.DefaultTreeUI.getRenderer(DefaultTreeUI.java:170)
	at com.intellij.ui.tree.ui.DefaultTreeUI$1.getNodeDimensions(DefaultTreeUI.java:380)
	at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(java.desktop@11.0.10/AbstractLayoutCache.java:493)
	at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(java.desktop@11.0.10/VariableHeightLayoutCache.java:1344)
	at javax.swing.tree.VariableHeightLayoutCache.createNodeAt(java.desktop@11.0.10/VariableHeightLayoutCache.java:767)
	at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted(java.desktop@11.0.10/VariableHeightLayoutCache.java:476)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.treeNodesInserted(DefaultTreeUI.java:418)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted(java.desktop@11.0.10/BasicTreeUI.java:4285)
	at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted(java.desktop@11.0.10/DefaultTreeModel.java:544)
	at javax.swing.tree.DefaultTreeModel.nodesWereInserted(java.desktop@11.0.10/DefaultTreeModel.java:331)
	at javax.swing.tree.DefaultTreeModel.insertNodeInto(java.desktop@11.0.10/DefaultTreeModel.java:251)
	at com.chimerapps.niddler.ui.component.view.LinkedTreeModel.itemsInserted(LinkedView.kt:119)
	- locked <0x00000007450ef7e8> (a com.chimerapps.niddler.ui.component.view.LinkedTreeModel)
	at com.icapps.niddler.lib.utils.ObservableMutableList.add(ObservableList.kt:17)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.insert(ObservableLinkedMessageList.kt:39)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.addMessage(ObservableLinkedMessageList.kt:33)
	at com.icapps.niddler.lib.model.ObservableLinkedMessagesView.notifyMessageInsert(ObservableLinkedMessageList.kt:132)
	- locked <0x00000007450f4438> (a com.icapps.niddler.lib.model.ObservableLinkedMessagesView)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$1$1.invoke(ObservableLinkedMessageList.kt:62)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$1$1.invoke(ObservableLinkedMessageList.kt:62)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.dispatchToViews(ObservableLinkedMessageList.kt:111)
	- locked <0x0000000717e1f5a0> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.addMessage(ObservableLinkedMessageList.kt:62)
	- locked <0x0000000717e1f588> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer$messageAdapter$1.onServiceMessage(NiddlerMessageContainer.kt:25)
	at com.icapps.niddler.lib.connection.NiddlerClient.onServiceMessage(NiddlerClient.kt:94)
	- locked <0x000000074f59ae98> (a java.util.HashSet)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV1ProtocolHandler.onServiceMessage(NiddlerV1ProtocolHandler.kt:32)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV2ProtocolHandler.onMessage(NiddlerV2ProtocolHandler.kt:31)
	at com.icapps.niddler.lib.connection.protocol.NiddlerV4ProtocolHandler.onMessage(NiddlerV4ProtocolHandler.kt:35)
	at com.icapps.niddler.lib.connection.WebSocketNiddlerClient.onMessage(NiddlerClient.kt:217)
	at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:636)
	at org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:963)
	at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:887)
	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:401)
	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:233)
	at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:516)
	at java.lang.Thread.run(java.base@11.0.10/Thread.java:834)

Found 1 deadlock.

This is with Niddler plugin 2.12.0 and Android Studio Arctic Fox | 2020.3.1 Beta 3

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant