What React Native libraries do you use?
RN New Architecture, Expo Application Services (EAS), Expo (mobile only), Expo Router
Are you using sentry.io or on-premise?
sentry.io (SaS)
Are you using any other error monitoring solution alongside Sentry?
No
Other Error Monitoring Solution Name
No response
@sentry/react-native SDK Version
7.2.0
How does your development environment look like?
- react-native: 0.81.5
- expo: 54.0.33
- @sentry/react-native: 7.2.0
- Affected devices: HyperOS 3.0.x (built on Android 16) - Redmi note 14 Pro+, Xiaomi Pad 7
Sentry.init()
init({
dsn: SENTRY_DSN,
debug: false,
dist: SENTRY_DIST,
release: SENTRY_RELEASE,
enableUserInteractionTracing: true,
integrations: [
navigationIntegration,
mobileReplayIntegration({
maskAllImages: true,
maskAllText: true,
maskAllVectors: true,
}),
],
attachScreenshot: false,
attachViewHierarchy: true,
tracesSampleRate: SENTRY_TRACES_SAMPLE_RATE,
profilesSampleRate: SENTRY_PROFILES_SAMPLE_RATE,
replaysOnErrorSampleRate: SENTRY_REPLAYS_ON_ERROR_SAMPLE_RATE,
replaysSessionSampleRate: SENTRY_REPLAYS_SESSION_SAMPLE_RATE),
replaysSessionQuality: 'low',
});
Steps to Reproduce
- Open the app
- Move app to background (by returning to Home or open another app)
- Wait for about 20-30s
- Bring the app to foreground (by opening from Recent apps)
Expected Result
The app should be resumed without error and remain the previous state.
Actual Result
The app is resumed with grey/white screen and stuck at it.
Logcat:
`
Event:APP_SCOUT_WARNING Thread:main backtrace:
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:754)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:990)
at java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
at io.sentry.util.AutoClosableReentrantLock.acquire(AutoClosableReentrantLock.java:12)
at io.sentry.android.replay.ReplayIntegration.start(ReplayIntegration.kt:158)
at io.sentry.android.core.LifecycleWatcher.startSession(LifecycleWatcher.java:87)
at io.sentry.android.core.LifecycleWatcher.onForeground(LifecycleWatcher.java:62)
at io.sentry.android.core.AppState$LifecycleObserver.onStart(AppState.java:202)
at androidx.lifecycle.DefaultLifecycleObserverAdapter.onStateChanged(DefaultLifecycleObserverAdapter.kt:25)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.jvm.kt:320)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.jvm.kt:257)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.jvm.kt:293)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.jvm.kt:142)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.jvm.kt:124)
at androidx.lifecycle.ProcessLifecycleOwner.activityStarted$lifecycle_process_release(ProcessLifecycleOwner.kt:97)
at androidx.lifecycle.ProcessLifecycleOwner$attach$1$onActivityPreCreated$1.onActivityPostStarted(ProcessLifecycleOwner.kt:160)
at android.app.Activity.dispatchActivityPostStarted(Activity.java:1718)
at android.app.Activity.performStart(Activity.java:9522)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4746)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:217)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:197)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:169)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:104)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:83)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3103)
at android.os.Handler.dispatchMessage(Handler.java:114)
at android.os.Looper.loopOnce(Looper.java:274)
at android.os.Looper.loop(Looper.java:369)
at android.app.ActivityThread.main(ActivityThread.java:10090)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:616)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1137)
Event:APP_SCOUT_HANG Thread:main backtrace:
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:754)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:990)
at java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
at io.sentry.util.AutoClosableReentrantLock.acquire(AutoClosableReentrantLock.java:12)
at io.sentry.android.replay.ReplayIntegration.start(ReplayIntegration.kt:158)
at io.sentry.android.core.LifecycleWatcher.startSession(LifecycleWatcher.java:87)
at io.sentry.android.core.LifecycleWatcher.onForeground(LifecycleWatcher.java:62)
at io.sentry.android.core.AppState$LifecycleObserver.onStart(AppState.java:202)
at androidx.lifecycle.DefaultLifecycleObserverAdapter.onStateChanged(DefaultLifecycleObserverAdapter.kt:25)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.jvm.kt:320)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.jvm.kt:257)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.jvm.kt:293)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.jvm.kt:142)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.jvm.kt:124)
at androidx.lifecycle.ProcessLifecycleOwner.activityStarted$lifecycle_process_release(ProcessLifecycleOwner.kt:97)
at androidx.lifecycle.ProcessLifecycleOwner$attach$1$onActivityPreCreated$1.onActivityPostStarted(ProcessLifecycleOwner.kt:160)
at android.app.Activity.dispatchActivityPostStarted(Activity.java:1718)
at android.app.Activity.performStart(Activity.java:9522)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4746)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:217)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:197)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:169)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:104)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:83)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3103)
at android.os.Handler.dispatchMessage(Handler.java:114)
at android.os.Looper.loopOnce(Looper.java:274)
at android.os.Looper.loop(Looper.java:369)
at android.app.ActivityThread.main(ActivityThread.java:10090)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:616)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1137)
`
What React Native libraries do you use?
RN New Architecture, Expo Application Services (EAS), Expo (mobile only), Expo Router
Are you using sentry.io or on-premise?
sentry.io (SaS)
Are you using any other error monitoring solution alongside Sentry?
No
Other Error Monitoring Solution Name
No response
@sentry/react-native SDK Version
7.2.0
How does your development environment look like?
Sentry.init()
Steps to Reproduce
Expected Result
The app should be resumed without error and remain the previous state.
Actual Result
The app is resumed with grey/white screen and stuck at it.
Logcat:
`
Event:APP_SCOUT_WARNING Thread:main backtrace:
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:754)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:990)
at java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
at io.sentry.util.AutoClosableReentrantLock.acquire(AutoClosableReentrantLock.java:12)
at io.sentry.android.replay.ReplayIntegration.start(ReplayIntegration.kt:158)
at io.sentry.android.core.LifecycleWatcher.startSession(LifecycleWatcher.java:87)
at io.sentry.android.core.LifecycleWatcher.onForeground(LifecycleWatcher.java:62)
at io.sentry.android.core.AppState$LifecycleObserver.onStart(AppState.java:202)
at androidx.lifecycle.DefaultLifecycleObserverAdapter.onStateChanged(DefaultLifecycleObserverAdapter.kt:25)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.jvm.kt:320)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.jvm.kt:257)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.jvm.kt:293)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.jvm.kt:142)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.jvm.kt:124)
at androidx.lifecycle.ProcessLifecycleOwner.activityStarted$lifecycle_process_release(ProcessLifecycleOwner.kt:97)
at androidx.lifecycle.ProcessLifecycleOwner$attach$1$onActivityPreCreated$1.onActivityPostStarted(ProcessLifecycleOwner.kt:160)
at android.app.Activity.dispatchActivityPostStarted(Activity.java:1718)
at android.app.Activity.performStart(Activity.java:9522)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4746)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:217)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:197)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:169)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:104)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:83)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3103)
at android.os.Handler.dispatchMessage(Handler.java:114)
at android.os.Looper.loopOnce(Looper.java:274)
at android.os.Looper.loop(Looper.java:369)
at android.app.ActivityThread.main(ActivityThread.java:10090)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:616)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1137)
Event:APP_SCOUT_HANG Thread:main backtrace:
at jdk.internal.misc.Unsafe.park(Native Method)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:221)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:754)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(AbstractQueuedSynchronizer.java:990)
at java.util.concurrent.locks.ReentrantLock$Sync.lock(ReentrantLock.java:153)
at java.util.concurrent.locks.ReentrantLock.lock(ReentrantLock.java:322)
at io.sentry.util.AutoClosableReentrantLock.acquire(AutoClosableReentrantLock.java:12)
at io.sentry.android.replay.ReplayIntegration.start(ReplayIntegration.kt:158)
at io.sentry.android.core.LifecycleWatcher.startSession(LifecycleWatcher.java:87)
at io.sentry.android.core.LifecycleWatcher.onForeground(LifecycleWatcher.java:62)
at io.sentry.android.core.AppState$LifecycleObserver.onStart(AppState.java:202)
at androidx.lifecycle.DefaultLifecycleObserverAdapter.onStateChanged(DefaultLifecycleObserverAdapter.kt:25)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.jvm.kt:320)
at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.jvm.kt:257)
at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.jvm.kt:293)
at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.jvm.kt:142)
at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.jvm.kt:124)
at androidx.lifecycle.ProcessLifecycleOwner.activityStarted$lifecycle_process_release(ProcessLifecycleOwner.kt:97)
at androidx.lifecycle.ProcessLifecycleOwner$attach$1$onActivityPreCreated$1.onActivityPostStarted(ProcessLifecycleOwner.kt:160)
at android.app.Activity.dispatchActivityPostStarted(Activity.java:1718)
at android.app.Activity.performStart(Activity.java:9522)
at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4746)
at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:217)
at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:197)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:169)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:104)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:83)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:3103)
at android.os.Handler.dispatchMessage(Handler.java:114)
at android.os.Looper.loopOnce(Looper.java:274)
at android.os.Looper.loop(Looper.java:369)
at android.app.ActivityThread.main(ActivityThread.java:10090)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:616)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1137)
`