Java Exception Adding Level to Character

Description

I receive this error when attempting to add a level to a character's initial class selection:
09:57:40.689 INFO AWT-EventQueue-0 CharacterFacadeImpl:816 Krizzikt: Adding level 1 in class Alchemist
09:57:40.697 SEVERE AWT-EventQueue-0 PlayerCharacter:10670 Internal Error: Re-entrant prohibition of interaction
09:57:41.210 SEVERE AWT-EventQueue-0 Main:614 Uncaught error - ignoring
java.lang.NullPointerException
at pcgen.core.pclevelinfo.PCLevelInfo.getBonusSkillPool(PCLevelInfo.java:286)
at pcgen.core.pclevelinfo.PCLevelInfo.getSkillPointsGained(PCLevelInfo.java:143)
at pcgen.core.PlayerCharacter.checkSkillModChangeForLevel(PlayerCharacter.java:9982)
at pcgen.core.PlayerCharacter.checkSkillModChange(PlayerCharacter.java:9970)
at pcgen.core.PlayerCharacter.calcActiveBonuses(PlayerCharacter.java:5150)
at pcgen.core.PlayerCharacter.clone(PlayerCharacter.java:7803)
at pcgen.core.Kit.testApplyKit(Kit.java:306)
at pcgen.core.Kit.testApplyKit(Kit.java:285)
at pcgen.core.Kit.applyKit(Kit.java:429)
at plugin.lsttokens.KitLst.applyChoice(KitLst.java:177)
at plugin.lsttokens.KitLst.applyChoice(KitLst.java:53)
at pcgen.cdom.base.ConcreteTransitionChoice.act(ConcreteTransitionChoice.java:289)
at pcgen.cdom.facet.KitChoiceFacet.dataAdded(KitChoiceFacet.java:79)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
at pcgen.cdom.facet.model.TemplateFacet.dataAdded(TemplateFacet.java:56)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
at pcgen.cdom.facet.input.TemplateInputFacet.directAdd(TemplateInputFacet.java:117)
at pcgen.cdom.facet.input.TemplateInputFacet.add(TemplateInputFacet.java:59)
at pcgen.core.PlayerCharacter.addTemplate(PlayerCharacter.java:4919)
at pcgen.core.PlayerCharacter.addTemplatesIfMissing(PlayerCharacter.java:8671)
at pcgen.core.PlayerCharacter.processAddition(PlayerCharacter.java:9620)
at pcgen.cdom.facet.ObjectAdditionFacet.dataAdded(ObjectAdditionFacet.java:60)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
at pcgen.cdom.facet.CDOMObjectConsolidationFacet.add(CDOMObjectConsolidationFacet.java:70)
at pcgen.cdom.facet.CDOMObjectConsolidationFacet.dataAdded(CDOMObjectConsolidationFacet.java:136)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractSourcedListFacet.add(AbstractSourcedListFacet.java:98)
at pcgen.cdom.facet.CharacterConsolidationFacet.dataAdded(CharacterConsolidationFacet.java:66)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
at pcgen.cdom.facet.model.SimpleAbilityFacet.dataAdded(SimpleAbilityFacet.java:17)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.add(AbstractCNASEnforcingFacet.java:72)
at pcgen.cdom.facet.base.AbstractCNASEnforcingFacet.dataAdded(AbstractCNASEnforcingFacet.java:197)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:263)
at pcgen.cdom.facet.base.AbstractDataFacet.fireDataFacetChangeEvent(AbstractDataFacet.java:204)
at pcgen.cdom.facet.base.AbstractListFacet.add(AbstractListFacet.java:72)
at pcgen.cdom.facet.ConditionallyGrantedAbilityFacet.update(ConditionallyGrantedAbilityFacet.java:99)
at pcgen.core.PlayerCharacter.setLevelWithoutConsequence(PlayerCharacter.java:9577)
at pcgen.core.PCClass.addLevel(PCClass.java:921)
at pcgen.core.PlayerCharacter.incrementClassLevel(PlayerCharacter.java:7349)
at pcgen.core.PlayerCharacter.incrementClassLevel(PlayerCharacter.java:7249)
at pcgen.core.PlayerCharacter.incrementClassLevel(PlayerCharacter.java:5750)
at pcgen.gui2.facade.CharacterFacadeImpl.addCharacterLevels(CharacterFacadeImpl.java:819)
at pcgen.gui2.tabs.SummaryInfoTab$AddLevelsAction.actionPerformed(SummaryInfoTab.java:1374)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
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:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
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)

I cannot provide a character file as I also cannot save the character and receive this error on attempting to do so:

10:10:35.133 INFO AWT-EventQueue-0 CharacterManager:427 Saving character Krizzikt - /home/mpotter/Documents/Krizzikt.pcg
10:10:35.135 SEVERE AWT-EventQueue-0 PCGenFrame:721 Level cannot be negative in getClassLevel
java.lang.IllegalArgumentException: Level cannot be negative in getClassLevel
at pcgen.cdom.facet.model.ClassFacet$ClassInfo.getClassLevel(ClassFacet.java:529)
at pcgen.cdom.facet.model.ClassFacet.getClassLevel(ClassFacet.java:147)
at pcgen.core.display.CharacterDisplay.getActiveClassLevel(CharacterDisplay.java:1389)
at pcgen.io.PCGVer2Creator.appendClassLines(PCGVer2Creator.java:932)
at pcgen.io.PCGVer2Creator.createPCGString(PCGVer2Creator.java:288)
at pcgen.io.PCGIOHandler.write(PCGIOHandler.java:380)
at pcgen.gui2.facade.CharacterFacadeImpl.save(CharacterFacadeImpl.java:2880)
at pcgen.system.CharacterManager.saveCharacter(CharacterManager.java:436)
at pcgen.gui2.PCGenFrame.reallySaveCharacter(PCGenFrame.java:717)
at pcgen.gui2.PCGenFrame.showSaveCharacterChooser(PCGenFrame.java:1024)
at pcgen.gui2.PCGenFrame.showSaveCharacterChooser(PCGenFrame.java:1026)
at pcgen.gui2.PCGenFrame.showSaveCharacterChooser(PCGenFrame.java:1026)
at pcgen.gui2.PCGenFrame.showSaveCharacterChooser(PCGenFrame.java:1026)
at pcgen.gui2.PCGenFrame.saveCharacter(PCGenFrame.java:698)
at pcgen.gui2.PCGenActionMap$SaveAction.actionPerformed(PCGenActionMap.java:629)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:289)
at java.awt.Component.processMouseEvent(Component.java:6533)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6298)
at java.awt.Container.processEvent(Container.java:2236)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2294)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4888)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4525)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4466)
at java.awt.Container.dispatchEventImpl(Container.java:2280)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
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:76)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
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)

The results are the same for any race/character class based on my testing. I have tried about 6 six different combinations including using races and classes from just the Core Rules. In lieu of a character file I have attached screenshots that should show enough information to get started. I am more than happy to provide any information needed.

Environment

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"

java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

Activity

Show:
Andrew Maitland
October 15, 2016, 3:18 PM

or can one of you take a look at this?

Eitan Adler
December 27, 2018, 7:19 AM

This has since been fixed. Closing unless reporter indicates its still a problem.

Cancelled

Assignee

Unassigned

Reporter

Mark L. Potter

Labels

Theme

None

Epic/Theme

None

Pending User Input

No

Affects versions

Priority

Minor
Configure