Hi Severin,
Looks like another case of UB in the JDK. This time libjimage.so with a
signed integer overflow:
https://bugs.openjdk.java.net/browse/JDK-8203223
Thanks!
Can you fix pointer increment issue (I reported) at the same time?
Yasumasa
On 2018/05/15 23:07, Severin Gehwolf wrote:
Hi,
On Fri, 2018-05-11 at 12:55 +0900, Yasumasa Suenaga wrote:
Hi,
I found 1 GCC optimization issue, but it is not enough.
http://cr.openjdk.java.net/~ysuenaga/openjdk-fc28/gcc8-opt/gdb-before.txt
I traced class loading from `modules`. Above log is copy of GDB
console in ImageFileReader::verify_location().
The code expects `*next++` increments after referring the value, but
it do not so.
Thus I fixed the code as following changeset:
http://cr.openjdk.java.net/~ysuenaga/openjdk-fc28/gcc8-opt/wip.00/
It passes module name check, but it fails parent (package name) check.
GDB log is here:
http://cr.openjdk.java.net/~ysuenaga/openjdk-fc28/gcc8-opt/gdb-after.txt
I guess the value of parent should be `java/lang`, but it sets to
`sun/refrect/generics/factory`.
Do you have anything to think about?
The problematic library was indeed libjimage.so. More below.
2018-05-09 17:22 GMT+09:00 Severin Gehwolf <sgehw...@redhat.com>:
Hi,
Note that slowdebug builds work:
$ ./build/linux-x86_64-normal-server-slowdebug/images/jdk/bin/java -version
openjdk version "11-internal" 2018-09-25
OpenJDK Runtime Environment (slowdebug build
11-internal+0-adhoc.sgehwolf.openjdk-hs)
OpenJDK 64-Bit Server VM (slowdebug build
11-internal+0-adhoc.sgehwolf.openjdk-hs, mixed mode)
In summary we have:
* Build fails with fastdebug/release debug config (-O3)
* Build succeeds with slowdebug (-O0)
* F28 has GCC 8
* Older GCC-based builds continue to work for fastdebug/release config
* JDK 10.0.1 builds fine with GCC 8.
So far showing all symptoms of either a GCC bug or some UB in recent
OpenJDK code which breaks with new optimizations done in GCC 8.
I'll continue to investigate what it is...
Looks like another case of UB in the JDK. This time libjimage.so with a
signed integer overflow:
https://bugs.openjdk.java.net/browse/JDK-8203223
Thanks,
Severin