RFR: 8301697: [s390] Optimized-build is broken

Lutz Schmidt lucy at openjdk.org
Fri Feb 10 17:28:59 UTC 2023


On Fri, 3 Feb 2023 08:30:47 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> Hi @shipilev , @theRealAph 
>> 
>> As title states optimized build is broken with GCC-9.4.0 and After my code changes build is now again successful. I've done testing for optimised, release, fastdebug, slowdebug on s390 and they're successful with these code changes. 
>> 
>> I'm pinging you here, because I've seen a patch for build-fix for optmized-build in past from you. 
>> form shipilev : https://github.com/openjdk/jdk/pull/10743  (for s390)
>> from theRealAph: https://github.com/openjdk/jdk/pull/9103 (for arch-64).
>> 
>> As I'm new to OpenJDK, so it would be helpful if you could share some insight about this fix or any other way to fix the build, before I mark this PR "ready for review".
>> 
>> Thank you so much.
>
>> As title states optimized build is broken with GCC-9.4.0 and After my code changes build is now again successful. I've done testing for optimised, release, fastdebug, slowdebug on s390 and they're successful with these code changes.
> 
> I was confused a bit about this, because my own S390X optimized builds build fine:
> https://builds.shipilev.net/openjdk-jdk/build-logs/build-openjdk-jdk-linux-s390x-server-optimized-gcc10-glibc2.31.log
> 
> So, current code is supposed to build fine. I think it is arguably correct to protect the asserts with `ASSERT`/`DEBUG` rather than `PRODUCT`, which would hide them in the optimized builds. But I look at the original issue, and the optimized build is actually failing on the assert, which is why my (cross-compiled) builds are fine! See:
> 
> 
> A fatal error has been detected by the Java Runtime Environment:
> 
>  Internal Error (src/hotspot/cpu/s390/macroAssembler_s390.cpp:5498), pid=3076078, tid=3076083
>  guarantee(false) failed: Z assembly code requires stop: killed Z_R14 
> 
> 
> So, this change only hides the issue, not fixes it? If so, I don't think this is a good way to solve the issue.
> I suggest you `git bisect` and identify which change introduced this failure, and work from there.

> It also looks from @shipilev's comment, that s390x cross-compilation is working.
> 
The cross-compile will not use the JVM it created to continue with the build. How would you run a s390x JVM on x64?

-------------

PR: https://git.openjdk.org/jdk/pull/12400


More information about the hotspot-dev mailing list