Code
  1. Code
  2. CODE-1398

Character Sheet Tab unable to process

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 5.17.11, 5.17.12
    • Fix Version/s: 5.17.13, 5.17 Cycle
    • Component/s: NewUI
    • Labels:
      None
    • Environment:
      SVN 16569

      Description

      Open up one of my characters - switch to the character tab and see this where a character sheet should be:

      Unable to process sheet
      java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: plugin/exporttokens/FollowerToken

      This seems to only break the Standard.htm preview sheet.

        Activity

        Hide
        Andrew Maitland
        added a comment -

        Follow up - this seems to only affect characters with Companions

        Here is the rest of the error:

        07:20:50.113 SEVERE AWT-EventQueue-1 CharacterSheetPanel:199 Unable to process sheet:
        java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: plugin/exporttokens/FollowerToken
        at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)
        at java.util.concurrent.FutureTask.get(FutureTask.java:83)
        at pcgen.gui2.csheet.CharacterSheetPanel$RefreshTask$1.run(CharacterSheetPanel.java:184)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641)
        at java.awt.EventQueue.access$000(EventQueue.java:84)
        at java.awt.EventQueue$1.run(EventQueue.java:602)
        at java.awt.EventQueue$1.run(EventQueue.java:600)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:611)
        at pcgen.gui.PCGen_Frame1$WaitCursorEventQueue.dispatchEvent(PCGen_Frame1.java:2934)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
        Caused by: java.lang.NoClassDefFoundError: plugin/exporttokens/FollowerToken
        at plugin.exporttokens.FollowerTypeToken.getToken(FollowerTypeToken.java:135)
        at pcgen.io.ExportHandler.replaceToken(ExportHandler.java:1964)
        at pcgen.io.ExportHandler.replaceTokenSkipMath(ExportHandler.java:187)
        at pcgen.core.VariableProcessor.getExportVariable(VariableProcessor.java:856)
        at pcgen.core.VariableProcessor.lookupVariable(VariableProcessor.java:689)
        at pcgen.core.VariableProcessor.processJepFormula(VariableProcessor.java:606)
        at pcgen.core.VariableProcessor.getJepOnlyVariableValue(VariableProcessor.java:197)
        at pcgen.core.VariableProcessor.getVariableValue(VariableProcessor.java:138)
        at pcgen.core.PlayerCharacter.getVariableValue(PlayerCharacter.java:5018)
        at pcgen.core.PlayerCharacter.getVariableValue(PlayerCharacter.java:4992)
        at pcgen.io.ExportHandler.getVarValue(ExportHandler.java:404)
        at pcgen.io.ExportHandler.processLoop(ExportHandler.java:1044)
        at pcgen.io.ExportHandler.loopFOR(ExportHandler.java:989)
        at pcgen.io.ExportHandler.write(ExportHandler.java:242)
        at pcgen.gui2.facade.CharacterFacadeImpl.export(CharacterFacadeImpl.java:2482)
        at pcgen.gui2.csheet.CharacterSheetPanel$DocumentConstructor.call(CharacterSheetPanel.java:221)
        at pcgen.gui2.csheet.CharacterSheetPanel$DocumentConstructor.call(CharacterSheetPanel.java:213)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
        at java.util.concurrent.FutureTask.run(FutureTask.java:138)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:662)

        Show
        Andrew Maitland
        added a comment - Follow up - this seems to only affect characters with Companions Here is the rest of the error: 07:20:50.113 SEVERE AWT-EventQueue-1 CharacterSheetPanel:199 Unable to process sheet: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: plugin/exporttokens/FollowerToken at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222) at java.util.concurrent.FutureTask.get(FutureTask.java:83) at pcgen.gui2.csheet.CharacterSheetPanel$RefreshTask$1.run(CharacterSheetPanel.java:184) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:641) at java.awt.EventQueue.access$000(EventQueue.java:84) at java.awt.EventQueue$1.run(EventQueue.java:602) at java.awt.EventQueue$1.run(EventQueue.java:600) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:611) at pcgen.gui.PCGen_Frame1$WaitCursorEventQueue.dispatchEvent(PCGen_Frame1.java:2934) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.lang.NoClassDefFoundError: plugin/exporttokens/FollowerToken at plugin.exporttokens.FollowerTypeToken.getToken(FollowerTypeToken.java:135) at pcgen.io.ExportHandler.replaceToken(ExportHandler.java:1964) at pcgen.io.ExportHandler.replaceTokenSkipMath(ExportHandler.java:187) at pcgen.core.VariableProcessor.getExportVariable(VariableProcessor.java:856) at pcgen.core.VariableProcessor.lookupVariable(VariableProcessor.java:689) at pcgen.core.VariableProcessor.processJepFormula(VariableProcessor.java:606) at pcgen.core.VariableProcessor.getJepOnlyVariableValue(VariableProcessor.java:197) at pcgen.core.VariableProcessor.getVariableValue(VariableProcessor.java:138) at pcgen.core.PlayerCharacter.getVariableValue(PlayerCharacter.java:5018) at pcgen.core.PlayerCharacter.getVariableValue(PlayerCharacter.java:4992) at pcgen.io.ExportHandler.getVarValue(ExportHandler.java:404) at pcgen.io.ExportHandler.processLoop(ExportHandler.java:1044) at pcgen.io.ExportHandler.loopFOR(ExportHandler.java:989) at pcgen.io.ExportHandler.write(ExportHandler.java:242) at pcgen.gui2.facade.CharacterFacadeImpl.export(CharacterFacadeImpl.java:2482) at pcgen.gui2.csheet.CharacterSheetPanel$DocumentConstructor.call(CharacterSheetPanel.java:221) at pcgen.gui2.csheet.CharacterSheetPanel$DocumentConstructor.call(CharacterSheetPanel.java:213) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662)
        Hide
        James Dempsey
        added a comment -

        The FOLLOWERTYPE token refers to FollowerToken in the body, but that class will not be available in the classpath of the plugin. This issue has likely been around for years. It will only occur in an installed enviornment, not a standard dev IDE setup too.

        Potential solutions: Move referenced code into a normal PCGen class, either by making FollowerToken a non-plugin token, or moving its code to a another non-plugin class.

        Show
        James Dempsey
        added a comment - The FOLLOWERTYPE token refers to FollowerToken in the body, but that class will not be available in the classpath of the plugin. This issue has likely been around for years. It will only occur in an installed enviornment, not a standard dev IDE setup too. Potential solutions: Move referenced code into a normal PCGen class, either by making FollowerToken a non-plugin token, or moving its code to a another non-plugin class.
        Hide
        James Dempsey
        added a comment -

        Unable to reproduce in IDE, but theoretically viable.

        Show
        James Dempsey
        added a comment - Unable to reproduce in IDE, but theoretically viable.
        Hide
        James Dempsey
        added a comment -

        Moved the token with the shared code back into the main program. This deleted the existing FOLLOWERTOKEN plugin jar, so a copy of the autobuild etc over an existing install may nto fix the issue.

        Show
        James Dempsey
        added a comment - Moved the token with the shared code back into the main program. This deleted the existing FOLLOWERTOKEN plugin jar, so a copy of the autobuild etc over an existing install may nto fix the issue.

          People

          • Assignee:
            James Dempsey
            Reporter:
            Andrew Maitland
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: