libjawt.so inconsistency lets JVM crash
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
openjdk-11 (Debian) |
Fix Released
|
Unknown
|
|||
openjdk-lts (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Invalid
|
Undecided
|
Unassigned | ||
Focal |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
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!
############
java --version
openjdk 11.0.4 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+
OpenJDK 64-Bit Server VM (build 11.0.4+
############
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/
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 test revealed that the package from adoptOpenJDK does not have the issue. I can also use the libjawt.so from adoptOpenJDK and run my SWT/AWT ui without any issues.
description: | updated |
description: | updated |
description: | updated |
information type: | Public → Public Security |
information type: | Public Security → Public |
tags: | added: rls-bb-incoming |
tags: |
added: bionic focal removed: rls-bb-incoming |
tags: | added: id-5dd2eb358583a00df8a8e625 |
tags: | added: fr-568 |
Changed in openjdk-11 (Debian): | |
status: | Unknown → Fix Released |
run attached file with java -jar awtBug3.jar to see the issue in action: as soon the you click on the JComboBox expansion toggle, the VM will crash.