RFR: 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.

KIRIYAMA Takuya duke at openjdk.java.net
Wed Jan 26 07:17:51 UTC 2022


I think JFR should report an error message and jvm should shut down safely instead of gurantee failure.

For instance, jdk.jfr.internal.Repository#newChunk() reports an appropriate message and stops jvm as below
by using JfrJavaSupport::abort().

[0.673s][error][jfr] Could not create chunk in repository /tmp/2022_01_12_22_32_42_18030, class java.io.IOException: Unable to create JFR repository directory using base location (/tmp)
[0.673s][error][jfr,system] Could not create chunk in repository /tmp/2022_01_12_22_32_42_18030, class java.io.IOException: Unable to create JFR repository directory using base location (/tmp)
[0.673s][error][jfr,system] An irrecoverable error in Jfr. Shutting down VM...

I modified StreamWriterHost not to call guarantee failure but to call JfrJavaSupport::abort().
I added a argument to JfrJavaSupport::abort() which tells os::abort() not to put out core 
because there is no space on device.
Could you please review the fix?

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

Commit messages:
 - 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
 - 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.
 - 8280684: JfrRecorderService failes with guarantee(num_written > 0) when no space left on device.

Changes: https://git.openjdk.java.net/jdk/pull/7227/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=7227&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8280684
  Stats: 146 lines in 4 files changed: 140 ins; 0 del; 6 mod
  Patch: https://git.openjdk.java.net/jdk/pull/7227.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/7227/head:pull/7227

PR: https://git.openjdk.java.net/jdk/pull/7227


More information about the hotspot-dev mailing list