RFR: 8335553: [Graal] Compiler thread calls into jdk.internal.vm.VMSupport.decodeAndThrowThrowable and crashes in OOM situation [v2]

David Holmes dholmes at openjdk.org
Wed Jul 10 05:51:17 UTC 2024


On Wed, 10 Jul 2024 05:46:31 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> src/hotspot/share/utilities/exceptions.cpp line 208:
>> 
>>> 206:                               Handle h_loader, Handle h_protection_domain) {
>>> 207:   // Check for special boot-strapping/compiler-thread handling
>>> 208:   if (special_exception(thread, file, line, h_cause)) return;
>> 
>> This fixes a long standing bug where `special_exception` is being queried with the *cause* of the exception being thrown instead of the *name* of the exception being thrown.
>
> I'm not so sure this is in fact a bug. If we are throwing with a cause, but we can't actually throw and so will do vm_exit, then the exception of interest is the cause not the more generic exception that would otherwise contain the cause.
> 
> Though I have to wonder why there is not an original `_throw` for the "cause" exception, that would have triggered the special_exception handling anyway?

Though I see this is inconsistent with `Exceptions::_throw_msg_cause`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/20083#discussion_r1671653968


More information about the core-libs-dev mailing list