Lin Hu

Results 41 comments of Lin Hu

@amicic @dmitripivkine please review the changes, Thanks,

did get a case which caught the assertion but without GC, not sure if I need to merge any vm recent local changes(the build has been rebased with the latest(yesterday)...

> What happens if you remove the printfs there is no difference with prints and wo prints, BTW I run testReleaseOnYieldRecursive only

failure with one GC ``` root@chandler1:/home/linhu/openj9-openjdk-jdk24$ /home/linhu/openj9-openjdk-jdk24/build/linux-x86_64-server-release/images/jdk/bin/java -cp /home/linhu/openj9-openjdk-jdk24/build/linux-x86_64-server-release/test-support/jtreg_test_jdk_java_lang_Thread_virtual_MiscMonitorTests_java/classes/0/java/lang/Thread/virtual/MiscMonitorTests.d:/home/linhu/openj9-openjdk-jdk24/test/jdk/java/lang/Thread/virtual:/home/linhu/openj9-openjdk-jdk24/build/linux-x86_64-server-release/test-support/jtreg_test_jdk_java_lang_Thread_virtual_MiscMonitorTests_java/classes/0/test/lib:/home/linhu/openj9-openjdk-jdk24/test/lib:/root/jtreg/jtreg7.4.1/lib/junit-platform-console-standalone-1.10.2.jar:/root/jtreg/jtreg7.4.1/lib/javatest.jar:/root/jtreg/jtreg7.4.1/lib/jtreg.jar --add-opens java.base/java.lang=ALL-UNNAMED -Xint -Xmns32m -verbose:gc com.sun.javatest.regtest.agent.MainWrapper /home/linhu/openj9-openjdk-jdk24/build/linux-x86_64-server-release/test-support/jtreg_test_jdk_java_lang_Thread_virtual_MiscMonitorTests_java/java/lang/Thread/virtual/MiscMonitorTests.d/junit.0.jta java/lang/Thread/virtual/MiscMonitorTests.java MiscMonitorTests MM_ScavengerRootScanner::doVMThreadSlot slotPtr=00007F970066D2E0, monitorObject=00000007FF0372D0, isHeapObject=1 MM_ScavengerRootScanner::doVMThreadSlot slotPtr=00007F97000AF240, monitorObject=00000007FF1D2390, isHeapObject=1 MM_ScavengerRootClearer::doMonitorReference monitor=00007F970066B6E8, objectPtr=00000007FF1D2390 MM_ScavengerRootClearer::doMonitorReference...

``` !j9object 0x00000007FEAD6FB0 !J9Object 0x00000007FEAD6FB0 { struct J9Class* clazz = !j9class 0x1FB00 // java/lang/Object Object flags = 0x00000008; I lockword = 0x00016001 (offset = 0) (java/lang/Object) } ``` ``` >...

the Object 0x00000007FEAD6FB0 is not in Monitor Table before and during GC, and the Object is new allocated object after GC

there are two objects in monitor Table ``` objectPtr=00000007FF1D2390 objectPtr=00000007FF0372D0 ``` after GC has been moved to ``` forwarded forwardPtr=00000007FE00F3E0, forwarded forwardPtr=00000007FE027260, ``` ``` !j9object 0x00000007FE00F3E0 !J9Object 0x00000007FE00F3E0 { struct...

failure with testContentionWithSyncMethods, has both java and native assertions ``` ....jtreg/jtreg7.4.1/lib/javatest.jar:/root/jtreg/jtreg7.4.1/lib/jtreg.jar --add-opens java.base/java.lang=ALL-UNNAMED -Xint -Xmns4m -Xgcpolicy:optthruput -verbose:gc com.sun.javatest.regtest.agent.MainWrapper /home/linhu/openj9-openjdk-jdk24/build/linux-x86_64-server-release/test-support/jtreg_test_jdk_java_lang_Thread_virtual_MiscMonitorTests_java/java/lang/Thread/virtual/MiscMonitorTests.d/junit.0.jta java/lang/Thread/virtual/MiscMonitorTests.java MiscMonitorTests MM_MarkingSchemeRootMarker::doVMThreadSlot slotPtr=00007EFD201516B0, monitorObject=0000000706349610, isHeapObject=1 MM_MarkingSchemeRootMarker::doVMThreadSlot slotPtr=00007EFD2009C370, monitorObject=0000000706501B38, isHeapObject=1 MM_MarkingSchemeRootClearer::doMonitorReference...

Object 0x00000007068AFCE8 with lockword related with objectMonitor: 0x0000000000010630 is unmounted state(0x1) ``` !j9object 0x00000007068AFCE8 !J9Object 0x00000007068AFCE8 { struct J9Class* clazz = !j9class 0x1FB00 // java/lang/Object Object flags = 0x00000008; I...

the Object is live and the related monitor record also in the monitorTable, GC did not collect the object and monitor record the record in last GC clearable phase: ```...