RFR: 8048190: NoClassDefFoundError omits original ExceptionInInitializerError [v5]

Coleen Phillimore coleenp at openjdk.java.net
Mon Aug 9 23:24:32 UTC 2021


On Mon, 9 Aug 2021 22:40:16 GMT, David Holmes <dholmes at openjdk.org> wrote:

>> Coleen Phillimore has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix java.base/bootstrap class loader comment.
>
> src/hotspot/share/classfile/javaClasses.cpp line 2685:
> 
>> 2683:   assert(stack_trace->is_objArray(), "Should be an array");
>> 2684: 
>> 2685:   // If the original exception was in the bootstrap class loader, then use that
> 
> Not sure that is a sufficiently strong enough check due to -Xbootclasspath:/a. You may need to check actual java.base module.

I don't know.  The worry was that the exception would be unloaded, which it won't if it's in the bootstrap class loader.

> test/hotspot/jtreg/runtime/ClassInitErrors/InitExceptionUnloadTest.java line 28:
> 
>> 26:  * @bug 8048190
>> 27:  * @summary Test that the NCDFE saves original exception during class initialization,
>> 28:  *          and doesn't cause the classes in the stacktrace to be unloaded.
> 
> Don't you mean "and doesn't prevent the classes in the stacktrace from being unloaded"?

yes.

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

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


More information about the hotspot-dev mailing list