1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.
  2. While the majority of active discourse on D20PRO has moved to our Discord Channels, this forum is still active and checked-in on regularly by our staff. However, for the very latest information, conversation and/or immediate support, please join us on Discord here: http://discord.gg/Ph38ckM
    Dismiss Notice

[Linux v3.6.6] d20Pro.sh line endings, XMX @ invocation.settings

Discussion in 'Bug Reports & Installation Support' started by Ken L, Jul 30, 2016.

  1. Ken L

    Ken L Member

    Joined:
    Dec 13, 2015
    Messages:
    90
    Likes Received:
    0
    Firstly, the carriage return line endings prevent the shell script @ d20Pro.sh from being executed.

    Code:
    fromdos d20Pro.sh
    
    will fix that up.

    Secondly there's something wrong with the use of invocation.settings, may be a textual error.

    Code:
    $ Invalid maximum heap size: -Xmx2g
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    
    Commenting out
    Code:
    XMX=2g
    
    in invocation.settings resolves this issue and allows d20pro to finally start.
     
  2. edwardcd

    edwardcd Administrator
    Staff Member

    Joined:
    Oct 13, 2010
    Messages:
    1,374
    Likes Received:
    9
    Hi Ken,

    Thanks, I'll make sure we double check the files before publishing the new installers/downloads.
     
  3. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    636
    Likes Received:
    160
    Thanks for the feedback and report. I'll see what I can to fix that up with the service release coming up. GenCon is eating all my cycles so getting the service fixes out the door is taking longer than I'd like. my apologies!
     
  4. kinwolf

    kinwolf Member

    Joined:
    Nov 20, 2014
    Messages:
    50
    Likes Received:
    5
    Tried to run 3.6.11 on my linux laptop ang it refused to start. The crash happens using the supplied .sh Here is the log, any clue?


    [12 Dec 2016 21:30:42,262] INFO D20 | D20PRO version: 3.6.11
    [12 Dec 2016 21:30:42,265] INFO D20 | Java version: 1.8.0_111
    [12 Dec 2016 21:30:42,266] INFO D20 | Operating System: Linux (4.4.0-38-generic)
    [12 Dec 2016 21:30:51,394] WARN ErrCaptureStream | SLF4J: Class path contains multiple SLF4J bindings.
    SLF4J: Found binding in [jar:file:/home/sylvain/Downloads/D20PRO-3.6.11/lib/slf4j-jcl-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/sylvain/Downloads/D20PRO-3.6.11/lib/slf4j-jdk14-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/sylvain/Downloads/D20PRO-3.6.11/lib/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/sylvain/Downloads/D20PRO-3.6.11/lib/slf4j-nop-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: Found binding in [jar:file:/home/sylvain/Downloads/D20PRO-3.6.11/lib/slf4j-simple-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class]
    SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
    SLF4J: Actual binding is of type [org.slf4j.impl.JCLLoggerFactory]

    [12 Dec 2016 21:30:53,689] WARN CreatureCapabilityTemplate_SpellCaster | Spell Planer Binding not installed
    [12 Dec 2016 21:30:53,693] WARN CreatureCapabilityTemplate_SpellCaster | Spell Flurry of Blows not installed
    [12 Dec 2016 21:30:53,694] WARN CreatureCapabilityTemplate_SpellCaster | Spell Patient Defense not installed
    [12 Dec 2016 21:30:53,694] WARN CreatureCapabilityTemplate_SpellCaster | Spell Step of the Wind not installed
    [12 Dec 2016 21:30:53,695] WARN CreatureCapabilityTemplate_SpellCaster | Spell Deflect Missiles not installed
    [12 Dec 2016 21:30:53,695] WARN CreatureCapabilityTemplate_SpellCaster | Spell Stunning Strike not installed
    [12 Dec 2016 21:30:53,696] WARN CreatureCapabilityTemplate_SpellCaster | Spell Diamond Soul not installed
    [12 Dec 2016 21:30:53,696] WARN CreatureCapabilityTemplate_SpellCaster | Spell Empty Body not installed
    [12 Dec 2016 21:30:53,701] WARN CreatureCapabilityTemplate_SpellCaster | Spell Branding Smite not installed
    [12 Dec 2016 21:30:53,706] WARN CreatureCapabilityTemplate_SpellCaster | Spell Blindness/Deafness not installed
    [12 Dec 2016 21:30:53,711] WARN CreatureCapabilityTemplate_SpellCaster | Spell Arcanists Magic Aura not installed
    [12 Dec 2016 21:30:54,350] WARN ItemTemplate | Ignoring bad Item property: weight=
    [12 Dec 2016 21:30:54,359] WARN ItemTemplate | Ignoring bad Item property: weight=
    [12 Dec 2016 21:30:54,485] FATAL SafeRunnable | Uncaught Exception caught in SafeRunnable: ShowFrameTask (Thread Name: AWT-EventQueue-0)
    java.lang.Exception: Uncaught Exception caught in SafeRunnable: ShowFrameTask (Thread Name: AWT-EventQueue-0)
    at com.sengent.common.threading.SafeRunnable.run(Unknown Source)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    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.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at com.mindgene.d20.common.AbstractApp$CustomEventQueue.dispatchEvent(AbstractApp.java:766)
    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)
    Caused by: java.lang.NoClassDefFoundError: javafx/embed/swing/JFXPanel
    at com.mindgene.d20.common.gamelog.EnhancedGameParticipantPanel.<init>(EnhancedGameParticipantPanel.java:38)
    at com.mindgene.lf.mainmenu.MainMenu.<init>(MainMenu.java:102)
    at com.mindgene.d20.common.AbstractApp.buildContent(AbstractApp.java:1099)
    at com.mindgene.d20.common.AbstractApp.access$500(AbstractApp.java:137)
    at com.mindgene.d20.common.AbstractApp$ShowFrameTask.safeRun(AbstractApp.java:643)
    ... 16 more
    Caused by: java.lang.ClassNotFoundException: javafx.embed.swing.JFXPanel
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    ... 21 more
    [12 Dec 2016 21:30:54,577] FATAL AbstractApp | Unexpected throwable initializing app
    java.lang.NullPointerException
    at com.mindgene.d20.common.AbstractApp.updateTitle(AbstractApp.java:1663)
    at com.mindgene.d20.common.AbstractApp.doAppInit(AbstractApp.java:594)
    at com.mindgene.d20.common.live.LivePanel_LaunchAbstract$LaunchTask.logic(LivePanel_LaunchAbstract.java:383)
    at com.mindgene.d20.common.live.LivePanel_Abstract$AbstractPanelTask.work(LivePanel_Abstract.java:153)
    at com.mindgene.d20.laf.BlockerControl.run(BlockerControl.java:224)
    at java.lang.Thread.run(Thread.java:745)
    at com.mindgene.common.threading.SafeThread.safeRun(SafeThread.java:187)
    at com.mindgene.common.threading.SafeThread.run(SafeThread.java:195)
    [12 Dec 2016 21:30:54,580] ERROR D20LF$Dlg | Unexpected throwable initializing app
    java.lang.NullPointerException
    at com.mindgene.d20.common.AbstractApp.updateTitle(AbstractApp.java:1663)
    at com.mindgene.d20.common.AbstractApp.doAppInit(AbstractApp.java:594)
    at com.mindgene.d20.common.live.LivePanel_LaunchAbstract$LaunchTask.logic(LivePanel_LaunchAbstract.java:383)
    at com.mindgene.d20.common.live.LivePanel_Abstract$AbstractPanelTask.work(LivePanel_Abstract.java:153)
    at com.mindgene.d20.laf.BlockerControl.run(BlockerControl.java:224)
    at java.lang.Thread.run(Thread.java:745)
    at com.mindgene.common.threading.SafeThread.safeRun(SafeThread.java:187)
    at com.mindgene.common.threading.SafeThread.run(SafeThread.java:195)
    [12 Dec 2016 21:30:54,853] WARN ErrCaptureStream | Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at com.mindgene.d20.dm.JudgeKeyboardShortcuts.apply(JudgeKeyboardShortcuts.java:28)
    at com.mindgene.d20.dm.DM$1.run(DM.java:715)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
    at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
    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.awt.EventQueue.dispatchEvent(EventQueue.java:726)
    at com.mindgene.d20.common.AbstractApp$CustomEventQueue.dispatchEvent(AbstractApp.java:766)
    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)
     
  5. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    636
    Likes Received:
    160
    I'll dig into this. I may have you try the beta I'm working on currently as there were some odd calls which we've cleaned up -- however, the work is mixed in with some of the new features so rather difficult to push back to older releases -- i.e. several days worth of work to extract and apply to a branch.

    This type of issue code/version dependency shouldn't happen in the future. There was a miscommunication with a contributor.
     
  6. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    636
    Likes Received:
    160
    Can you run java -version on your system? I think we're hitting a mismatch between java builds -- which can be more annoying to you than to me as java can be involved in many subsystems of a linux box.

    We've been working to bring D20PRO out of the older java model and bring newer javafx calls into play. version greater than 1.8.0_88
     
  7. kinwolf

    kinwolf Member

    Joined:
    Nov 20, 2014
    Messages:
    50
    Likes Received:
    5
    openjdk 1.8.0_111
     
  8. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    636
    Likes Received:
    160
    Okay, then you might want to just try a launch file with the following in it (get rid of all the other stuffs)


    Code:
    #!/bin/sh
    set +u  # Allows unset variables just in this subshell
    
    # This file must be located in the main d20Pro installation directory.
    # Default values
    XMX=512m
    
    exec java -Xmx$XMX -Dsun.java2d.ddoffscreen=false -Dsun.java2d.noddraw -Dsun.java2d.d3d=false -jar D20PRO.jar &
    Where XMX is equal to the desired memory count.

    The invocation.settings seem to just confuse things a fair amount as it overrides the XMX value in the shell script.

    [note] I don't have an openjdk environment to test against.. everything I'm sporting is using full jre/jdk
     
  9. kinwolf

    kinwolf Member

    Joined:
    Nov 20, 2014
    Messages:
    50
    Likes Received:
    5
    The problem was openjdk. I uninstalled it and installed oracle latest jre instead and it works perfectly now. Some other bugs, like not having any SRD showing up, and campaign selection being empty even though I just created one, also disappeared.
     
  10. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    636
    Likes Received:
    160
    I'll look into the SRD and such. In the meantime, can you validate the permissions you're running with? You may need to chown -R the dir tree to make sure you have access to the whole thing.

    The vanishing campaign folders seem like a permission or quota limitation is being struck.
     
  11. kinwolf

    kinwolf Member

    Joined:
    Nov 20, 2014
    Messages:
    50
    Likes Received:
    5
    No need, it really was openjdk that was the problem. It's the default JVM on Linux Mint(and used by libreoffice) but I have no problem having the official JRE installed instead.

    Many search results mentioned alot of problem with openjdk when javafx calls were made, and that's what the log showed, so I made the switch. D20Pro is 100% working now on my ultrabook.
     
  12. edwardcd

    edwardcd Administrator
    Staff Member

    Joined:
    Oct 13, 2010
    Messages:
    1,374
    Likes Received:
    9
    @kinwolf
    Good job finding what was wrong, yes OpenJDK was the culprit. I know I have docs here that show proper install on Linux. Hope it was useful.

    @everyome else
    Yes, as stated in our docs, OpenJDK is not supported. As it does not support JavaFX.

    You could use the open source and include JavaFX in your own build compiling, but as I stated earlier it is highly unlikely that it will work with D20PRO.
     
  13. kinwolf

    kinwolf Member

    Joined:
    Nov 20, 2014
    Messages:
    50
    Likes Received:
    5
    The bug Invalid maximum heap size: -Xmx2g is back in 3.7 and 3.7.1. The fix in the original post works
     

Share This Page