RFR: 8332699: ubsan: jfrEventSetting.inline.hpp:31:43: runtime error: index 163 out of bounds for type 'jfrNativeEventSetting [162]'
Matthias Baesken
mbaesken at openjdk.org
Mon Jun 10 12:35:34 UTC 2024
When running hs :tier1 tests or jdk/jfr tests, with ubsan enabled (configure flag --enable-ubsan), in a lot of jfr related tests like
compiler/intrinsics/klass/CastNullCheckDroppingsTest.jtr
serviceability/jvmti/RedefineClasses/RedefineSharedClassJFR.jtr
this oob error can be seen :
/jdk/src/hotspot/share/jfr/recorder/jfrEventSetting.inline.hpp:31:43: runtime error: index 163 out of bounds for type 'jfrNativeEventSetting [162]'
#0 0x7f6b75a8634b in JfrEventSetting::setting(JfrEventId) /jdk/src/hotspot/share/jfr/recorder/jfrEventSetting.inline.hpp:31
#1 0x7f6b75a8634b in JfrEventSetting::set_stacktrace(long, bool) /jdk/src/hotspot/share/jfr/recorder/jfrEventSetting.cpp:47
Looks like the array in generated code is too small.
With
`jfrNativeEventSetting bits[NUMBER_OF_EVENTS];`
and
static const int NUMBER_OF_EVENTS = 162;
static const int NUMBER_OF_RESERVED_EVENTS = 2;
Access at index 163 cannot work.
But it looks like there is always enough memory after the array so we do not crash and it was not noticed before.
-------------
Commit messages:
- JDK-8332699
Changes: https://git.openjdk.org/jdk/pull/19628/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=19628&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8332699
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/19628.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/19628/head:pull/19628
PR: https://git.openjdk.org/jdk/pull/19628
More information about the build-dev
mailing list