Open JasonFengJ9 opened 9 months ago
There is no system core stored in results (javacore and snap traces only), so not much I can do.
One observation this test runs with 16m heap. Is it intentional? There are seven (sic!) -Xmx
options in command line, all of them 512m except most right one 16m.
Looking to the source... I believe OOM has been triggered by line https://github.com/ibmruntimes/openj9-openjdk-jdk17/blob/3dfae786468898b7e68263de89961729443b6aef/test/jdk/java/lang/ref/SoftReference/Pin.java#L70
There is output for Forcing desperate garbage collection...
, so we got so far. Starting line 71 there is try
and while loop forcing and catching OOM. Or, alternatively, intentional OOM has not been caught.
@tajila Looking to Snap traces I can see many system GC in a raw. Is it possible we are missing to catch OOM?
The systhrow OOM event is thrown by the attach API thread. It is a legitimate possibility with this test. The only way to mitigate this is to disable attach API when running this test.
The systhrow OOM event is thrown by the attach API thread. It is a legitimate possibility with this test. The only way to mitigate this is to disable attach API when running this test.
@pshipton @llxia @JasonFengJ9 There are many tests rely on artificially generated OOM handling. I am not sure about scale of the problem, how often we have it. Is it reasonable to review test base and try to improve builds stability by selectively disable attach API?
https://openj9-jenkins.osuosl.org/job/Test_openjdk8_j9_sanity.openjdk_s390x_linux_OpenJDK8_testList_1/12 jdk_lang_j9_0 java/lang/ref/SoftReference/Pin.java
04:11:52 Filling array with 128 SoftReferences to blocks of 32768 bytes.
04:11:52 Allowing SoftReferences to be enqueued.
04:11:52 Invoking get() on SoftReferences.
04:11:52 Forcing desperate garbage collection...
04:11:52 JVMDUMP055I Processing dump event "systhrow", detail "java/lang/OutOfMemoryError", exception "Java heap space" at 2024/02/09 09:11:49 - please wait.
Failure link
From an internal build(
mac11x64rt04
):Rerun in Grinder - Change TARGET to run only the failed test targets.
Optional info
Failure output (captured from console output)
50x internal grinder - passed