From 27686810e04fc4a853e3044053234dc386a0ac80 Mon Sep 17 00:00:00 2001 From: taibin Date: Thu, 19 Mar 2026 15:33:18 +0800 Subject: [PATCH] Fix HermesSamplingProfiler JNI 'disable' method mapping to ::enable instead of ::disable The registerNatives() function incorrectly maps the JNI 'disable' method to HermesSamplingProfiler::enable instead of HermesSamplingProfiler::disable, which can corrupt the sampling profiler state when calling HermesSamplingProfiler.disable() from Java. This is a one-line fix: change HermesSamplingProfiler::enable to HermesSamplingProfiler::disable. Fixes #56126 --- .../jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/react-native/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp b/packages/react-native/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp index 6bd061f26b9a..77015a6b7577 100644 --- a/packages/react-native/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp +++ b/packages/react-native/ReactAndroid/src/main/jni/react/hermes/instrumentation/HermesSamplingProfiler.cpp @@ -34,7 +34,7 @@ void HermesSamplingProfiler::dumpSampledTraceToFile( void HermesSamplingProfiler::registerNatives() { javaClassLocal()->registerNatives({ makeNativeMethod("enable", HermesSamplingProfiler::enable), - makeNativeMethod("disable", HermesSamplingProfiler::enable), + makeNativeMethod("disable", HermesSamplingProfiler::disable), makeNativeMethod( "dumpSampledTraceToFile", HermesSamplingProfiler::dumpSampledTraceToFile),