When running an SWT ui with an embedded AWT/Swing component the library loading process fails as soon as the user clicks on a JComboBox.
The error visible is: Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
running the JVM with LD_DEBUG=all exposes the /lib/libjawt.so as the source of the problem.
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/bin/java [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/bin/../lib/jli/libjli.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libc.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libz.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libdl.so.2 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libpthread.so.0 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib64/ld-linux-x86-64.so.2 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/lib/server/libjvm.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libstdc++.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libm.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libgcc_s.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/lib/libawt.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXext.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libX11.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXrender.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXtst.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXi.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/lib/libjava.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libxcb.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/lib/libverify.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXau.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXdmcp.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libbsd.so.0 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/librt.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libXinerama.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libselinux.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libresolv.so.2 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libmount.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/x86_64-linux-gnu/libffi.so.6 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libpcre.so.3 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libblkid.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/lib/x86_64-linux-gnu/libuuid.so.1 [0]
3248: symbol=JAWT_GetAWT; lookup in file=/home/rew/.swt/lib/linux/x86_64/libswt-awt-gtk-4926r21.so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/lib/jvm/java-11-openjdk-amd64/lib/libjawt.so [0]
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
A quick smoke the revealed that the package from adoptOpenJdk does not have the issues. I could also use the libjawt.so and run my SWT/AWT ui without any issues.
When running an SWT ui with an embedded AWT/Swing component the library loading process fails as soon as the user clicks on a JComboBox.
The error visible is: Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
running the JVM with LD_DEBUG=all exposes the /lib/libjawt.so as the source of the problem. lib/jvm/ java-11- openjdk- amd64/bin/ java [0] lib/jvm/ java-11- openjdk- amd64/bin/ ../lib/ jli/libjli. so [0] x86_64- linux-gnu/ libc.so. 6 [0] x86_64- linux-gnu/ libz.so. 1 [0] x86_64- linux-gnu/ libdl.so. 2 [0] x86_64- linux-gnu/ libpthread. so.0 [0] ld-linux- x86-64. so.2 [0] lib/jvm/ java-11- openjdk- amd64/lib/ server/ libjvm. so [0] lib/x86_ 64-linux- gnu/libstdc+ +.so.6 [0] x86_64- linux-gnu/ libm.so. 6 [0] x86_64- linux-gnu/ libgcc_ s.so.1 [0] lib/jvm/ java-11- openjdk- amd64/lib/ libawt_ xawt.so [0] lib/jvm/ java-11- openjdk- amd64/lib/ libawt. so [0] lib/x86_ 64-linux- gnu/libXext. so.6 [0] lib/x86_ 64-linux- gnu/libX11. so.6 [0] lib/x86_ 64-linux- gnu/libXrender. so.1 [0] lib/x86_ 64-linux- gnu/libXtst. so.6 [0] lib/x86_ 64-linux- gnu/libXi. so.6 [0] lib/jvm/ java-11- openjdk- amd64/lib/ libjava. so [0] lib/x86_ 64-linux- gnu/libxcb. so.1 [0] lib/jvm/ java-11- openjdk- amd64/lib/ libverify. so [0] lib/x86_ 64-linux- gnu/libXau. so.6 [0] lib/x86_ 64-linux- gnu/libXdmcp. so.6 [0] x86_64- linux-gnu/ libbsd. so.0 [0] x86_64- linux-gnu/ librt.so. 1 [0] lib/x86_ 64-linux- gnu/libXinerama .so.1 [0] lib/x86_ 64-linux- gnu/libgio- 2.0.so. 0 [0] lib/x86_ 64-linux- gnu/libgobject- 2.0.so. 0 [0] lib/x86_ 64-linux- gnu/libgmodule- 2.0.so. 0 [0] lib/x86_ 64-linux- gnu/libglib- 2.0.so. 0 [0] x86_64- linux-gnu/ libselinux. so.1 [0] x86_64- linux-gnu/ libresolv. so.2 [0] x86_64- linux-gnu/ libmount. so.1 [0] lib/x86_ 64-linux- gnu/libffi. so.6 [0] x86_64- linux-gnu/ libpcre. so.3 [0] x86_64- linux-gnu/ libblkid. so.1 [0] x86_64- linux-gnu/ libuuid. so.1 [0] rew/.swt/ lib/linux/ x86_64/ libswt- awt-gtk- 4926r21. so [0] lib/jvm/ java-11- openjdk- amd64/lib/ libjawt. so [0]
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib64/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/lib/
3248: symbol=JAWT_GetAWT; lookup in file=/home/
3248: symbol=JAWT_GetAWT; lookup in file=/usr/
Inconsistency detected by ld.so: dl-lookup.c: 111: check_match: Assertion `version->filename == NULL || ! _dl_name_match_p (version->filename, map)' failed!
A quick smoke the revealed that the package from adoptOpenJdk does not have the issues. I could also use the libjawt.so and run my SWT/AWT ui without any issues.