Strange bug inside jetty at shenandoah/jdk8u

Kirill A. Korinsky kirill at korins.ky
Fri Dec 22 10:58:08 UTC 2017


Thanks!

--
wbr, Kirill


> On 21 Dec 2017, at 21:55, Aleksey Shipilev <shade at redhat.com> wrote:
> 
> On 12/21/2017 11:49 AM, Kirill A. Korinsky wrote:
>>> On 21 Dec 2017, at 14:23, Aleksey Shipilev <shade at redhat.com> wrote:
>>> 
>>> Smoking gun: the failure is here in HeapByteBuffer:
>>> 
>>>   public byte get(int i) {
>>>       return hb[ix(checkIndex(i))]; <--- !
>>>   }
>> 
>> I mentored it at original email ;)
> 
> Indeed you have :) My fault for not seeing/remembering right away that checkIndex is the intrinsic.
> It comes as testament to our Wiki in "Functional Diagnostics", that mentions how to dissect
> compiler-based issues, if one is suspected. The mere fact it fails only with one particular
> compiler, and that compiler is baseline C1, is one big smell. If that was a simple Java method
> failing -- and I originally thought it is -- it would be a harder deal, because we are supposed to
> make the barriers right for plain heap accesses, otherwise *everything* should crash and burn, and
> not just one test.
> 
> Your effort is appreciated, and it helped to nail the bug!
> 
> Roman pushed the fix to sh/jdk10. sh/jdk9, sh/jdk8u and Fedora RPMs would be updated in due course,
> but since NY holidays are upon us, I would expect RPMs happen somewhere in January. You may want to
> test with our nightly builds, or disable C1 with -XX:-TieredCompilation if working with
> Fedora-shipped Shenandoah for a time being.
> 
> Cheers,
> -Aleksey
> 



More information about the shenandoah-dev mailing list