This issue definitely seems to be certainly triggered by some of the Ubuntu patches as AdoptOpenJDK and "upstream" (OpenJDK built by Redhat) work.
The case I am affected is by being unable to load "lwjgl2" with KUbuntu 18.04 or Ubuntu 19.10: Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed! symbol=Java_org_lwjgl_opengl_LinuxDisplay_nLockAWT; lookup in file=/lib/x86_64-linux-gnu/librt.so.1 [0] usr/lib/jvm/java-11-openjdk-amd64/lib/libjawt.so: error: symbol lookup error: undefined symbol: Java_org_lwjgl_opengl_LinuxDisplay_nLockAWT (fatal) symbol=Java_org_lwjgl_opengl_LinuxDisplay_nLockAWT; lookup in file=/home/marc/Dokumente/02_GIT/sdk/build/testuserdir/liblwjgl64.so [0] binding file /home/marc/Dokumente/02_GIT/sdk/build/testuserdir/liblwjgl64.so [0] to /home/marc/Dokumente/02_GIT/sdk/build/testuserdir/liblwjgl64.so [0]: normal symbol `Java_org_lwjgl_opengl_LinuxDisplay_nLockAWT' Now the openjdk-dev mailing list traces this down to this glibc/gcc bug: https://bugs.launchpad.net/ubuntu/+source/gcc-7/+bug/1764701 A note to the above output: For every native symbol, LD tries to look into a few and fails: /usr/lib/jvm/java-11-openjdk-amd64/lib/libjawt.so: error: symbol lookup error: undefined symbol: Java_org_lwjgl_DefaultSysImplementation_setDebug (fatal) /usr/lib/jvm/java-11-openjdk-amd64/lib/libnio.so: error: symbol lookup error: undefined symbol: Java_sun_awt_image_BytePackedRaster_initIDs (fatal) /usr/lib/jvm/java-11-openjdk-amd64/lib/libjava.so: error: symbol lookup error: undefined symbol: Java_sun_awt_image_BytePackedRaster_initIDs (fatal) /usr/lib/jvm/java-11-openjdk-amd64/lib/libsplashscreen.so: error: symbol lookup error: undefined symbol: Java_sun_awt_image_BytePackedRaster_initIDs (fatal) I don't know the inner workings, but in general it seems to only produce this error on .so's from the JDK, looking up in, say, libstdc++.so.6 works. It's also confusing that libjava.so is reported as faulty for one symbol but not for another. Actually, even this: /usr/lib/jvm/java-11-openjdk-amd64/bin/java: error: symbol lookup error: undefined symbol: JNI_OnLoad_awt (fatal) Is there an easy way I could do a binary diff? Maybe comparing the symbols with objdump as well? Thanks in Advance -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1838740 Title: libjawt.so inconsistency lets JVM crash To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1838740/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
