RFR: 8318757: 8318757 VM_ThreadDump asserts in interleaved ObjectMonitor::deflate_monitor [v2]
Patricio Chilano Mateo
pchilanomate at openjdk.org
Mon Nov 6 19:40:29 UTC 2023
On Mon, 6 Nov 2023 13:14:42 GMT, Stefan Karlsson <stefank at openjdk.org> wrote:
>> A safepointed monitor deflation pass can run interleaved with a paused async monitor deflation pass. The code is not written to handle that situation and asserts when it finds a DEFLATER_MARKER in the owner field. @pchilano also found other issues with having to monitor deflation passes interleaved. More info below ...
>
> Stefan Karlsson has updated the pull request incrementally with three additional commits since the last revision:
>
> - Move ConcurrentDeflation.java out of tier1
> - Update comments
> - Use a named constant
Looks good to me.
I see this monitor traversal in VM_ThreadDump is just to get the monitors locked through JNI. But we now have the _jni_monitor_count counter so all this traversal could be made conditional, which most of the times will mean we won't have to do it.
test/hotspot/jtreg/runtime/Monitor/ConcurrentDeflation.java line 35:
> 33: * @test
> 34: * @bug 8318757
> 35: * @summary Test concurrent monitor deflation by MonitorDeflationThread and VMThread
No concurrent deflation anymore in VM_ThreadDump by the VMThread.
-------------
Marked as reviewed by pchilanomate (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/16519#pullrequestreview-1716091260
PR Comment: https://git.openjdk.org/jdk/pull/16519#issuecomment-1796176604
PR Review Comment: https://git.openjdk.org/jdk/pull/16519#discussion_r1383871753
More information about the hotspot-dev
mailing list