Integrated: 8376970: Shenandoah: Verifier should do basic verification before touching oops

Aleksey Shipilev shade at openjdk.org
Tue Feb 3 08:45:12 UTC 2026


On Mon, 2 Feb 2026 18:06:33 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> Noticed this when working on [JDK-8376749](https://bugs.openjdk.org/browse/JDK-8376749). When Verifier is about to fail on broken oop, it would decode the broken compressed pointer before doing any verification on it. So the end result is that we _at best_ catch the non-verbose assert in shared code in debug builds, or we crash the VM with opaque error in release builds, instead of rich Shenandoah verification failure.
> 
> We need to tighten this up, so that Verifier does work properly in these conditions.
> 
> Additional testing:
>  - [x] Ad-hoc crashes now show proper diagnostics
>  - [x] Linux x86_64 server fastdebug, `hotspot_gc_shenandoah`

This pull request has now been integrated.

Changeset: 8e2bd92b
Author:    Aleksey Shipilev <shade at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/8e2bd92bacd6503346a48df236959c8a959c9c77
Stats:     39 lines in 1 file changed: 27 ins; 5 del; 7 mod

8376970: Shenandoah: Verifier should do basic verification before touching oops

Reviewed-by: wkemper, xpeng, kdnilsen

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

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


More information about the shenandoah-dev mailing list