[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-hotspot-dev
Subject:    Re: RFR: JDK-8160361: SEGV occurred at JNIHandleBlock::oops_do(OopClosure*)
From:       Kim Barrett <kim.barrett () oracle ! com>
Date:       2016-06-27 21:49:53
Message-ID: 4F780641-39EF-4DEC-8A38-69934089B9E6 () oracle ! com
[Download RAW message or body]

> On Jun 27, 2016, at 5:41 PM, Coleen Phillimore <coleen.phillimore@oracle.com> wrote:
> 350    void JNIHandleBlock::oops_do(OopClosure* f) {
> (gdb)
> 351      JNIHandleBlock* current_chain = this;
> (gdb)
> 354      while (current_chain != NULL) {
> (gdb)
> 375    }
> 
> 
> The change is still an improvement, but now the question is why does it crash with GCC 6.

"this" cannot be NULL, as to get there would require invoking undefined behavior.
So the test can be elided on the first iteration…

Thanks for tracking that down.

Another one that I think would have been suppressed by the missing gcc6 options.

So I think Yasumasa's fix is good.

> 
> thanks,
> Coleen
> 
>> 
>>> Coleen
>>> 
>>>>> Thanks,
>>>>>  Thomas


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic