> The AOT allocates objects while holding lock. The jvmti events can't be 
> posted in such case. The allocation sampling might be just temporary disabled 
> while AOT objects are allocated. 
> 
> I prefer to disable jvmti events for allocation only, not for AOT globally. 
> If there are more events should be generated during AOT initialization, we 
> might want to preserve them and post after initialization is completed. 
> 
> The existing failure could be reproduced by running tests with jvmti stress 
> agent and ZGC enabled. Like
> make run-test JTREG_JVMTI_STRESS_AGENT=debugger=true 
> TEST=gc/z/TestGarbageCollectorMXBean.java
> 
> Note: 
> I prelaced NoJvmtiVMObjectAllocMark, it was not used. Also it was incorrect. 
> The 
> NoJvmtiEventsMark should be set even if jvmti events are not enable for this 
> thread. Since jvmti events might be enabled just in the middle of the mark.

Leonid Mesnik has updated the pull request incrementally with one additional 
commit since the last revision:

  Added regression test

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/28544/files
  - new: https://git.openjdk.org/jdk/pull/28544/files/7662d282..67bcdf11

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=28544&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=28544&range=00-01

  Stats: 120 lines in 2 files changed: 120 ins; 0 del; 0 mod
  Patch: https://git.openjdk.org/jdk/pull/28544.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/28544/head:pull/28544

PR: https://git.openjdk.org/jdk/pull/28544

Reply via email to