Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8203561 | 11.0.1 | Severin Gehwolf | P3 | Resolved | Fixed | team |
With an instrumented version of imageFile.o (via -fsanitize=undefined) a signed integer overflow is revealed which is undefined behaviour.
$ bin/java -version
/disk/openjdk/upstream-sources/openjdk-hs/src/java.base/share/native/libjimage/imageFile.cpp:64:22: runtime error: signed integer overflow: 16777619 * 16777619 cannot be represented in type 'int'
/disk/openjdk/upstream-sources/openjdk-hs/src/java.base/share/native/libjimage/imageFile.cpp:64:22: runtime error: signed integer overflow: 16777620 * 16777619 cannot be represented in type 'int'
openjdk version "11-internal" 2018-09-25
OpenJDK Runtime Environment (fastdebug build 11-internal+0-adhoc.sgehwolf.openjdk-hs)
OpenJDK 64-Bit Server VM (fastdebug build 11-internal+0-adhoc.sgehwolf.openjdk-hs, mixed mode)
This caused a build failure of the images target with GCC 8 (-O2) where the interim image was broken like this:
./build/linux-x86_64-normal-server-fastdebug/support/interim-image/bin/java -version
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
$ bin/java -version
/disk/openjdk/upstream-sources/openjdk-hs/src/java.base/share/native/libjimage/imageFile.cpp:64:22: runtime error: signed integer overflow: 16777619 * 16777619 cannot be represented in type 'int'
/disk/openjdk/upstream-sources/openjdk-hs/src/java.base/share/native/libjimage/imageFile.cpp:64:22: runtime error: signed integer overflow: 16777620 * 16777619 cannot be represented in type 'int'
openjdk version "11-internal" 2018-09-25
OpenJDK Runtime Environment (fastdebug build 11-internal+0-adhoc.sgehwolf.openjdk-hs)
OpenJDK 64-Bit Server VM (fastdebug build 11-internal+0-adhoc.sgehwolf.openjdk-hs, mixed mode)
This caused a build failure of the images target with GCC 8 (-O2) where the interim image was broken like this:
./build/linux-x86_64-normal-server-fastdebug/support/interim-image/bin/java -version
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object
- backported by
-
JDK-8203561 Signed integer overflow in ImageStrings::hash_code (libjimage.so)
-
- Resolved
-
- relates to
-
JDK-8207138 vmTestbase/nsk/coverage/jni/jni005/TestDescription.java crashed in libjimage.so
-
- Closed
-