RFR: 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
Markus Grönlund
mgronlun at openjdk.java.net
Wed Feb 16 10:28:12 UTC 2022
On Wed, 16 Feb 2022 07:54:26 GMT, KIRIYAMA Takuya <duke at openjdk.java.net> wrote:
>> src/hotspot/share/jfr/jni/jfrJavaSupport.hpp line 103:
>>
>>> 101:
>>> 102: // critical
>>> 103: static void abort(jstring errorMsg, TRAPS, bool dump_core=true);
>>
>> Not sure this is necessary. The existing core dump logic already handles the case where a core file cannot be generated due to disk full.
>
> Thank you for your review.
>
> Whether or not hotspot generate a core file is determined by the argument of vm_abort(bool dump_core). If the argument is "true", vm_abort(bool dump_core) calls os::abort(bool dump_core) to generate a core file.
> See the following code:
> https://github.com/openjdk/jdk/blob/3c160ab5bec0c2364ec3f43c5a5789098d4699e5/src/hotspot/share/runtime/java.cpp#L625
>
> I think JfrJavaSupport::abort() should pass "false" as an argument to vm_abort(bool dump_core).
Ok. My point was that the os won't be able to create a core file if there is no available space.
But this is indeed more succinct, if we don't want to create a core categorically from this location.
>> test/hotspot/jtreg/runtime/jfr/TestJFRDiskFull.java line 127:
>>
>>> 125: raf.close();
>>> 126: }
>>> 127: }
>>
>> I appreciate the effort, but we can't have a test that intentionally provokes a disk full situation. Instead, the updated error message will have to be manually verified.
>
> I use `@run main/manual` in TestJFRDiskFull.java. I think this label means manually test.
> I mannually confirmed this test to pass with jtreg after this fix.
My apologies, I missed the @run main/manual decoration. I don't think we have any JFR tests that use it.
If you can ensure this test is excluded for automatic runs, then perhaps...but then I don't know who will get to run it, so the value of the test is questionable.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7227
More information about the hotspot-jfr-dev
mailing list