You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In our app's telemetry tools we are seeing crashes with the following stack:
java.lang.AssertionError: Pausing an activity that is not the current activity, this is incorrect! Current activity: ShareActivity Paused activity: MainActivity
at com.facebook.infer.annotation.Assertions.assertCondition(Assertions.java:88)
at com.facebook.react.runtime.ReactHostImpl.onHostPause(ReactHostImpl.java:347)
... full stack below
For our use case the issue seems to caused by the fact that we have multiple ReactActivity instances.
The code in ReactHostImpl.kt is kind of build on the assumption that there will only ever be one active activity:
Historically the ReactInstance which ReactHost maintains was on the old arch bound to the ReactActivity, so it made sense that it was just caring about one activity
It's very well possible to have multiple activities in the foreground. Examples are share extensions, picture in picture mode, split screen app usage (and probably other stuff i can't think of right now)
Now both the RNTesterActivity and RNTesterShareActivity will be in foreground and in resume
In the rn-tester app go to API > Share
Share text from the first button. Opening a share dialog will pause the RNTesterActivity, which will lead to a crash the whole app, as the last active activity tracked was RNTesterShareActivity
output.mp4
React Native Version
0.82.0
Affected Platforms
Runtime - Android
Output of npx @react-native-community/cli info
System:
OS: macOS 15.7
CPU: (14) arm64 Apple M4 Pro
Memory: 640.88 MB / 48.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 22.14.0
path: /nix/store/04fc23dsflkxl4s9p6lkigia1hq3vjp2-nodejs-22.14.0/bin/node
Yarn:
version: 1.22.19
path: ~/.nix-profile/bin/yarn
npm:
version: 10.9.2
path: /nix/store/04fc23dsflkxl4s9p6lkigia1hq3vjp2-nodejs-22.14.0/bin/npm
Watchman:
version: 2024.03.11.00
path: /Users/hannogodecke/Documents/discord-2/.local/bin/watchman
Managers:
CocoaPods:
version: 1.15.2
path: /Users/hannogodecke/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.5
- iOS 18.5
- macOS 15.5
- tvOS 18.5
- visionOS 2.5
- watchOS 11.5
Android SDK:
API Levels:
- "31"
- "35"
- "36"
Build Tools:
- 34.0.0
- 35.0.0
- 35.0.1
- 36.0.0
System Images:
- android-31 | ARM 64 v8a
- android-31 | Google APIs ARM 64 v8a
- android-31 | Google Play ARM 64 v8a
- android-31 | Google APIs ATD ARM 64 v8a
- android-35 | Google APIs ARM 64 v8a
- android-35 | Google Play ARM 64 v8a
- android-35 | Pre-Release 16 KB Page Size Google Play ARM 64 v8a
- android-35 | Pre-Release 16 KB Page Size Google APIs ARM 64 v8a
- android-35 | Google APIs ATD ARM 64
- android-36 | Google Play ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 2025.1 AI-251.26094.121.2512.13930704
Xcode:
version: 16.4/16F6
path: /usr/bin/xcodebuild
Languages:
Java:
version: 17.0.15
path: /usr/bin/javac
Ruby:
version: 3.3.4
path: /Users/hannogodecke/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli": Not Found
react:
installed: 19.1.1
wanted: 19.1.1
react-native: Not Found
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: Not found
newArchEnabled: Not found
iOS:
hermesEnabled: Not found
newArchEnabled: Not found
*Building the rn-tester app from main*
Stacktrace or Logs
java.lang.AssertionError: Pausing an activity that is not the current activity, this is incorrect! Current activity: ShareActivity Paused activity: MainActivity
at com.facebook.infer.annotation.Assertions.assertCondition(Assertions.java:88)
at com.facebook.react.runtime.ReactHostImpl.onHostPause(ReactHostImpl.java:347)
at com.facebook.react.ReactDelegate.onHostPause(ReactDelegate.java:139)
at com.facebook.react.ReactActivityDelegate.onPause(ReactActivityDelegate.java:166)
at com.discord.react_activities.ReactActivity$ActivityDelegate.onPause(ReactActivity.kt:133)
at com.facebook.react.ReactActivity.onPause(ReactActivity.java:55)
at com.discord.react_activities.ReactActivity.onPause(ReactActivity.kt:82)
at android.app.Activity.performPause(Activity.java:9587)
Description
In our app's telemetry tools we are seeing crashes with the following stack:
There is a bit of history around this issue:
And recently meta added changes to simply turn this assertion off by a feature flag:
For our use case the issue seems to caused by the fact that we have multiple
ReactActivityinstances.The code in
ReactHostImpl.ktis kind of build on the assumption that there will only ever be one active activity:ReactInstancewhichReactHostmaintains was on the old arch bound to theReactActivity, so it made sense that it was just caring about one activityI opened a PR which addresses this behaviour:
onHostPausecrashes with multiple active activities #54122Steps to reproduce
RNTesterActivityandRNTesterShareActivitywill be in foreground and inresumepausetheRNTesterActivity, which will lead to a crash the whole app, as the last active activity tracked wasRNTesterShareActivityoutput.mp4
React Native Version
0.82.0
Affected Platforms
Runtime - Android
Output of
npx @react-native-community/cli infoStacktrace or Logs
MANDATORY Reproducer
https://github.com/hannojg/react-native/tree/fix/android-onpause-host-properly-reproduction
Screenshots and Videos
No response