RFR: 8256046: Shenandoah: Mix-in NULL_PTR in non-strong ShLRBNode's type [v3]

Roman Kennke rkennke at openjdk.java.net
Tue Nov 10 13:18:16 UTC 2020


> Testing found this problem (very rare/hard to reproduce):
> 
> # Internal Error (d:/a/jdk/jdk/jdk/src/hotspot/cpu/x86/macroAssembler_x86.cpp:880), pid=6160, tid=5828
> # fatal error: DEBUG MESSAGE: unexpected null in intrinsic
> 
> I believe this may be caused by non-strong LRB reporting a non-NULL type by passing-through its input's type, even though it may actually return NULL on non-NULL inputs. If this serves as input to an intrinsic, it may lead to elimination of surrounding null-check, and thus end up passing a NULL to the intrinsic even thought it should not. 
> 
> Testing:
>  - [x] hotspot_gc_shenandoah
>  - [ ] tier1+Shenandoah
>  - [ ] tier2+Shenandoah

Roman Kennke has updated the pull request incrementally with one additional commit since the last revision:

  Shuffle new code-paths to match rest of methods

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1120/files
  - new: https://git.openjdk.java.net/jdk/pull/1120/files/d98ea79b..8350d33e

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1120&range=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1120&range=01-02

  Stats: 10 lines in 1 file changed: 2 ins; 1 del; 7 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1120.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1120/head:pull/1120

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


More information about the hotspot-gc-dev mailing list