Skip to content

[BUG] Play Store crash: FragmentManager is already executing transactions #4737

@jesmrec

Description

@jesmrec

Not many appearances, but it deserves a look. This is the stacktrace:

Exception java.lang.IllegalStateException: FragmentManager is already executing transactions
  at androidx.fragment.app.FragmentManager.ensureExecReady (FragmentManager.java:1697)
  at androidx.fragment.app.FragmentManager.execSingleAction (FragmentManager.java:1727)
  at androidx.fragment.app.BackStackRecord.commitNow (BackStackRecord.java:317)
  at com.owncloud.android.ui.activity.FileDisplayActivity.cleanSecondFragment (FileDisplayActivity.kt:543)
  at com.owncloud.android.ui.activity.FileDisplayActivity.onBackPressed (FileDisplayActivity.kt:762)
  at com.owncloud.android.presentation.files.details.FileDetailsFragment$observeCurrentFile$1.invokeSuspend (FileDetailsFragment.kt:604)
  at com.owncloud.android.presentation.files.details.FileDetailsFragment$observeCurrentFile$1.invoke (Unknown Source:8)
  at com.owncloud.android.presentation.files.details.FileDetailsFragment$observeCurrentFile$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invokeSuspend (Merge.kt:214)
  at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke (Unknown Source:13)
  at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.invoke (Unknown Source:4)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invokeSuspend (Merge.kt:34)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke (Unknown Source:8)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.invoke (Unknown Source:4)
  at kotlinx.coroutines.intrinsics.UndispatchedKt.startCoroutineUndispatched (Undispatched.kt:55)
  at kotlinx.coroutines.CoroutineStart.invoke (CoroutineStart.kt:112)
  at kotlinx.coroutines.AbstractCoroutine.start (AbstractCoroutine.kt:126)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch (Builders.common.kt:56)
  at kotlinx.coroutines.BuildersKt.launch (Unknown Source:1)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default (Builders.common.kt:47)
  at kotlinx.coroutines.BuildersKt.launch$default (Unknown Source:1)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1.emit (Merge.kt:33)
  at kotlinx.coroutines.flow.StateFlowImpl.collect (StateFlow.kt:398)
  at kotlinx.coroutines.flow.ReadonlyStateFlow.collect (Unknown Source:2)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invokeSuspend (Merge.kt:27)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke (Unknown Source:8)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3.invoke (Unknown Source:4)
  at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn (Undispatched.kt:89)
  at kotlinx.coroutines.CoroutineScopeKt.coroutineScope (CoroutineScope.kt:264)
  at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest.flowCollect (Merge.kt:25)
  at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo$suspendImpl (ChannelFlow.kt:157)
  at kotlinx.coroutines.flow.internal.ChannelFlowOperator.collectTo (Unknown Source)
  at kotlinx.coroutines.flow.internal.ChannelFlow$collectToFun$1.invokeSuspend (ChannelFlow.kt:60)
  at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith (ContinuationImpl.kt:33)
  at kotlinx.coroutines.DispatchedTask.run (DispatchedTask.kt:106)
  at kotlinx.coroutines.EventLoop.processUnconfinedEvent (EventLoop.common.kt:69)
  at kotlinx.coroutines.internal.DispatchedContinuationKt.resumeCancellableWith (DispatchedContinuation.kt:376)
  at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable (Cancellable.kt:30)
  at kotlinx.coroutines.intrinsics.CancellableKt.startCoroutineCancellable$default (Cancellable.kt:25)
  at kotlinx.coroutines.CoroutineStart.invoke (CoroutineStart.kt:110)
  at kotlinx.coroutines.AbstractCoroutine.start (AbstractCoroutine.kt:126)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch (Builders.common.kt:56)
  at kotlinx.coroutines.BuildersKt.launch (Unknown Source:1)
  at kotlinx.coroutines.BuildersKt__Builders_commonKt.launch$default (Builders.common.kt:47)
  at kotlinx.coroutines.BuildersKt.launch$default (Unknown Source:1)
  at androidx.lifecycle.RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1.onStateChanged (RepeatOnLifecycle.kt:106)
  at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent (LifecycleRegistry.java:360)
  at androidx.lifecycle.LifecycleRegistry.forwardPass (LifecycleRegistry.java:271)
  at androidx.lifecycle.LifecycleRegistry.sync (LifecycleRegistry.java:313)
  at androidx.lifecycle.LifecycleRegistry.moveToState (LifecycleRegistry.java:151)
  at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent (LifecycleRegistry.java:134)
  at androidx.fragment.app.Fragment.performStart (Fragment.java:3176)
  at androidx.fragment.app.FragmentStateManager.start (FragmentStateManager.java:588)
  at androidx.fragment.app.FragmentStateManager.moveToExpectedState (FragmentStateManager.java:279)
  at androidx.fragment.app.FragmentStore.moveToExpectedState (FragmentStore.java:113)
  at androidx.fragment.app.FragmentManager.moveToState (FragmentManager.java:1435)
  at androidx.fragment.app.FragmentManager.dispatchStateChange (FragmentManager.java:2979)
  at androidx.fragment.app.FragmentManager.dispatchStart (FragmentManager.java:2904)
  at androidx.fragment.app.FragmentController.dispatchStart (FragmentController.java:274)
  at androidx.fragment.app.FragmentActivity.onStart (FragmentActivity.java:359)
  at androidx.appcompat.app.AppCompatActivity.onStart (AppCompatActivity.java:251)
  at com.owncloud.android.ui.activity.BaseActivity.onStart (BaseActivity.java:200)
  at com.owncloud.android.ui.activity.FileActivity.onStart (FileActivity.java:152)
  at android.app.Instrumentation.callActivityOnStart (Instrumentation.java:1511)
  at android.app.Activity.performStart (Activity.java:8336)
  at android.app.ActivityThread.handleStartActivity (ActivityThread.java:3810)
  at android.app.servertransaction.TransactionExecutor.performLifecycleSequence (TransactionExecutor.java:221)
  at android.app.servertransaction.TransactionExecutor.cycleToPath (TransactionExecutor.java:201)
  at android.app.servertransaction.TransactionExecutor.executeLifecycleState (TransactionExecutor.java:173)
  at android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:97)
  at android.app.ActivityThread$H.handleMessage (ActivityThread.java:2371)
  at android.os.Handler.dispatchMessage (Handler.java:106)
  at android.os.Looper.loopOnce (Looper.java:201)
  at android.os.Looper.loop (Looper.java:288)
  at android.app.ActivityThread.main (ActivityThread.java:8163)
  at java.lang.reflect.Method.invoke
  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:552)
  at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:946)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions