PCGen / pcgen

Main code and data development for pcgen program release
http://pcgen.org
GNU Lesser General Public License v2.1
431 stars 341 forks source link

While sitting on character sheet tab and switching to another character, lockup and java errors #5223

Closed woofdunlap closed 5 years ago

woofdunlap commented 5 years ago

Open character, go to character sheet. Then open another character and click on it's tab at the bottom. PCGen spins forever. Must close app window to quit. Java errors are generated.

CentOS 7.6 JDK 11.0.1

pcgen.log.txt

woofdunlap commented 5 years ago

pcgen 6.08.00 RC4

grimreaper commented 5 years ago

Copying relevant piece from the log:

10:07:30.735 SEVERE AWT-EventQueue-0 Main:484 Uncaught error - ignoring
java.lang.NullPointerException
    at pcgen.gui2.tabs.SummaryInfoTab$InfoBoxRenderer.getListCellRendererComponent(SummaryInfoTab.java:1071)
    at java.desktop/javax.swing.plaf.basic.BasicComboBoxUI.getDisplaySize(BasicComboBoxUI.java:1407)
    at java.desktop/javax.swing.plaf.metal.MetalComboBoxUI.getMinimumSize(MetalComboBoxUI.java:351)
    at java.desktop/javax.swing.plaf.basic.BasicComboBoxUI.getPreferredSize(BasicComboBoxUI.java:949)
    at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1680)
    at java.desktop/java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1127)
    at java.desktop/java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:922)
    at java.desktop/java.awt.GridBagLayout.preferredLayoutSize(GridBagLayout.java:742)
    at java.desktop/java.awt.Container.preferredSize(Container.java:1823)
    at java.desktop/java.awt.Container.getPreferredSize(Container.java:1807)
    at java.desktop/javax.swing.JComponent.getPreferredSize(JComponent.java:1682)
    at java.desktop/java.awt.GridBagLayout.GetLayoutInfo(GridBagLayout.java:1127)
    at java.desktop/java.awt.GridBagLayout.getLayoutInfo(GridBagLayout.java:922)
    at java.desktop/java.awt.GridBagLayout.ArrangeGrid(GridBagLayout.java:2090)
    at java.desktop/java.awt.GridBagLayout.arrangeGrid(GridBagLayout.java:2050)
    at java.desktop/java.awt.GridBagLayout.layoutContainer(GridBagLayout.java:818)
    at java.desktop/java.awt.Container.layout(Container.java:1537)
    at java.desktop/java.awt.Container.doLayout(Container.java:1526)
    at java.desktop/java.awt.Container.validateTree(Container.java:1722)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validateTree(Container.java:1731)
    at java.desktop/java.awt.Container.validate(Container.java:1657)
    at pcgen.gui2.tools.CursorControlUtilities.startWaitCursor(CursorControlUtilities.java:50)
    at pcgen.gui2.PCGenStatusBar.startShowingProgress(PCGenStatusBar.java:158)
    at pcgen.gui2.csheet.CharacterSheetPanel.refresh(CharacterSheetPanel.java:123)
    at pcgen.gui2.tabs.CharacterSheetInfoTab.tabSelected(CharacterSheetInfoTab.java:175)
    at pcgen.gui2.tabs.InfoTabbedPane.handleDisplayAware(InfoTabbedPane.java:297)
    at pcgen.gui2.tabs.InfoTabbedPane.stateChanged(InfoTabbedPane.java:304)
    at java.desktop/javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:418)
    at java.desktop/javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:269)
    at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:143)
    at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:74)
    at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:622)
    at java.desktop/javax.swing.JTabbedPane.removeTabAt(JTabbedPane.java:982)
    at java.desktop/javax.swing.JTabbedPane.insertTab(JTabbedPane.java:716)
    at pcgen.gui2.tabs.InfoTabbedPane.updateTabsForCharacter(InfoTabbedPane.java:227)
    at pcgen.gui2.tabs.InfoTabbedPane.setCharacter(InfoTabbedPane.java:175)
    at pcgen.gui2.CharacterTabs.stateChanged(CharacterTabs.java:136)
    at java.desktop/javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:418)
    at java.desktop/javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:269)
    at java.desktop/javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:143)
    at java.desktop/javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:74)
    at java.desktop/javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:622)
    at java.desktop/javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:597)
    at java.desktop/javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:4090)
    at java.desktop/java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:287)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6629)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3342)
    at java.desktop/java.awt.Component.processEvent(Component.java:6397)
    at java.desktop/java.awt.Container.processEvent(Container.java:2263)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4544)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2772)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4840)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
    at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
    at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
woofdunlap commented 5 years ago

This issue also happens on a Mac.

LegacyKing commented 5 years ago

@thpr assuming https://github.com/PCGen/pcgen/pull/5278 is fixing this problem?