RFR: 8261391: ZGC crash - SEGV in RevokeOneBias::do_thread [v3]

Robbin Ehn rehn at openjdk.java.net
Mon Feb 22 07:38:12 UTC 2021


On Mon, 22 Feb 2021 05:14:39 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Robbin Ehn has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Tiny spelling error
>
> src/hotspot/share/runtime/handshake.cpp line 291:
> 
>> 289:     // Only when the target is not executing the handshake itself.
>> 290:     StackWatermarkSet::start_processing(current_target, StackWatermarkKind::gc);
>> 291:   }
> 
> As per my comment to Erik, this situation seems like a programming error to me as there you should not be a way for the target to create a Handle that the executing thread then gets a hold off - data should only flow one way from the requesting thread to the executing thread.

StackWatermarkSet::start_processing(current_target, StackWatermarkKind::gc); is for thread local resources which may contain oops. A handshake may read from e.g. the target threads stack, so before the executing thread reads from the stack, we make sure it is safe.

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

PR: https://git.openjdk.java.net/jdk/pull/2571


More information about the hotspot-runtime-dev mailing list