Crash in [@ java.lang.IllegalStateException: at org.mozilla.fenix.browser.BaseBrowserFragment.resetNavbar(BaseBrowserFragment.kt:1870)]
Categories
(Firefox for Android :: Experimentation and Telemetry, defect)
Tracking
()
| Tracking | Status | |
|---|---|---|
| firefox133 | --- | unaffected |
| firefox134 | --- | unaffected |
| firefox135 | + | verified |
People
(Reporter: aaronmt, Assigned: petru)
References
(Regression)
Details
(4 keywords, Whiteboard: robo-test)
Attachments
(4 files)
Failing task: https://firefox-ci-tc.services.mozilla.com/tasks/U5z2lMq9RJmfyIrCbwTLEg
Matrix-19rtx67f3lkga https://console.firebase.google.com/project/moz-fenix/testlab/histories/bh.66b7091e15d53d45/matrices/7058953261847832196/details
Build: 12/05 Debug
2024-12-05 07:16:09 data_app_crash (text, 4421 bytes)
Process: org.mozilla.fenix.debug
PID: 15904
UID: 10233
Flags: 0x38e83e46
Package: org.mozilla.fenix.debug v1 (1.0.2449)
Foreground: Yes
Process-Runtime: 571791
Build: google/oriole/oriole:12/SQ1D.220205.004/8151327:user/release-keys
Loading-Progress: 1.0
java.lang.IllegalStateException: Composition is disposed while composing. If dispose is triggered by a call in @Composable function, consider wrapping it with SideEffect block.
at androidx.compose.runtime.PreconditionsKt.throwIllegalStateException(Preconditions.kt:43)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:1553)
at androidx.compose.ui.platform.WrappedComposition.dispose(Wrapper.android.kt:169)
at androidx.compose.ui.platform.AbstractComposeView.disposeComposition(ComposeView.android.kt:273)
at androidx.compose.ui.platform.ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1.onViewDetachedFromWindow(ViewCompositionStrategy.android.kt:91)
at android.view.View.dispatchDetachedFromWindow(View.java:20824)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3956)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3948)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5572)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5543)
at android.view.ViewGroup.removeView(ViewGroup.java:5474)
at org.mozilla.fenix.browser.BaseBrowserFragment.resetNavbar(BaseBrowserFragment.kt:1870)
at org.mozilla.fenix.browser.BaseBrowserFragment.restoreBottomToolbarDivider(BaseBrowserFragment.kt:1858)
at org.mozilla.fenix.browser.BaseBrowserFragment.access$restoreBottomToolbarDivider(BaseBrowserFragment.kt:253)
at org.mozilla.fenix.browser.BaseBrowserFragment$initializeNavBar$1$1.invoke(BaseBrowserFragment.kt:1533)
at org.mozilla.fenix.browser.BaseBrowserFragment$initializeNavBar$1$1.invoke(BaseBrowserFragment.kt:1494)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2825)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:3116)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3607)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3552)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:948)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1206)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:132)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:616)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:585)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1035)
at android.view.Choreographer.doCallbacks(Choreographer.java:845)
at android.view.Choreographer.doFrame(Choreographer.java:775)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@18a8041, androidx.compose.ui.platform.MotionDurationScaleImpl@e5299e6, StandaloneCoroutine{Cancelling}@1f3cb27, AndroidUiDispatcher@3dd91d4]
| Reporter | ||
Comment 1•1 year ago
|
||
java.lang.IllegalStateException: Composition is disposed while composing. If dispose is triggered by a call in @Composable function, consider wrapping it with SideEffect block.
FATAL EXCEPTION: main
Process: org.mozilla.fenix.debug, PID: 15904
java.lang.IllegalStateException: Composition is disposed while composing. If dispose is triggered by a call in @Composable function, consider wrapping it with SideEffect block.
at androidx.compose.runtime.PreconditionsKt.throwIllegalStateException(Preconditions.kt:43)
at androidx.compose.runtime.CompositionImpl.dispose(Composition.kt:1553)
at androidx.compose.ui.platform.WrappedComposition.dispose(Wrapper.android.kt:169)
at androidx.compose.ui.platform.AbstractComposeView.disposeComposition(ComposeView.android.kt:273)
at androidx.compose.ui.platform.ViewCompositionStrategy$DisposeOnDetachedFromWindowOrReleasedFromPool$installFor$listener$1.onViewDetachedFromWindow(ViewCompositionStrategy.android.kt:91)
at android.view.View.dispatchDetachedFromWindow(View.java:20824)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3956)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3948)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5572)
at android.view.ViewGroup.removeViewInternal(ViewGroup.java:5543)
at android.view.ViewGroup.removeView(ViewGroup.java:5474)
at org.mozilla.fenix.browser.BaseBrowserFragment.resetNavbar(BaseBrowserFragment.kt:1870)
at org.mozilla.fenix.browser.BaseBrowserFragment.restoreBottomToolbarDivider(BaseBrowserFragment.kt:1858)
at org.mozilla.fenix.browser.BaseBrowserFragment.access$restoreBottomToolbarDivider(BaseBrowserFragment.kt:253)
at org.mozilla.fenix.browser.BaseBrowserFragment$initializeNavBar$1$1.invoke(BaseBrowserFragment.kt:1533)
at org.mozilla.fenix.browser.BaseBrowserFragment$initializeNavBar$1$1.invoke(BaseBrowserFragment.kt:1494)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.RecomposeScopeImpl.compose(RecomposeScopeImpl.kt:192)
at androidx.compose.runtime.ComposerImpl.recomposeToGroupEnd(Composer.kt:2825)
at androidx.compose.runtime.ComposerImpl.skipCurrentGroup(Composer.kt:3116)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3607)
at androidx.compose.runtime.ComposerImpl.recompose$runtime_release(Composer.kt:3552)
at androidx.compose.runtime.CompositionImpl.recompose(Composition.kt:948)
at androidx.compose.runtime.Recomposer.performRecompose(Recomposer.kt:1206)
at androidx.compose.runtime.Recomposer.access$performRecompose(Recomposer.kt:132)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:616)
at androidx.compose.runtime.Recomposer$runRecomposeAndApplyChanges$2$1.invoke(Recomposer.kt:585)
at androidx.compose.ui.platform.AndroidUiFrameClock$withFrameNanos$2$callback$1.doFrame(AndroidUiFrameClock.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher.performFrameDispatch(AndroidUiDispatcher.android.kt:109)
at androidx.compose.ui.platform.AndroidUiDispatcher.access$performFrameDispatch(AndroidUiDispatcher.android.kt:41)
at androidx.compose.ui.platform.AndroidUiDispatcher$dispatchCallback$1.doFrame(AndroidUiDispatcher.android.kt:69)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1035)
at android.view.Choreographer.doCallbacks(Choreographer.java:845)
at android.view.Choreographer.doFrame(Choreographer.java:775)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1022)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:201)
at android.os.Looper.loop(Looper.java:288)
at android.app.ActivityThread.main(ActivityThread.java:7839)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.runtime.PausableMonotonicFrameClock@18a8041, androidx.compose.ui.platform.MotionDurationScaleImpl@e5299e6, StandaloneCoroutine{Cancelling}@1f3cb27, AndroidUiDispatcher@3dd91d4]
| Reporter | ||
Comment 2•1 year ago
|
||
| Reporter | ||
Updated•1 year ago
|
| Reporter | ||
Updated•1 year ago
|
Comment 3•1 year ago
|
||
:petru, since you are the author of the regressor, bug 1909746, could you take a look? Also, could you set the severity field?
For more information, please visit BugBot documentation.
| Reporter | ||
Comment 4•1 year ago
|
||
Reproducible by hitting the 'x' on the survey drawer.
I saved a PDF, and got the survey. Slid the drawer up and hit 'x' (like in the screenshot).
| Assignee | ||
Updated•1 year ago
|
| Reporter | ||
Comment 6•1 year ago
|
||
Crashes on survey Submit too
| Reporter | ||
Comment 7•1 year ago
|
||
[Tracking Requested - why for this release]: Crashes on in app-survey submit
| Assignee | ||
Comment 8•1 year ago
|
||
Microsurveys and the navbar are parts of the same composable already
-> updating the navbar separately in response to microsurvey changes would result
in updating the same composable that called the update which leads to a crash.
This change separates updating the XML toolbar layout from the navbar composable
and allows to update the navbar separately, if not already in the process of
updating the composable.
Updated•1 year ago
|
Comment 10•1 year ago
|
||
| bugherder | ||
| Assignee | ||
Updated•1 year ago
|
| Comment hidden (Intermittent Failures Robot) |
Comment 12•1 year ago
•
|
||
Verified as fixed in Nightly 135.0a1 from 12/10 with Google Pixel 8 Pro (Android 14).
I've enrolled in the TEST Microsurvey: Android Homepage CSAT 2024 ICON TEST experiment using nimbus-cli.
The application remained stable after interacting with the microsurey.
Comment 13•1 year ago
|
||
Updated•1 year ago
|
Description
•