RFR: 8302491: NoClassDefFoundError omits the original cause of an error

Ilarion Nakonechnyy inakonechnyy at openjdk.org
Tue Feb 14 22:05:35 UTC 2023


The proposed approach added a new function for getting the cause of an exception -`java_lang_Throwable::get_cause_simple `, that gets called within `InstanceKlass::add_initialization_error`  if an old one `java_lang_Throwable::get_cause_with_stack_trace` didn't succeed because of an exception during the VM call. The simple function doesn't call the VM for getting a stack trace but fills in any other information about an exception.

Besides that, the discovering information about an exception was added to `ConstantPoolCacheEntry::save_and_throw_indy_exc` function. 

Jtreg for reproducing the issue also was added to the commit. 
The commit was tested with tier1 tests.

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

Commit messages:
 - 8302491: NoClassDefFoundError omits the original cause of an error

Changes: https://git.openjdk.org/jdk/pull/12566/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=12566&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8302491
  Stats: 121 lines in 5 files changed: 118 ins; 1 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/12566.diff
  Fetch: git fetch https://git.openjdk.org/jdk pull/12566/head:pull/12566

PR: https://git.openjdk.org/jdk/pull/12566


More information about the hotspot-dev mailing list