1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

D20pro 3.7.2 on macOS 11.13.2 (High Sierra) difficulties

Discussion in 'Bug Reports & Installation Support' started by Gnorr, Jan 7, 2018.

  1. Gnorr

    Gnorr New Member

    Joined:
    May 1, 2011
    Messages:
    18
    Likes Received:
    0
    Here is my current (unsuccessful) experience on attempting to use 3.7.2 on High Sierra.

    1) Download D20PRO-Mac-3.7.2.zip

    2) Unpack into directory D20PRO

    3) Double Click D20PRO/data/D20PRO.jar as directed by README_Mac.txt

    4) Error dialog: “D20PRO.jar” can’t be opened because it is from an unidentified developer.

    5) Start D20PRO/data/D20PRO.jar with Right Click, select "Open" from menu, allow application from developer

    6) D20Pro 3.7.2. Splash Screen appears

    7) Error Dialog appears: Failed to initialize com.apple.eawt.Application.addApplicationListener(Lcom/apple/eawt/ApplicationListener;)V, has OK button

    8) Do not press OK button, but wait a few seconds

    9) D20PRO News Dialog appears (Error dialog stays up in background)

    10) Click OK in News Dialog, News Dialog closes, Splash Screen visible and shows Loading …

    11) Nothing happens ...

    12) Give up and click OK button on Error Dialog (the Failed to initialize … one still visible in the background)

    13) D20Pro closes

    Logfile

    [07 Jan 2018 18:16:04,626] INFO D20 | D20PRO version: 3.7.2
    [07 Jan 2018 18:16:04,627] INFO D20 | Java version: 9.0.1
    [07 Jan 2018 18:16:04,627] INFO D20 | Operating System: Mac OS X (10.13.2)
    [07 Jan 2018 18:16:07,357] FATAL D20 | Unexpected throwable initializing app
    java.lang.NoSuchMethodError: com.apple.eawt.Application.addApplicationListener(Lcom/apple/eawt/ApplicationListener;)V
    at com.mindgene.d20.common.mac.MacHandler.initialize(MacHandler.java:53)
    at com.mindgene.d20.D20.init(D20.java:157)
    at com.mindgene.d20.D20.main(D20.java:235)
    [07 Jan 2018 18:16:15,403] ERROR JFXThread | Failed to run: com.d20pro.temp_extraction.common.jxbrowser.JxBrowserFactory$$Lambda$177/1836799525@568d622b
    java.lang.IllegalStateException: Browser Core cannot be initialized in JavaFX Application Thread on Mac OS.
    at com.teamdev.jxbrowser.chromium.BrowserCore.initialize(SourceFile:50)
    at com.d20pro.temp_extraction.common.jxbrowser.JxBrowserFactory.initBrowser(JxBrowserFactory.java:49)
    at com.d20pro.temp_extraction.common.jxbrowser.JxBrowserFactory.initCore(JxBrowserFactory.java:43)
    at com.d20pro.temp_extraction.common.jxbrowser.JxBrowserFactory.lambda$getLightWeightBrowser$0(JxBrowserFactory.java:70)
    at com.mesamundi.jfx.thread.JFXThread.runWrap(JFXThread.java:121)
    at com.mesamundi.jfx.thread.JFXThread.lambda$wrapRun$1(JFXThread.java:142)
    at com.mesamundi.jfx.thread.RunLaterWaiter.runLaterAndWait(RunLaterWaiter.java:21)
    at com.mesamundi.jfx.thread.JFXThread.runSafeWait(JFXThread.java:59)
    at com.d20pro.temp_extraction.common.jxbrowser.JxBrowserFactory.getLightWeightBrowser(JxBrowserFactory.java:63)
    at com.d20pro.temp_extraction.common.jxbrowser.JxBrowserLightweightBasicPanel.init(JxBrowserLightweightBasicPanel.java:33)
    at com.d20pro.temp_extraction.common.jxbrowser.JxBrowserLightweightBasicPanel.<init>(JxBrowserLightweightBasicPanel.java:20)
    at com.mindgene.d20.common.psa.PublicServiceAnnouncementWRP.lambda$new$0(PublicServiceAnnouncementWRP.java:26)
    at com.mindgene.d20.JFXLAF.lambda$pokeScene$0(JFXLAF.java:74)
    at com.mesamundi.jfx.thread.JFXThread.runWrap(JFXThread.java:121)
    at com.mesamundi.jfx.thread.JFXThread.lambda$wrapRun$1(JFXThread.java:142)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$9(Unknown Source)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at javafx.graphics/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(Unknown Source)
    at javafx.graphics/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(Unknown Source)
    [07 Jan 2018 18:16:20,228] WARN ErrCaptureStream | 06:16:20 SEVERE: [0107/181619:ERROR:browser-process-stub.cpp(64)] Not implemented reached in virtual ProfileManager *BrowserProcessStub::profile_manager()
     
  2. Gnorr

    Gnorr New Member

    Joined:
    May 1, 2011
    Messages:
    18
    Likes Received:
    0
    Continued, now attempting to start D20Pro 3.7.2 from the command line:

    1) It appears that double-clicking the .jar file picks up the wrong JVM (system JVM 9.0.1), instead of the D20pro provided JVM 1.8.0

    2) Terminal: chmod u+x data/jre/bin/*

    3) Terminal (in D20PRO directory): jre/bin/java -jar data/D20PRO.jar

    4) D20Pro starts, D20Pro News Dialog appears, main dialog (no license) appears, some text strings are displayed only truncated (first/last few chars missing)

    5) License can be downloaded

    6) No reference plugins are found, but a new campaign can be created.

    7) Texts in the main window are displayed truncated again.

    Console Output:

    jre/bin/java -jar data/D20PRO.jar
    log4j:WARN No appenders could be found for logger (com.mindgene.d20.D20).
    log4j:WARN Please initialize the log4j system properly.
    log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
    07:55:32 SEVERE: Failed to start IPC process.
    java.lang.RuntimeException: java.io.IOException: Cannot run program "/var/folders/78/dqcdf08d2nvfkj9blg9k_75m0000gn/T/jxbrowser-chromium-55.0.2883.87.6.14.2/jxbrowser-chromium.app/Contents/MacOS/jxbrowser-chromium" (in directory "/var/folders/78/dqcdf08d2nvfkj9blg9k_75m0000gn/T/jxbrowser-chromium-55.0.2883.87.6.14.2"): error=0, spawn failed
    at com.teamdev.jxbrowser.chromium.internal.ipc.ExternalChromiumProcess.doStart(SourceFile:82)
    at com.teamdev.jxbrowser.chromium.internal.ipc.ChromiumProcess.start(SourceFile:161)
    at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(SourceFile:196)
    at java.lang.Thread.run(Thread.java:745)
    Caused by: java.io.IOException: Cannot run program "/var/folders/78/dqcdf08d2nvfkj9blg9k_75m0000gn/T/jxbrowser-chromium-55.0.2883.87.6.14.2/jxbrowser-chromium.app/Contents/MacOS/jxbrowser-chromium" (in directory "/var/folders/78/dqcdf08d2nvfkj9blg9k_75m0000gn/T/jxbrowser-chromium-55.0.2883.87.6.14.2"): error=0, spawn failed
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
    at com.teamdev.jxbrowser.chromium.internal.ipc.ExternalChromiumProcess.doStart(SourceFile:71)
    ... 3 more
    Caused by: java.io.IOException: error=0, spawn failed
    at java.lang.UNIXProcess.forkAndExec(Native Method)
    at java.lang.UNIXProcess.<init>(UNIXProcess.java:248)
    at java.lang.ProcessImpl.start(ProcessImpl.java:134)
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
    ... 4 more
     
  3. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    469
    Likes Received:
    146
    Hi, I replied to your email last night as well pointing out that you're running version 9 of Java. D20PRO definitely has not been tested nor built against this version.

    D20PRO ships with JRE 1.8.0.131 and is supported across all of the 1.8.x branches. I'm not sure why you felt it necessary to post to the forums omitting the support and effort we've been putting into solving your problem, but I'd like to ensure that others learn from this experience rather than not.

    In the last post you point out that you're running the native installed java rather than the java shipped with the application.

    Please try against the supplied JRE instead of the version 9 JRE.

    If you'd like more information on the failures related to java and the high sierra release, you can do a search for high sierra and "java.lang.NoSuchMethodError: com.apple.eawt.Application.addApplicationListener" and find a slew of folks you are very upset that java applications are not running when version 9 is installed on OSX now.
     
  4. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    469
    Likes Received:
    146
    My own mac is running high sierra using Java version 1.8.0_152-b16 (for the record).

    And the java version we ship with the app is located in <d20pro directory>/jre/bin/java

    [edited]

    Apparently the zip file lost some of the permissions so you'd need to use chmod +x on the contens of the jre/bin directory to make them executable. Fun times.

    We are working with apple and oracle to try to find a resolution to the null launcher event. Oracle has been asking for all examples of applications that run under 1.8 but do not under v9 on OSX now.

    hopefully we'll have a solid solution for this sooner than later.
     
    #4 owlbear, Jan 7, 2018
    Last edited: Jan 7, 2018
  5. Gnorr

    Gnorr New Member

    Joined:
    May 1, 2011
    Messages:
    18
    Likes Received:
    0
    Owlbear, I am very sorry, but I did not receive any email from you. After finishing my first post, I had noticed myself that D20Pro was being run by my updated system JVM (9.0.1), which is why I had made the effort to manually get it to run under the D20pro-provided JVM.

    As I explained in my second post, using the command line, I can get D20pro to start using the correct VM, but it seems somehow incomplete (e.g., lack of all system reference documents) and some text strings are clipped.

    I am not blaming you for any JVM incompatibilities (I have run into those problems more than once in developing our own software). But if there were any official recommendations on how to get D20pro to start with the correct (packaged) JVM, I must have overlooked them.
     
  6. Derekware

    Derekware New Member

    Joined:
    Jan 9, 2018
    Messages:
    2
    Likes Received:
    0
    Please let me know if you get any answers.

    I have the same problem occurring on with my version of Herolab and we are gaming this friday.

    I tried uninstalling it altogether but that didn't help.
     
  7. Gnorr

    Gnorr New Member

    Joined:
    May 1, 2011
    Messages:
    18
    Likes Received:
    0
    I assume you mean D20Pro, not HeroLab? ;-)

    If so, you might want to try starting D20Pro from the command line using the approach I describe below.

    I have not done any major testing, but I was able to load the Demo Campaign from the Marketplace. No idea, though, whether network connectivity works correctly. I myself will be staying with my trusty version 3.5.7 that has no problems for me (and which starts-up correctly with the packaged VM & has system reference documents available).

    1) Unpack the .zip file (I will call the directory holding the contents D20PRO in the following)

    2) Start a Terminal Window, change to the D20PRO directory (wherever you created it, using the cd command) and execute the following command

    chmod u+x data/jre/bin/*

    For me, unpacking the .zip had cleared the executable flags which you will to actually run the packaged Java version. The chmod command restores them. You only need to do this once, for future starts of D20Pro you can skip directly to Step 3.

    3) Again, in the Terminal window, while in the D20PRO directory, execute

    jre/bin/java -jar data/D20PRO.jar

    to start D20Pro with the packaged Java.

    4) You should then be able to do the usual things (download license, if required; configure; connect to campaign ...)

    Again, no guarantees that there are no hidden problems using this approach. But before you miss the game on Friday, you might as well try :)
     
  8. Derekware

    Derekware New Member

    Joined:
    Jan 9, 2018
    Messages:
    2
    Likes Received:
    0
    Gnorr,

    thanks for the advice. I tried what you posted. But i'm not really proficient with a Mac and couldn't get all the various commands to work.

    My MacBook is about 6 years old and i'm thinking of upgrading it to a new MacBook or just switching to PC to see if that will help. My wife's newer Mac doesn't seem to have the same problem as mine.

    thanks again!

    derek
     
  9. Krilion_GD

    Krilion_GD Community Manager
    Staff Member

    Joined:
    Aug 1, 2011
    Messages:
    1,626
    Likes Received:
    113
    This might be a silly suggestion, but couldn't you just install Java 1.8 then in the Java Control Panel, disable the new version until a fix is found?

    upload_2018-1-11_14-59-54.png

    Granted my Mac fu is pretty weak and I could be totally wrong.
     
  10. Krilion_GD

    Krilion_GD Community Manager
    Staff Member

    Joined:
    Aug 1, 2011
    Messages:
    1,626
    Likes Received:
    113
  11. owlbear

    owlbear Administrator
    Staff Member

    Joined:
    Sep 5, 2011
    Messages:
    469
    Likes Received:
    146
    Hi Folks, I'm working on an alternately launcher will might be able to by-pass the documented High Seirra/Java 9 issues. Apparently this is plaguing the java community at large so it's not a minor task.

    What Kril suggested might be a clean solution -- i.e. install a 1.8.0_xxx build of java where xxx >= 131 and then use the disable feature till Oracle or Apple resolves the .jar launcher issues or hold on while I work on an executable launcher for OSX.

    Much of the problem centers around Apples recent push to have apps only released thru the Apple Store (sans 30% of the revenue). This is not a business practice that Mesa Mundi or D20PRO wish to take part in as it grants final control over application design and implementation to the OS manufacturer rather than the community and developers.

    Anyway, we are aware and working our butts off on a solution.
     
    Nezzeraj and Tay-Dor like this.

Share This Page