RFR: 8338888: SystemDictionary::class_name_symbol has incorrect length check
Thomas Stuefe
stuefe at openjdk.org
Tue Aug 27 06:21:05 UTC 2024
On Mon, 26 Aug 2024 02:49:42 GMT, David Holmes <dholmes at openjdk.org> wrote:
> The name length check was incorrectly truncating the length to an int, which is wrong if the name is > `INT_MAX`. Added a test for this case to the existing test cases and fixed an issue with the call to `Exceptions::fthrow` that can hit the `INT_MAX` limitations of `os::vsnprintf` (this is the first in a serious of fixes that will mainly be done under [JDK-8328882](https://bugs.openjdk.org/browse/JDK-8328882) or subtasks thereof).
>
> Testing:
> - updated test
> - tiers 1-3 (sanity)
>
> Thanks
test/hotspot/jtreg/runtime/exceptionMsgs/NoClassDefFoundError/libNoClassDefFoundErrorTest.c line 50:
> 48:
> 49: static char* giant_string() {
> 50: size_t len = ((size_t)INT_MAX) + 3;
I don't think we need to allocate and touch 2GB for this test. Lets just allocate 64K + x, that should hit the Symbol name limit as well.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20709#discussion_r1732209947
More information about the hotspot-runtime-dev
mailing list