Integrated: 8276227: ciReplay: SIGSEGV if classfile for replay compilation is not present after JDK-8275868

Christian Hagedorn chagedorn at openjdk.java.net
Thu Nov 4 08:57:19 UTC 2021


On Mon, 1 Nov 2021 13:25:03 GMT, Christian Hagedorn <chagedorn at openjdk.org> wrote:

> The fix for [JDK-8275868](https://bugs.openjdk.java.net/browse/JDK-8275868) does not handle the case when the classfile for the method to be replay compiled is not present. This will fail to load the klass. Afterwards, we are trying to access the protection domain of the failed to load klass (i.e. a null pointer) which results in a segmentation fault. The fix is straight forward to only set the new protection domain if the klass was loaded successfully. I additionally changed the code such that we are only trying to set the protection domain when reading the first `instanceKlass` entry. This avoids some potential problems with older replay files where we do not have this additional first entry set by JDK-8275868.
> 
> Thanks,
> Christian

This pull request has now been integrated.

Changeset: a1f4c428
Author:    Christian Hagedorn <chagedorn at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/a1f4c428ba1b78a4e18afb87c94a5c731a5aa706
Stats:     82 lines in 2 files changed: 81 ins; 0 del; 1 mod

8276227: ciReplay: SIGSEGV if classfile for replay compilation is not present after JDK-8275868

Reviewed-by: kvn, thartmann, dlong

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

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


More information about the hotspot-compiler-dev mailing list