JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-301  -  Deadlock in the adminstration console upon startup
Posted Aug 05, 2014 - updated Aug 15, 2018
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Bug report
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     lolo4j
  • Owned by
    Not owned by anyone
  • Category
    GUI
  • Resolution
    RESOLVED
  • Priority
    Normal
  • Reproducability
    Rarely
  • Severity
    Normal
  • Targetted for
    icon_milestones.png JPPF 4.2.x
Issue description
For the first time, I got this deadlock as reported by VisualVM, causing the ocnsole to freeze before any server or node is displayed:
Found one Java-level deadlock:
=============================
 
"StasHandler-0001":
  waiting to lock monitor 0x000000000f0df708 (object 0x00000000f864dd98, a java.awt.Component$AWTTreeLock),
  which is held by "AWT-EventQueue-0"
"AWT-EventQueue-0":
  waiting to lock monitor 0x00000000096f21e8 (object 0x00000000f870efd8, a org.jppf.ui.monitoring.data.StatsHandler),
  which is held by "StasHandler-0001"
 
Java stack information for the threads listed above:
===================================================
 
"StasHandler-0001":
  at java.awt.Component.setFont(Component.java:1874)
  - waiting to lock <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at java.awt.Container.setFont(Container.java:1743)
  at javax.swing.JComponent.setFont(JComponent.java:2750)
  at javax.swing.plaf.basic.BasicComboBoxRenderer.getListCellRendererComponent(BasicComboBoxRenderer.java:115)
  at javax.swing.plaf.basic.BasicListUI.updateLayoutState(BasicListUI.java:1361)
  at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState(BasicListUI.java:1311)
  at javax.swing.plaf.basic.BasicListUI$Handler.valueChanged(BasicListUI.java:2623)
  at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:184)
  at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:164)
  at javax.swing.DefaultListSelectionModel.fireValueChanged(DefaultListSelectionModel.java:211)
  at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:405)
  at javax.swing.DefaultListSelectionModel.changeSelection(DefaultListSelectionModel.java:415)
  at javax.swing.DefaultListSelectionModel.setSelectionInterval(DefaultListSelectionModel.java:459)
  at javax.swing.JList.setSelectedIndex(JList.java:2212)
  at javax.swing.plaf.basic.BasicComboPopup.setListSelection(BasicComboPopup.java:1144)
  at javax.swing.plaf.basic.BasicComboPopup.access$300(BasicComboPopup.java:63)
  at javax.swing.plaf.basic.BasicComboPopup$Handler.itemStateChanged(BasicComboPopup.java:982)
  at javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1225)
  at javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1282)
  at javax.swing.JComboBox.contentsChanged(JComboBox.java:1329)
  at javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:118)
  at javax.swing.DefaultComboBoxModel.setSelectedItem(DefaultComboBoxModel.java:93)
  at javax.swing.DefaultComboBoxModel.addElement(DefaultComboBoxModel.java:131)
  at javax.swing.JComboBox.addItem(JComboBox.java:718)
  at org.jppf.ui.monitoring.data.NewConnectionTask.run(NewConnectionTask.java:87)
  - locked <0x00000000f870efd8> (a org.jppf.ui.monitoring.data.StatsHandler)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
  at java.util.concurrent.FutureTask.run(FutureTask.java:262)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
  at java.lang.Thread.run(Thread.java:744)
 
"AWT-EventQueue-0":
  at org.jppf.ui.monitoring.data.StatsHandler.getCurrentConnection(StatsHandler.java:376)
  - waiting to lock <0x00000000f870efd8> (a org.jppf.ui.monitoring.data.StatsHandler)
  at org.jppf.ui.monitoring.data.StatsHandler.getStatsCount(StatsHandler.java:289)
  at org.jppf.ui.monitoring.MonitorTableModel.getValueAt(MonitorTableModel.java:86)
  at javax.swing.JTable.getValueAt(JTable.java:2717)
  at javax.swing.JTable.prepareRenderer(JTable.java:5719)
  at javax.swing.plaf.basic.BasicTableUI.paintCell(BasicTableUI.java:2114)
  at javax.swing.plaf.basic.BasicTableUI.paintCells(BasicTableUI.java:2016)
  at javax.swing.plaf.basic.BasicTableUI.paint(BasicTableUI.java:1812)
  at javax.swing.plaf.ComponentUI.update(ComponentUI.java:161)
  at javax.swing.JComponent.paintComponent(JComponent.java:778)
  at javax.swing.JComponent.paint(JComponent.java:1054)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JViewport.paint(JViewport.java:731)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JComponent.paintChildren(JComponent.java:887)
  - locked <0x00000000f864dd98> (a java.awt.Component$AWTTreeLock)
  at javax.swing.JComponent.paint(JComponent.java:1063)
  at javax.swing.JComponent.paintToOffscreen(JComponent.java:5219)
  at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1529)
  at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1452)
  at javax.swing.RepaintManager.paint(RepaintManager.java:1249)
  at javax.swing.JComponent._paintImmediately(JComponent.java:5167)
  at javax.swing.JComponent.paintImmediately(JComponent.java:4978)
  at javax.swing.RepaintManager$3.run(RepaintManager.java:808)
  at javax.swing.RepaintManager$3.run(RepaintManager.java:796)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
  at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:796)
  at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:769)
  at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:718)
  at javax.swing.RepaintManager.access$1100(RepaintManager.java:62)
  at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1677)
  at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:251)
  at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:733)
  at java.awt.EventQueue.access$200(EventQueue.java:103)
  at java.awt.EventQueue$3.run(EventQueue.java:694)
  at java.awt.EventQueue$3.run(EventQueue.java:692)
  at java.security.AccessController.doPrivileged(Native Method)
  at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
  at java.awt.EventQueue.dispatchEvent(EventQueue.java:703)
  at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
  at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
  at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
  at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
Steps to reproduce this issue
possibly by clicking on the "Server stats" tab before any server or node is displayed

#3
Comment posted by
 lolo4j
Aug 05, 18:19
fixed in: