RoboCup-SPL / GameController

Old RoboCup Standard Platform League GameController, still needed for support tools
Other
47 stars 60 forks source link

Java 11 TeamCommunicationMonitor? #40

Open pzrq opened 4 years ago

pzrq commented 4 years ago

Hello there. On Ubuntu Linux 18.04, I have java -jar GameController.jar working on master, but not the TeamCommunicationMonitor, it just exits.

Any ideas?

pzrq@rbox:~/Projects/GameController$ cd bin
pzrq@rbox:~/Projects/GameController/bin$ java -jar TeamCommunicationMonitor.jar WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by com.jogamp.common.os.NativeLibrary$3 (file:/home/pzrq/Projects/GameController/bin/deps/gluegen-rt.jar) to method java.lang.ClassLoader.findLibrary(java.lang.String)
WARNING: Please consider reporting this to the maintainers of com.jogamp.common.os.NativeLibrary$3
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
pzrq@rbox:~/Projects/GameController/bin$ java --version
openjdk 11.0.8 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1)
OpenJDK 64-Bit Server VM (build 11.0.8+10-post-Ubuntu-0ubuntu118.04.1, mixed mode, sharing)

Also on macOS 11.0.1 (20B29) with Big Sur and Java 8 I'm seeing a blank window rather than the default empty field.

Screen Shot 2020-11-21 at 2 06 29 pm Screen Shot 2020-11-21 at 2 13 25 pm

rUNSWift has been using the official 2019 one via the SPL Downloads page though looking at upgrading towards 2020+, e.g. to see the proposed penalty and goalbox areas.

Thanks in advance for any suggestions, Peter Schmidt on behalf of rUNSWift

ahasselbring commented 3 years ago

Just to give some feedback: I haven't found a way to run it with Java 11 on Ubuntu. If you google for Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!, you find that other Java programs have the same problem. So for now, the only way is to use Java 8. It might be related to the ancient JOGL version (but 2.3.2 is still the most recent release).

I can't help with the macOS problem, although Thomas said that it worked with the system Java, but not with IntelliJ's bundled Java (if I understood it correctly).

As one of our team members recently couldn't start the TCM with a message that no OpenGL 2.x profile was available, I guess the graphics code just reached its end of life.

jayenashar commented 3 years ago

it was fixed years ago in the unreleased jogamp 2.4.0. here i am using java 14 on debian 10:

image

ahasselbring commented 3 years ago

Thanks! I updated JOGL. However, it still doesn't work with IntelliJ/IDEA's bundled JRE. It looks like something from the JetBrains Runtime is loaded instead of our jogl/gluegen.

jayenashar commented 3 years ago

just putting it here for searchability. the jbr i have seems to be based on https://github.com/TravaOpenJDK/trava-jdk-11-dcevm .

Exception in thread "main" java.lang.IllegalAccessError: class teamcomm.gui.View3DCanvas (in unnamed module @0x28eaa59a) cannot access class com.jogamp.opengl.util.FPSAnimator (in module jogl.all) because module jogl.all does not export com.jogamp.opengl.util to unnamed module @0x28eaa59a
        at teamcomm.gui.View3DCanvas.<init>(Unknown Source)
        at teamcomm.gui.MainWindow.<init>(Unknown Source)
        at teamcomm.TeamCommunicationMonitor.main(Unknown Source)