Weird crash when using Turkish as primary language

44 views
Skip to first unread message

James Elliott

unread,
Jul 2, 2017, 6:30:45 PM7/2/17
to seesaw-clj
My last few posts suggest this group may no longer be viable, but I will try this one anyway.

One of my users posted a problem using Beat Link Trigger, and shared a stack trace. We eventually figured out that Seesaw was crashing trying to load its `font` namespace, because it could not get the declared field PLAIN from the java.awt.Font class. This utterly baffled me, but he then mentioned that his Mac and Windows machines that were experiencing this problem had their primary language set to Turkish. When he changed them to English, Seesaw (and my program) were able to launch fine.

Here is the issue, where you can see the stack trace. Any idea how we may be able to solve this or provide a better error message? It may be a bug in Java itself?

Cheers,

  -James

Dave Ray

unread,
Jul 2, 2017, 7:09:23 PM7/2/17
to seesa...@googlegroups.com
James,

Yeah, I haven't used or worked on Seesaw in a very long time so support is spotty. It's nice to hear people are still using it successfully though :)

Anyway, that's a very odd exception. Either there's some other lower-level exception occurring that's causing the Font class to not load properly, or the JVM actually loads different versions of the class depending on the language settings and the Turkish version is missing the PLAIN constant. Weird. Not really sure what the fix would be. I guess there's a workaround at least. :(

Dave


--
You received this message because you are subscribed to the Google Groups "seesaw-clj" group.
To unsubscribe from this group and stop receiving emails from it, send an email to seesaw-clj+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

James Elliott

unread,
Jul 2, 2017, 9:09:29 PM7/2/17
to seesaw-clj
Yeah, it’s even weirder than that, because when I look in a REPL, Font/PLAIN does exist, even after that stack trace occurred at startup. So something is going on with the reflective access that doesn’t fail with ordinary field access, or… but I don’t have time to chase further down the rabbit hole to try to really explain it either.

And yes, Seesaw has definitely been a successful platform for building a UI on top of my Beat Link library! I just posted a screenshot of the new Player Status window in the Lighting Designers group on Facebook to show them how they could get advance warning of what a DJ was about to do, and they’ve been going nuts over it. https://github.com/brunchboy/beat-link-trigger/blob/master/doc/assets/PlayerStatus.png

Cheers,

  -James
To unsubscribe from this group and stop receiving emails from it, send an email to seesaw-clj+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages