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

Niddler freezes Android Studio #35

Closed
matejdro opened this issue May 24, 2021 · 2 comments
Closed

Niddler freezes Android Studio #35

matejdro opened this issue May 24, 2021 · 2 comments
Assignees
Labels
bug Something isn't working

Comments

@matejdro
Copy link

matejdro commented May 24, 2021

My Android Studio just froze. Looking at the thread dump, it appears Niddler is the culprit:

"AWT-EventQueue-0" #22 prio=6 os_prio=0 cpu=479770.25ms elapsed=8369.57s tid=0x00007f078411e800 nid=0x1bfc4 waiting for monitor entry  [0x00007f074d913000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.get(ObservableLinkedMessageList.kt:81)
	- waiting to lock <0x000000071c27f688> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.NiddlerMessageContainer.getMessagesWithRequestId(NiddlerMessageContainer.kt:67)
	- locked <0x000000071c26bd40> (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:296)
	at javax.swing.JTable.getValueAt(java.desktop@11.0.8/JTable.java:2706)
	at javax.swing.JTable.prepareRenderer(java.desktop@11.0.8/JTable.java:5724)
	at com.intellij.ui.table.JBTable.prepareRenderer(JBTable.java:644)
	at javax.swing.plaf.basic.BasicTableUI.paintCell(java.desktop@11.0.8/BasicTableUI.java:2185)
	at javax.swing.plaf.basic.BasicTableUI.paintCells(java.desktop@11.0.8/BasicTableUI.java:2087)
	at javax.swing.plaf.basic.BasicTableUI.paint(java.desktop@11.0.8/BasicTableUI.java:1883)
	at javax.swing.plaf.ComponentUI.update(java.desktop@11.0.8/ComponentUI.java:161)
	at javax.swing.JComponent.paintComponent(java.desktop@11.0.8/JComponent.java:800)
	at com.intellij.ui.table.JBTable.paintComponent(JBTable.java:366)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1077)
	at com.intellij.ui.table.JBTable.paint(JBTable.java:496)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JViewport.paint(java.desktop@11.0.8/JViewport.java:737)
	at com.intellij.ui.components.JBViewport.paint(JBViewport.java:240)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint(java.desktop@11.0.8/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint(java.desktop@11.0.8/JLayeredPane.java:590)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JComponent.paintChildren(java.desktop@11.0.8/JComponent.java:910)
	- locked <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at javax.swing.JComponent.paint(java.desktop@11.0.8/JComponent.java:1086)
	at javax.swing.JLayeredPane.paint(java.desktop@11.0.8/JLayeredPane.java:590)
	at javax.swing.JComponent.paintToOffscreen(java.desktop@11.0.8/JComponent.java:5263)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(java.desktop@11.0.8/RepaintManager.java:1654)
	at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(java.desktop@11.0.8/RepaintManager.java:1629)
	at javax.swing.RepaintManager$PaintManager.paint(java.desktop@11.0.8/RepaintManager.java:1566)
	at javax.swing.BufferStrategyPaintManager.paint(java.desktop@11.0.8/BufferStrategyPaintManager.java:262)
	at javax.swing.RepaintManager.paint(java.desktop@11.0.8/RepaintManager.java:1333)
	at javax.swing.JComponent._paintImmediately(java.desktop@11.0.8/JComponent.java:5211)
	at javax.swing.JComponent.paintImmediately(java.desktop@11.0.8/JComponent.java:5021)
	at javax.swing.RepaintManager$4.run(java.desktop@11.0.8/RepaintManager.java:868)
	at javax.swing.RepaintManager$4.run(java.desktop@11.0.8/RepaintManager.java:851)
	at java.security.AccessController.doPrivileged(java.base@11.0.8/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@11.0.8/ProtectionDomain.java:85)
	at javax.swing.RepaintManager.paintDirtyRegions(java.desktop@11.0.8/RepaintManager.java:851)
	at javax.swing.RepaintManager.paintDirtyRegions(java.desktop@11.0.8/RepaintManager.java:826)
	at javax.swing.RepaintManager.prePaintDirtyRegions(java.desktop@11.0.8/RepaintManager.java:775)
	at javax.swing.RepaintManager$ProcessingRunnable.run(java.desktop@11.0.8/RepaintManager.java:1901)
	at java.awt.event.InvocationEvent.dispatch(java.desktop@11.0.8/InvocationEvent.java:313)
	at java.awt.EventQueue.dispatchEventImpl(java.desktop@11.0.8/EventQueue.java:776)
	at java.awt.EventQueue$4.run(java.desktop@11.0.8/EventQueue.java:727)
	at java.awt.EventQueue$4.run(java.desktop@11.0.8/EventQueue.java:721)
	at java.security.AccessController.doPrivileged(java.base@11.0.8/Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@11.0.8/ProtectionDomain.java:85)
	at java.awt.EventQueue.dispatchEvent(java.desktop@11.0.8/EventQueue.java:746)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:971)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:841)
	at com.intellij.ide.IdeEventQueue.lambda$null$8(IdeEventQueue.java:452)
	at com.intellij.ide.IdeEventQueue$$Lambda$661/0x00000008008af440.compute(Unknown Source)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:744)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:451)
	at com.intellij.ide.IdeEventQueue$$Lambda$659/0x00000008008aa840.run(Unknown Source)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:495)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@11.0.8/EventDispatchThread.java:203)
	at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@11.0.8/EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@11.0.8/EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(java.desktop@11.0.8/EventDispatchThread.java:109)
	at java.awt.EventDispatchThread.pumpEvents(java.desktop@11.0.8/EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.run(java.desktop@11.0.8/EventDispatchThread.java:90)

   Locked ownable synchronizers:
	- None

"WebSocketConnectReadThread-6945" #6945 prio=6 os_prio=0 cpu=11.17ms elapsed=166.12s tid=0x00007f0733656000 nid=0x28ea2 waiting for monitor entry  [0x00007f05a51cf000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at java.awt.Container.validate(java.desktop@11.0.8/Container.java:1646)
	- waiting to lock <0x0000000703d6c1d0> (a java.awt.Component$AWTTreeLock)
	at com.intellij.ui.tree.ui.DefaultTreeUI$1.getNodeDimensions(DefaultTreeUI.java:367)
	at javax.swing.tree.AbstractLayoutCache.getNodeDimensions(java.desktop@11.0.8/AbstractLayoutCache.java:493)
	at javax.swing.tree.VariableHeightLayoutCache$TreeStateNode.updatePreferredSize(java.desktop@11.0.8/VariableHeightLayoutCache.java:1344)
	at javax.swing.tree.VariableHeightLayoutCache.createNodeAt(java.desktop@11.0.8/VariableHeightLayoutCache.java:767)
	at javax.swing.tree.VariableHeightLayoutCache.treeNodesInserted(java.desktop@11.0.8/VariableHeightLayoutCache.java:476)
	at com.intellij.ui.tree.ui.DefaultTreeUI$2.treeNodesInserted(DefaultTreeUI.java:403)
	at javax.swing.plaf.basic.BasicTreeUI$Handler.treeNodesInserted(java.desktop@11.0.8/BasicTreeUI.java:4285)
	at javax.swing.tree.DefaultTreeModel.fireTreeNodesInserted(java.desktop@11.0.8/DefaultTreeModel.java:544)
	at javax.swing.tree.DefaultTreeModel.nodesWereInserted(java.desktop@11.0.8/DefaultTreeModel.java:331)
	at javax.swing.tree.DefaultTreeModel.insertNodeInto(java.desktop@11.0.8/DefaultTreeModel.java:251)
	at com.chimerapps.niddler.ui.component.view.LinkedTreeModel.itemsInserted(LinkedView.kt:119)
	- locked <0x000000074ab81760> (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:43)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$Companion.addMessage(ObservableLinkedMessageList.kt:33)
	at com.icapps.niddler.lib.model.ObservableLinkedMessagesView.notifyMessageInsert(ObservableLinkedMessageList.kt:132)
	- locked <0x0000000733501a00> (a com.icapps.niddler.lib.model.ObservableLinkedMessagesView)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$$inlined$synchronized$lambda$1.invoke(ObservableLinkedMessageList.kt:62)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList$addMessage$$inlined$synchronized$lambda$1.invoke(ObservableLinkedMessageList.kt:8)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.dispatchToViews(ObservableLinkedMessageList.kt:111)
	- locked <0x0000000710329da0> (a java.util.ArrayList)
	at com.icapps.niddler.lib.model.ObservableLinkedMessageList.addMessage(ObservableLinkedMessageList.kt:62)
	- locked <0x000000071c27f688> (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 <0x0000000796e654d0> (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:34)
	at com.icapps.niddler.lib.connection.WebSocketNiddlerClient.onMessage(NiddlerClient.kt:217)
	at org.java_websocket.client.WebSocketClient.onWebsocketMessage(WebSocketClient.java:593)
	at org.java_websocket.drafts.Draft_6455.processFrameText(Draft_6455.java:885)
	at org.java_websocket.drafts.Draft_6455.processFrame(Draft_6455.java:819)
	at org.java_websocket.WebSocketImpl.decodeFrames(WebSocketImpl.java:379)
	at org.java_websocket.WebSocketImpl.decode(WebSocketImpl.java:216)
	at org.java_websocket.client.WebSocketClient.run(WebSocketClient.java:506)
	at java.lang.Thread.run(java.base@11.0.8/Thread.java:834)

   Locked ownable synchronizers:
	- None

This is with Android Studio Arctic Fox | 2020.3.1 Beta 1 + Niddler 2.10.2

@NicolaVerbeeck
Copy link
Contributor

Is this reproducable somehow?

@NicolaVerbeeck NicolaVerbeeck added the bug Something isn't working label May 24, 2021
@NicolaVerbeeck NicolaVerbeeck self-assigned this May 24, 2021
@matejdro
Copy link
Author

Sorry, I could not reproduce it. It happened once.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants