Another crash

forax at univ-mlv.fr forax at univ-mlv.fr
Fri Jan 17 23:38:50 UTC 2020


----- Mail original -----
> De: "Alan Bateman" <Alan.Bateman at oracle.com>
> À: "Remi Forax" <forax at univ-mlv.fr>
> Cc: "loom-dev" <loom-dev at openjdk.java.net>
> Envoyé: Vendredi 17 Janvier 2020 20:59:55
> Objet: Re: Another crash

> On 16/01/2020 21:47, forax at univ-mlv.fr wrote:
>> The tests pass with -XX:UseAVX=2
>> so yes it's again related to the use AVX3.
>>
>> same crash with no -XX:AVX=2
>> https://travis-ci.org/forax/pro/jobs/638159953#L1295
>>
>> no crash with -XX:AVX=2
>> https://travis-ci.org/forax/pro/jobs/638158317#L1318
>>
> # Problematic frame:
> 1303# v  ~StubRoutines::bigIntegerLeftShiftWorker
> 
> Just chatting with Igor Ignatyev and he pointed me to JDK-8167065 [1]
> which added the instrinics for BigInteger::leftShift and
> BigInteger::rightShift recently for JDK 15. So I think we've picked up
> an issue there and this issue isn't specific to the loom repo.
> 
> Would you mind seeing if these options to disable the intrinsics make
> the problem go away:
> 
> -XX:+UnlockDiagnosticVMOptions
> -XX:DisableIntrinsic=_bigIntegerLeftShiftWorker,_bigIntegerRightShiftWorke
> -XX:CompileCommand=dontinline,java.math.BigInteger::shiftLeft
> -XX:CompileCommand=dontinline,java.math.BigInteger::shiftRight

It seems to work but i've discovered in the mean time that sometimes it works without any flag.
I believe it's because the build finished before the JIT has the time to JIT BigInteger.leftShift/rightShift.

Anyway, i've run the code 3 times with the flags above without any issue.

> 
> -Alan
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8167065

Rémi


More information about the loom-dev mailing list