patrickfav / density-converter

A multi platform image density converting tool converting single or batches of images to Android, iOS, Windows or CSS specific formats and density versions given the source scale factor or width/height in dp. It has a graphical and command line interface and supports many image types (svg, psd, 9-patch, etc.) aswell as some lossless compressors like pngcrush.

Home Page:https://favr.dev/opensource/density-converter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GUI does not start on Mac

Spiderbezno opened this issue · comments

UI crashes on start with exception:

Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at com.sun.javafx.font.MacFontFinder.populateFontFileNameMap(MacFontFinder.java:99)
    at com.sun.javafx.font.PrismFontFactory.getFullNameToFileMap(PrismFontFactory.java:1740)
    at com.sun.javafx.font.PrismFontFactory.getFontResource(PrismFontFactory.java:469)
    at com.sun.javafx.font.PrismFontFactory.createFont(PrismFontFactory.java:571)
    at com.sun.javafx.font.PrismFontLoader.font(PrismFontLoader.java:181)
    at javafx.scene.text.Font.font(Font.java:148)
    at javafx.scene.CssStyleHelper.deriveFont(CssStyleHelper.java:1643)
    at javafx.scene.CssStyleHelper.lookupFont(CssStyleHelper.java:1954)
    at javafx.scene.CssStyleHelper.lookup(CssStyleHelper.java:896)
    at javafx.scene.CssStyleHelper.transitionToState(CssStyleHelper.java:678)
    at javafx.scene.Node.impl_processCSS(Node.java:9189)
    at javafx.scene.Parent.impl_processCSS(Parent.java:1241)
    at javafx.scene.control.Control.impl_processCSS(Control.java:855)
    at javafx.scene.Parent.impl_processCSS(Parent.java:1272)
    at javafx.scene.Node.processCSS(Node.java:9056)
    at javafx.scene.Scene.doCSSPass(Scene.java:545)
    at javafx.scene.Scene.preferredSize(Scene.java:1643)
    at javafx.scene.Scene.impl_preferredSize(Scene.java:1720)
    at javafx.stage.Window$9.invalidated(Window.java:846)
    at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
    at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
    at javafx.stage.Window.setShowing(Window.java:922)
    at javafx.stage.Window.show(Window.java:937)
    at javafx.stage.Stage.show(Stage.java:259)
    at at.favre.tools.dconvert.ui.GUI.start(GUI.java:48)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

Do use jre8?

Seems to be openJdk bug on java 8 and mac;
https://bugs.openjdk.java.net/browse/JDK-8089900

This seems to occur on the Mac when they have updated to java 8u25 from java 7.
The users have seen this issue when using both Mac OS X 10.10 and 10.9.5.
Interestingly both users seemed to have Microsoft Office fonts installed.
One user resolved the issue by "Restoring Standard Fonts" in the Font Book application.

This is my Java version
java version "1.8.0_71"
Java(TM) SE Runtime Environment (build 1.8.0_71-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.71-b15, mixed mode)

Basically it should generally work on Mac (colleague of mine tested it on his macbook). I changed the used default fonts in the current release 0.7. You could try it with this version?

I have the same Error

Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at com.sun.javafx.font.MacFontFinder.populateFontFileNameMap(MacFontFinder.java:99)
at com.sun.javafx.font.PrismFontFactory.getFullNameToFileMap(PrismFontFactory.java:1740)
at com.sun.javafx.font.PrismFontFactory.getFontResource(PrismFontFactory.java:469)
at com.sun.javafx.font.PrismFontFactory.createFont(PrismFontFactory.java:571)
at com.sun.javafx.font.PrismFontLoader.font(PrismFontLoader.java:181)
at javafx.scene.text.Font.font(Font.java:148)
at javafx.scene.CssStyleHelper.deriveFont(CssStyleHelper.java:1643)
at javafx.scene.CssStyleHelper.lookupFont(CssStyleHelper.java:1954)
at javafx.scene.CssStyleHelper.lookup(CssStyleHelper.java:896)
at javafx.scene.CssStyleHelper.transitionToState(CssStyleHelper.java:678)
at javafx.scene.Node.impl_processCSS(Node.java:9189)
at javafx.scene.Parent.impl_processCSS(Parent.java:1241)
at javafx.scene.control.Control.impl_processCSS(Control.java:855)
at javafx.scene.Parent.impl_processCSS(Parent.java:1272)
at javafx.scene.Node.processCSS(Node.java:9056)
at javafx.scene.Scene.doCSSPass(Scene.java:545)
at javafx.scene.Scene.preferredSize(Scene.java:1643)
at javafx.scene.Scene.impl_preferredSize(Scene.java:1720)
at javafx.stage.Window$9.invalidated(Window.java:846)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
at javafx.stage.Window.setShowing(Window.java:922)
at javafx.stage.Window.show(Window.java:937)
at javafx.stage.Stage.show(Stage.java:259)
at at.favre.tools.dconvert.ui.GUI.start(GUI.java:42)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

With the lass version same error:
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$155(LauncherImpl.java:182)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at com.sun.javafx.font.MacFontFinder.populateFontFileNameMap(MacFontFinder.java:99)
at com.sun.javafx.font.PrismFontFactory.getFullNameToFileMap(PrismFontFactory.java:1740)
at com.sun.javafx.font.PrismFontFactory.getFontResource(PrismFontFactory.java:469)
at com.sun.javafx.font.PrismFontFactory.createFont(PrismFontFactory.java:571)
at com.sun.javafx.font.PrismFontLoader.font(PrismFontLoader.java:181)
at javafx.scene.text.Font.font(Font.java:148)
at javafx.scene.CssStyleHelper.deriveFont(CssStyleHelper.java:1643)
at javafx.scene.CssStyleHelper.lookupFont(CssStyleHelper.java:1954)
at javafx.scene.CssStyleHelper.lookup(CssStyleHelper.java:896)
at javafx.scene.CssStyleHelper.transitionToState(CssStyleHelper.java:678)
at javafx.scene.Node.impl_processCSS(Node.java:9189)
at javafx.scene.Parent.impl_processCSS(Parent.java:1241)
at javafx.scene.control.Control.impl_processCSS(Control.java:855)
at javafx.scene.Parent.impl_processCSS(Parent.java:1272)
at javafx.scene.Node.processCSS(Node.java:9056)
at javafx.scene.Scene.doCSSPass(Scene.java:545)
at javafx.scene.Scene.preferredSize(Scene.java:1643)
at javafx.scene.Scene.impl_preferredSize(Scene.java:1720)
at javafx.stage.Window$9.invalidated(Window.java:846)
at javafx.beans.property.BooleanPropertyBase.markInvalid(BooleanPropertyBase.java:109)
at javafx.beans.property.BooleanPropertyBase.set(BooleanPropertyBase.java:144)
at javafx.stage.Window.setShowing(Window.java:922)
at javafx.stage.Window.show(Window.java:937)
at javafx.stage.Stage.show(Stage.java:259)
at at.favre.tools.dconvert.ui.GUI.start(GUI.java:42)
at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)

As I wrote earlier, it seems to be an Mac/OpenJdk bug:

https://bugs.openjdk.java.net/browse/JDK-8089900

so it seems there isnt much I can do. If you like you can try the suggested workarounds in the ticket:

This seems to occur on the Mac when they have updated to java 8u25 from java 7.
The users have seen this issue when using both Mac OS X 10.10 and 10.9.5.
Interestingly both users seemed to have Microsoft Office fonts installed.
One user resolved the issue by "Restoring Standard Fonts" in the Font Book application.

Closing, since looks like edge case issue