-
-
Notifications
You must be signed in to change notification settings - Fork 459
Open
Labels
Description
Integration
sentry-android
Build System
Gradle
AGP Version
8.11.1
Proguard
Enabled
Version
8.21.0
Steps to Reproduce
This crash occurs whenever the Google Play In-App Review prompt is shown (See Google's overview here) with Sentry's Session Replay enabled.
Unfortunately, creating a minimally reproducible app to share is not possible, given for one to show this prompt per Google (See its test in-app reviews documentation), they must:
- Have an app that is published on Google Play or, at a minimum, on an internal testing track
- Have not already reviewed the published app
- Have an account that is able to review the app. A personal Gmail account that is allowlisted to test in Google Play's internal test track is easiest here, as if your organization is using Google Workspace accounts they often do not have permissions to leave a review.
Once those requirements are met, this is reproducible by:
- Enabling Sentry's Session Replay for Android in a Compose UI app
- Launching the in-app review flow (See documentation)
- Seeing the crash
Expected Result
The in-app review prompt should display without crashing.
Actual Result
The following exception occurs when the Google Play review prompt is shown:
FATAL EXCEPTION: main
Process: com.bennyapp.benny, PID: 4961
java.lang.IllegalArgumentException: width and height must be > 0
at android.graphics.Bitmap.createBitmap(Bitmap.java:1239)
at android.graphics.Bitmap.createBitmap(Bitmap.java:1205)
at android.graphics.Bitmap.createBitmap(Bitmap.java:1153)
at android.graphics.Bitmap.createBitmap(Bitmap.java:1112)
at io.sentry.android.replay.ScreenshotRecorder.<init>(ScreenshotRecorder.kt:52)
at io.sentry.android.replay.WindowRecorder.onConfigurationChanged(WindowRecorder.kt:181)
at io.sentry.android.replay.ReplayIntegration.onConfigurationChanged(ReplayIntegration.kt:491)
at io.sentry.android.replay.ReplayIntegration.onWindowSizeChanged(ReplayIntegration.kt:482)
at io.sentry.android.replay.WindowRecorder$determineWindowSize$1.onPreDraw(WindowRecorder.kt:151)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:1179)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:4417)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:3076)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10643)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1570)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1579)
at android.view.Choreographer.doCallbacks(Choreographer.java:1179)
at android.view.Choreographer.doFrame(Choreographer.java:1108)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1553)
at android.os.Handler.handleCallback(Handler.java:995)
at android.os.Handler.dispatchMessage(Handler.java:103)
at android.os.Looper.loopOnce(Looper.java:248)
at android.os.Looper.loop(Looper.java:338)
at android.app.ActivityThread.main(ActivityThread.java:9067)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:593)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:932)
This crashes our app and leaves the review prompt shown:

Metadata
Metadata
Assignees
Labels
Projects
Status
No status