RFR: 8267213: assert(left >= right) failed: avoid underflow

David Holmes david.holmes at oracle.com
Tue May 18 07:08:32 UTC 2021


Hi Jie,

On 18/05/2021 9:14 am, Jie Fu wrote:
> On Mon, 17 May 2021 22:27:16 GMT, David Holmes <david.holmes at oracle.com> wrote:
> 
>> I would expect pc to point to start of jmp instruction and addr to point
>> later.
> 
> OK.
> If so, the original code is right and the lasted fix just follows what it does before.
> Thanks.

I don't know how this "pc is near addr" check ends up affecting the 
assert(left >= right) but presumably we are hitting a case where the 
addr is in fact < pc. So the question is then whether that should be 
considered "near" or not. Your original fix decided "near" means within 
15 in either direction; while under an expectation that addr >= pc, the 
current fix only consider it near within +15.

Have you analysed the original crash to check what the actual pc and 
addr values were?

Thanks,
David

> -------------
> 
> PR: https://git.openjdk.java.net/jdk/pull/4044
> 


More information about the hotspot-dev mailing list