Ryan

Hello!

I'm having an issue getting Spine to open on my machine on a fresh install. I've taken a look at the following posts but haven't run across a solution so far:

I've attached the spine.log file but I feel it's missing some info:
  • Mac OS 10.14.5
  • Comono Client Security monitoring and antivirus is disabled
  • Java version 1.8.0_181

My steps to reproduce:
  • Delete the existing Spine.app if it exists
  • Download the latest and install
  • Launch by double clicking Applications/Spine/Spine.app

I observe the Spine icon appearing in the dock and then quickly closing. I never see the opening splash window that verifies a license or downloads a new version if one is available.

Thank you for any help you can provide. Please let me know if there is missing info that may help you help me!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Ryan
  • Beiträge: 2

Nate

Sorry you are having trouble! Thanks for the information. The threads you linked are not related to your problem. Your log shows:
NullPointerException at java.desktop/sun.font.FontDesignMetrics.getDefaultFrc
Unfortunately this is a crash happening deep inside the Java libraries. Some Googling shows it has been a problem in Java for a long time, since 2015 or maybe earlier. It only affects a small number of Java users and it seems no one has figured out why it occurs.

Spine doesn't use the system Java, so that should not affect Spine (though it wouldn't be terribly surprising). You could try uninstalling the system Java if you don't need it for anything else, as Spine uses a much newer version anyway.

We've installed Spine after a fresh OS X installation and it is working fine. I don't normally suggest reinstalling an OS for any reason as that is almost always more voodoo than actual troubleshooting, but if you just reinstalled anyway, you might try running Spine immediately after reinstalling the OS, without installing Java or Comodo or anything else.

---

This is unlikely to be directly of much use to you, but here is the exact place it crashes inside Java:
https://hg.openjdk.java.net/jdk10/jdk10/jdk/file/777356696811/src/java.desktop/share/classes/sun/font/FontDesignMetrics.java#l153
This code is using the "graphics environment" to get the "default transform" from the "default screen device configuration". One of those values is empty (null) when it should never be. This indicates it's likely something to do with graphics. That is very broad, for example it could be a problem with the video hardware, GPU driver, initialization of the windowing system, or something else. It crashes before it gets very far doing anything with fonts, so I doubt the problem is specifically with fonts.

We've added some logging to the next launcher (3.8.13) that may give us a tiny bit more information about which of the values was empty. I wish I could be of more help! :(

---

Here is something you can try: open Terminal and run this command:
/Applications/Spine/Spine.app/Contents/MacOS/Spine --laf com.sun.java.swing.plaf.motif.MotifLookAndFeel
This sets the "look and feel", which determines how a few dialogs and other things look. The "motif" look and feel is quite ugly, but Spine uses very few such dialogs anyway. Changing the look and feel may change how Java initializes things and might avoid the crash.
Benutzeravatar
Nate

Nate
  • Beiträge: 9284

Ryan

Hi Nate,

Thanks for the response. You may not think you solved the issue for me, but you actually did:

By letting me know this is graphics environment related issue, it got me thinking. I run dual Acer K272HUL monitors that are routed through a Belkin dock for a MacBook Pro 2018. I've seen other issues with my setup in other programs and generally disconnecting my monitors and using the MacBook's built in display resolves things. This MacBook also has two graphics devices a Intel UHD Graphics 630 and a AMD Radeon Pro 560X, so with all that in mind here are the following steps that got Spine launching for me.

  • Open up system preferences, go into Energy Saver and disable "Automatic graphics switching". This should force my MacBook to use the AMD gpu to hopefully ensure it's nothing related to swapping graphics devices, though I wouldn't imagine this would matter but it was worth a shot.
  • Disconnect from my dock, thus disconnecting my monitors to force using the MacBook display.
  • Launch Spine

Spine is now working as expected. I also re enabled Automatic graphics switching and plugged my dock back in. All is well. Whatever was null in the JDK seems to be assigned now and apparently assigned permanently as this is fixed even after I restart my machine. If I had to guess with my limited working knowledge of the JDK, in that link you posted, I would say something isn't right in line 155 .GetDefaultScreenDevice() as that was the major change I could control and I've seen issues in other programs with these displays.

Another tidbit, this is the first time I've launched Spine in awhile. Between that last time and this time I did upgrade MacBooks from an older mid-2015 model and did a complete TimeMachine backup and restored to the new machine. Prior to that, Spine was running fine on the older machine. That older machine used the same setup, minus the dock.

Thanks again for all the help!
Ryan
  • Beiträge: 2

Nate

Wow, that is very strange! It's weird that the problem would go away and stay away, but I'm glad it did! We'll see about putting in a more informative error message.
Benutzeravatar
Nate

Nate
  • Beiträge: 9284


Zurück zu Bugs