RFR: 8284828: Use `os::ThreadCrashProtection` to protect AsyncGetCallTrace from crashing

Johannes Bechberger duke at openjdk.java.net
Wed Apr 13 15:35:29 UTC 2022


On Wed, 13 Apr 2022 15:19:43 GMT, Thomas Stuefe <stuefe at openjdk.org> wrote:

>> src/hotspot/share/prims/forte.cpp line 671:
>> 
>>> 669: #ifndef ASSERT
>>> 670:   trace->num_frames = ticks_unknown_state;
>>> 671:   AsyncGetCallTraceCallBack cb(trace, depth, ucontext);
>> 
>> ~Isn't [this assert](https://github.com/openjdk/jdk/blob/e245f9d2007b0a6c9962b6bf4488ba4d4ce47e92/src/hotspot/os/posix/os_posix.cpp#L1158) failing? It seems like the crash protection is only for the JFR sampler thread.~
>> 
>> OIC - this is only when asserts are not enabled.
>
> I think if we start using ThreadCrashProtection like a general-purpose class, we should make it one and remove the JFR dependencies.

I fully agree, should I do this as part of this PR?

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

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


More information about the hotspot-dev mailing list