RFR: 8342303: Segfault in update_inherited_vtable: AppCDS, old bytecode, and redefineClasses

Calvin Cheung ccheung at openjdk.org
Mon Oct 28 21:50:19 UTC 2024


A simple fix to avoid referencing invalid vtable and itable entires in `InstanceKlass::restore_unshareable_info` if a class is not linked during CDS dump time.

Passed tiers 1 - 4 testing.

---------
### Progress
- [ ] Change must be properly reviewed (1 review required, with at least 1 [Reviewer](https://openjdk.org/bylaws#reviewer))
- [x] Change must not contain extraneous whitespace
- [x] Commit message must refer to an issue



### Reviewing
<details><summary>Using <code>git</code></summary>

Checkout this PR locally: \
`$ git fetch https://git.openjdk.org/jdk.git pull/21667/head:pull/21667` \
`$ git checkout pull/21667`

Update a local copy of the PR: \
`$ git checkout pull/21667` \
`$ git pull https://git.openjdk.org/jdk.git pull/21667/head`

</details>
<details><summary>Using Skara CLI tools</summary>

Checkout this PR locally: \
`$ git pr checkout 21667`

View PR using the GUI difftool: \
`$ git pr show -t 21667`

</details>
<details><summary>Using diff file</summary>

Download this PR as a diff file: \
<a href="https://git.openjdk.org/jdk/pull/21667.diff">https://git.openjdk.org/jdk/pull/21667.diff</a>

</details>

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

Commit messages:
 - new fix
 - 8342303: Segfault in update_inherited_vtable: AppCDS, old bytecode, and redefineClasses

Changes: https://git.openjdk.org/jdk/pull/21667/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=21667&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8342303
  Stats: 155 lines in 4 files changed: 152 ins; 0 del; 3 mod
  Patch: https://git.openjdk.org/jdk/pull/21667.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/21667/head:pull/21667

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


More information about the hotspot-runtime-dev mailing list