Re: RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v5]

2021-09-30 Thread Lin Zang
On Mon, 27 Sep 2021 14:28:43 GMT, Lin Zang  wrote:

>> The root cause for crash in ZGC is that the JNIHandles are processed before 
>> object iteration. And ZGC would update the JNIHandles at object iteration 
>> with read barrier. So the crash is cause by accessing the invalid address 
>> which can be dummy info after zgc, and hence crash.
>> 
>> The lock rank issue can be fixed because the related mutexes are acquired in 
>> safepoint. so the safepoint_check_required could be safepoint_check_always.
>> 
>> The Epsilon issue is caused by wrong _num_dumper_thread calculated when the 
>> gang==NULL.
>
> Lin Zang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   remove load barrier for JNI local roots

Thanks all for your help reviewing this patch. I will integrate it.

-

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


Re: RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v5]

2021-09-29 Thread Chris Plummer
On Mon, 27 Sep 2021 14:28:43 GMT, Lin Zang  wrote:

>> The root cause for crash in ZGC is that the JNIHandles are processed before 
>> object iteration. And ZGC would update the JNIHandles at object iteration 
>> with read barrier. So the crash is cause by accessing the invalid address 
>> which can be dummy info after zgc, and hence crash.
>> 
>> The lock rank issue can be fixed because the related mutexes are acquired in 
>> safepoint. so the safepoint_check_required could be safepoint_check_always.
>> 
>> The Epsilon issue is caused by wrong _num_dumper_thread calculated when the 
>> gang==NULL.
>
> Lin Zang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   remove load barrier for JNI local roots

The dumper threads related fix looks fine. I don't know enough to verify the GC 
fix, but I think Per has that covered sufficiently. Likewise for the lock rank 
issue which Coleen has reviewed. Also, I tested your changes with our tier2 and 
tier3 CI runs, which is where the failures initially turned up, and they are 
passing now.

-

Marked as reviewed by cjplummer (Reviewer).

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


Re: RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v5]

2021-09-29 Thread Chris Plummer
On Tue, 28 Sep 2021 22:33:32 GMT, Lin Zang  wrote:

> Dear Chris(@plummercj) and Ralf(@schmelter-sap), may I ask your help to 
> review this fix of JDK-8252842? Thanks!

Yes, I will have a look at it.

-

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


Re: RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v5]

2021-09-28 Thread Lin Zang
On Tue, 28 Sep 2021 07:46:27 GMT, Per Liden  wrote:

>> Lin Zang has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   remove load barrier for JNI local roots
>
> The load barrier part of this now looks good to me.

Thanks @pliden for help review and approve.

Dear Chris(@plummercj) and Ralf(@schmelter-sap), may I ask your help to review 
this fix of JDK-8252842?  Thanks!

-

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


Re: RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v5]

2021-09-28 Thread Per Liden
On Mon, 27 Sep 2021 14:28:43 GMT, Lin Zang  wrote:

>> The root cause for crash in ZGC is that the JNIHandles are processed before 
>> object iteration. And ZGC would update the JNIHandles at object iteration 
>> with read barrier. So the crash is cause by accessing the invalid address 
>> which can be dummy info after zgc, and hence crash.
>> 
>> The lock rank issue can be fixed because the related mutexes are acquired in 
>> safepoint. so the safepoint_check_required could be safepoint_check_always.
>> 
>> The Epsilon issue is caused by wrong _num_dumper_thread calculated when the 
>> gang==NULL.
>
> Lin Zang has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   remove load barrier for JNI local roots

The load barrier part of this now looks good to me.

-

Marked as reviewed by pliden (Reviewer).

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


Re: RFR: 8274196: Crashes in VM_HeapDumper::work after JDK-8252842 [v5]

2021-09-27 Thread Lin Zang
> The root cause for crash in ZGC is that the JNIHandles are processed before 
> object iteration. And ZGC would update the JNIHandles at object iteration 
> with read barrier. So the crash is cause by accessing the invalid address 
> which can be dummy info after zgc, and hence crash.
> 
> The lock rank issue can be fixed because the related mutexes are acquired in 
> safepoint. so the safepoint_check_required could be safepoint_check_always.
> 
> The Epsilon issue is caused by wrong _num_dumper_thread calculated when the 
> gang==NULL.

Lin Zang has updated the pull request incrementally with one additional commit 
since the last revision:

  remove load barrier for JNI local roots

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/5681/files
  - new: https://git.openjdk.java.net/jdk/pull/5681/files/f6cb2123..db77cdaa

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=5681=04
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=5681=03-04

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/5681.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/5681/head:pull/5681

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