JVM hang with Swing and macOS

Michael Hall mik3hall at gmail.com
Thu Mar 23 11:29:04 UTC 2023


Martin

> On Mar 23, 2023, at 6:00 AM, Martin Pernollet <martin.pernollet at protonmail.com> wrote:
> 
> 
> 
>> Start another java process -XstartOnMainThread that does the OpenGL part from a Swing application? 
> 
> Sorry I do not understand your question. If you speak about triggering two process with -XstartOnFirstThread, I think they might both freeze. Or worse, one freeze and the other one get kick/stopped by the former.
> 
> I can try this next week because I do not have a macOS with me up to next thursday.

You launch a Swing application that in turn starts a java command process -XstartOnFirstThread which does your OpenGL, but no Swing. It writes out your image data which the Swing process reads and renders. It sounded like the OpenGL simply produces and Swing consumes. There is not ongoing interaction between the two so they could be fairly easily separated? I haven’t really looked at the code yet so maybe this separation wouldn’t be so easy.

If you think this might be feasible I could be interested in looking at it.

> 
>> One hang up there though might be that I don’t think java applications that include the java native commands are allowed in the Mac App Store. Another bug due to each command has it’s own unique CFBundleIdentifier but that identifier is always the same and Apple doesn’t allow duplicates in the App Store.
> 
> Being able to deploy on App Store is not an immediate need for me but this is a very interesting point to consider. I'll try to understand how CFBundleIdentifier relates to -XstartOnFIrstThread.
> 

This bug came up concerning jpackage applications. The resolution was to not allow jpackage applications that indicate they are going to the Mac App Store to have native java commands. Workarounds might be possible. Maybe at least at this stage you don’t see the code being used in this way. 

If you get to this point workarounds might be possible. 

Mike

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/client-libs-dev/attachments/20230323/49a56045/attachment.htm>


More information about the client-libs-dev mailing list