Integrated: 8261354: SIGSEGV at MethodIteratorHost

Jaroslav Bachorik jbachorik at openjdk.java.net
Sat May 22 09:21:04 UTC 2021


On Fri, 21 May 2021 09:56:40 GMT, Jaroslav Bachorik <jbachorik at openjdk.org> wrote:

> The `MethodIteratorHost` will iterate over previous versions of redefined classes but the number of methods in that class is retrieved only for the current version. 
> Since the previous versions may theoretically, and before JDK 15 also practically, contain fewer methods than the current version (hotspot did support adding `private static` methods during retransformation) this can lead to SIGSEGV when the iterator tries accessing out-of-range method element.
> 
> Although for after JDK 15 it is not possible to have differing number of methods between multiple versions of a retransformed class it feels right not to rely on the implementation detail and re-retrieve the number of methods per each class version.
> 
> All jdk_jfr tests are passing on Linux x64 and MacOS x64

This pull request has now been integrated.

Changeset: 24623167
Author:    Jaroslav Bachorik <jbachorik at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/24623167ffbf8e192ef539fd0a969412719f850c
Stats:     4 lines in 1 file changed: 1 ins; 2 del; 1 mod

8261354: SIGSEGV at MethodIteratorHost

Reviewed-by: mgronlun

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

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


More information about the hotspot-jfr-dev mailing list