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

PCGen loads forever when viewing Character Sheet a second time #4272

Closed AVellucci closed 5 years ago

AVellucci commented 6 years ago

Loading up my Characters and changing nothing, just to be sure it's not crashing while making changes, but when I view the Chracter Sheet tab, then switch to another, and switch right back to Character Sheet PCGen goes into an infinite load cycle with the loading bar stuck on "Refreshing Character". This is the Error received when this infinite load occurs.

16:20:16.535 SEVERE AWT-EventQueue-0 Main:544 Uncaught error - ignoring
java.lang.RuntimeException: No Context associated with current Thread
    at org.mozilla.javascript.Context.getContext(Context.java:2463)
    at org.mozilla.javascript.ScriptableObject.removeSlot(ScriptableObject.java:3111)
    at org.mozilla.javascript.ScriptableObject.delete(ScriptableObject.java:607)
    at org.lobobrowser.html.js.Window.clearState(Window.java:91)
    at org.lobobrowser.html.js.Window.setDocument(Window.java:109)
    at org.lobobrowser.html.domimpl.HTMLDocumentImpl.<init>(HTMLDocumentImpl.java:103)
    at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(DocumentBuilderImpl.java:143)
    at org.lobobrowser.html.parser.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:97)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
    at pcgen.gui2.csheet.CharacterSheetPanel$RefreshTask.lambda$done$0(CharacterSheetPanel.java:165)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    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:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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 am running MacOS 10.14 & 10.13 PCGen 6.07.08 (running Bahamut sources)

LegacyKing commented 6 years ago

Send the character file to HELP@pcgen.org

LegacyKing commented 6 years ago

Also, since this involves 3rd party data sets, the chances of us directly fixing it is pretty much nil. You might want to reach out to Bahamut, and see if he can address.

AVellucci commented 5 years ago

I tested this again with the default PCGen data files and it looks to still occur. I'm testing with a human character that is a lvl 1 fighter, nothing has been edited at all except giving the character a name and race and level. It doesn't look to be specific to my character data, since it will happen on all my varying characters. I provided the info that I was using Bahamut's data files just for clarity reasons, I don't believe it's caused directly by the sources if it was it would probably freeze up as soon as I view the character sheet, not when I go to view it a second time only.

Zaister commented 5 years ago

I have just tried this with a human level 1 fighter I created with only the Pathfinder Core Rulebook dataset loaded and the Standard.htm.ftl character sheet, without any of the problems you described. On your test with the level 1 fighter, which data set did you have loaded, and which character sheet was selected on the character sheet tab?

AVellucci commented 5 years ago

I've got just 3.5e Core loaded(I'm just using the simplified source loading) and I use the Fantasy_Character_Sheet.html, but I do seem to still encounter the error with other Character sheets as well.

LegacyKing commented 5 years ago

That sheet no longer exists as of the future release of 6.07.09.

AVellucci commented 5 years ago

I'd be up to make corrections to that sheet to bring it back for future versions but it's not specific to Fantasy Character Sheet. Going from preview.html to compact.htm I get the same error.

12:56:33.203 SEVERE AWT-EventQueue-0 Main:544 Uncaught error - ignoring
java.lang.RuntimeException: No Context associated with current Thread
    at org.mozilla.javascript.Context.getContext(Context.java:2463)
    at org.mozilla.javascript.ScriptableObject.removeSlot(ScriptableObject.java:3111)
    at org.mozilla.javascript.ScriptableObject.delete(ScriptableObject.java:607)
    at org.lobobrowser.html.js.Window.clearState(Window.java:91)
    at org.lobobrowser.html.js.Window.setDocument(Window.java:109)
    at org.lobobrowser.html.domimpl.HTMLDocumentImpl.<init>(HTMLDocumentImpl.java:103)
    at org.lobobrowser.html.parser.DocumentBuilderImpl.createDocument(DocumentBuilderImpl.java:143)
    at org.lobobrowser.html.parser.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:97)
    at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:121)
    at pcgen.gui2.csheet.CharacterSheetPanel$RefreshTask.lambda$done$0(CharacterSheetPanel.java:165)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    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:74)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
    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)

It think it might have something to do with the .html files but I'm not a java person so I can't provide any concrete evidence, only that when refreshing the character sheets it looks like .html files are causing an error when you go from an html to any other sheet that seems to be what causes this . crash, but not going from htm to html, it seems to be when you unload it to refresh it thats when it happens

jroubi commented 2 years ago

I also have the same problem. Using default resources loaded in Pathfinder. I cannot reload the preview.html sheet or leave the sheet from preview to any other sheets without causing a character refreshing loop. It's seems to crash.