Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

jczogalla
Hi everyone,

I am currently running into some issues when running a jogl based application on a freshly installed Raspian Bookworm OS.
I am using
* Raspi 3B+
* jogl 2.5.0
* java 17 (openjdk from apt)
* Raspian Bookworm with kernel 6.6. (July 202)

During startup of the application, the JVM crashes when trying to look up the monitor name. This is the crash log:
hs_err_pid1417.log

This happens both with the aarch64 and armhf versions of the OS.
The same application works just fine on a Pi 4 with the same setup (and the 64 bit version of the OS).
xrandr also works just fine on the Pi 3.

Are there any drivers or libs that I am missing that need to be installed?
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

jczogalla
Here is a debug log with -Dnativewindow.debug=all -Djogl.debug=all
failure-log.txt
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

jczogalla
Reverting back to 2.3.2 (and a custom armv6hf build that we still had for that project when we were using Stretch still) on a Bookworm 32bit OS does work.
Still, if anyone does have an idea, I would be happy about fixing this.
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

gouessej
Administrator
In reply to this post by jczogalla
Hello

I use Mobian (Trixie) on my phone, I don't have such problems, it seems to be very specific. Do you want to fill a bug report?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

gouessej
Administrator
In reply to this post by jczogalla
The problem seems to be related to XRandR when trying to retrieve the monitor name.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

gouessej
Administrator
In reply to this post by jczogalla
Java_jogamp_newt_driver_x11_RandR13_getMonitorName0 doesn't exist in JOGL 2.3.2, that's why you don't have the problem with this version.
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

gouessej
Administrator
In reply to this post by jczogalla
I'm not an expert but I assume that the last parameter of XRRGetOutputInfo is wrong in your case, xrrOutputInfo is null and a bad thing happens. We shouldn't take xrrCrtcInfo->outputs[0], we should loop until xrrOutputInfo->crtc is equal to crtc, This example might help:
https://stackoverflow.com/a/64494888

Sven, what's your opinion about that?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

jczogalla
In reply to this post by gouessej
Thank you for looking into this!

Makes sense then that 2.3.2 works without issue!

I think i might have found the underlying issue, Raspbian Bookworm uses Wayland/Wayfire as the default window manager. As far as I could find out, Wayfire does implement X11 api, but it might be a bit different in how it returns things.
I do not have the time to test this further this week (I do have a working solution now as posted above, and an event where this will be used), but I should be able to verify sometime next week if switching to X11 will fix it.

I did have other issues related to Wayfire as well (starting a jogl window on screen 2 from screen 1, either via console or desktop link, led to starting the window on screen 1 anyway), so there are definitely other things that are strange with that window manager. :D

Are there any other tests/debug logs that I should try and post that will help you with looking at a fix?
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

gouessej
Administrator
To be honest, it's a bit hard to keep concentrated right now for a personal reason. Please fill a bug report so that your bug isn't forgotten somehow, I'll provide a patch but as you know, I can't guarantee that it will solve your problem as you use Wayfire, I can only fix what is really a bug in JOGL itself. Are you still able to build JOGL by your own means?
Julien Gouesse | Personal blog | Website
Reply | Threaded
Open this post in threaded view
|

Re: Jogl 2.5.0 on Pi3 with Bookworm: Monitor Name causes JVM crash

jczogalla
No worries. As I said, I found a working solution and have some ideas how to mitigate some of it, including using X11 instead of Wayfire.

I am not able to build jogl by myself at the moment, but can look into this next week or the week after. I will file a proper bug report then as well, when i had more time for testing and debugging.

Thanks for your help! :)