android icon indicating copy to clipboard operation
android copied to clipboard

Crash with IllegalStateException: FragmentManager is already executing transactions when tapping on directory in search twice

Open rugk opened this issue 1 year ago • 1 comments

⚠️ Before posting ⚠️

  • [X] This is a bug, not a question or an enhancement.
  • [X] I've searched for similar issues and didn't find a duplicate.
  • [X] I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • [X] I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

Search for something and tap on a directory.

While it is loading tap on it again(?).

Expected behaviour

No crash

Actual behaviour

Crashes

Cause of error

Exception in thread "main" java.lang.IllegalStateException: FragmentManager is already executing transactions
    at androidx.fragment.app.FragmentManager.ensureExecReady(FragmentManager.java:1717)
    at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1776)
    at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:641)
    at com.owncloud.android.ui.activity.FileDisplayActivity.getOCFileListFragmentFromFile(FileDisplayActivity.java:617)
    at com.owncloud.android.ui.activity.FileDisplayActivity.showFile(FileDisplayActivity.java:2462)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment.showFile(UnifiedSearchFragment.kt:217)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment.access$showFile(UnifiedSearchFragment.kt:54)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment$setUpViewModel$6.invoke(UnifiedSearchFragment.kt:198)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment$setUpViewModel$6.invoke(UnifiedSearchFragment.kt:197)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment$sam$androidx_lifecycle_Observer$0.onChanged(Unknown Source:2)
    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:146)
    at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:483)
    at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:440)
    at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:322)
    at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.kt:258)
    at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:294)
    at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:143)
    at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:126)
    at androidx.fragment.app.Fragment.performStart(Fragment.java:3192)
    at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:628)
    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:290)
    at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
    at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
    at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
    at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2959)
    at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:274)
    at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:358)
    at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
    at com.owncloud.android.ui.activity.DrawerActivity.onStart(DrawerActivity.java:1203)
    at com.owncloud.android.ui.activity.FileActivity.onStart(FileActivity.java:238)
    at com.owncloud.android.ui.activity.FileDisplayActivity.onStart(FileDisplayActivity.java:2244)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1645)
    at android.app.Activity.performStart(Activity.java:8800)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3971)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:299)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:279)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:251)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:228)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:91)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2544)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8501)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

App information

  • ID: com.nextcloud.client
  • Version: 30290090
  • Build flavor: generic

Device information

  • Brand: Fairphone
  • Device: FP4
  • Model: FP4
  • Id: AP1A.240505.005
  • Product: FP4eea

Firmware

  • SDK: 34
  • Release: 14
  • Incremental: 24507030

Android version

14

Device brand and model

Fairphone 4 FP4

Stock or custom OS?

Custom (explain in "additional information")

Nextcloud android app version

Version 3.29.0 com.nextcloud.client

Nextcloud server version

N/A

Using a reverse proxy?

Yes

Android logs

No response

Server error logs

No response

Additional information

CalyxOS 5.7.3

rugk avatar Jun 12 '24 08:06 rugk

Again FYIi,instead of tapping again I swiped to another app and swiped back.

Cause of error

Exception in thread "main" java.lang.IllegalStateException: FragmentManager is already executing transactions
    at androidx.fragment.app.FragmentManager.ensureExecReady(FragmentManager.java:1717)
    at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1776)
    at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:641)
    at com.owncloud.android.ui.activity.FileDisplayActivity.getOCFileListFragmentFromFile(FileDisplayActivity.java:617)
    at com.owncloud.android.ui.activity.FileDisplayActivity.showFileActions(FileDisplayActivity.java:624)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment.showFile(UnifiedSearchFragment.kt:215)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment.access$showFile(UnifiedSearchFragment.kt:54)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment$setUpViewModel$6.invoke(UnifiedSearchFragment.kt:198)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment$setUpViewModel$6.invoke(UnifiedSearchFragment.kt:197)
    at com.owncloud.android.ui.fragment.UnifiedSearchFragment$sam$androidx_lifecycle_Observer$0.onChanged(Unknown Source:2)
    at androidx.lifecycle.LiveData.considerNotify(LiveData.java:133)
    at androidx.lifecycle.LiveData.dispatchingValue(LiveData.java:146)
    at androidx.lifecycle.LiveData$ObserverWrapper.activeStateChanged(LiveData.java:483)
    at androidx.lifecycle.LiveData$LifecycleBoundObserver.onStateChanged(LiveData.java:440)
    at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:322)
    at androidx.lifecycle.LifecycleRegistry.forwardPass(LifecycleRegistry.kt:258)
    at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:294)
    at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:143)
    at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:126)
    at androidx.fragment.app.Fragment.performStart(Fragment.java:3192)
    at androidx.fragment.app.FragmentStateManager.start(FragmentStateManager.java:628)
    at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:290)
    at androidx.fragment.app.FragmentStore.moveToExpectedState(FragmentStore.java:114)
    at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1455)
    at androidx.fragment.app.FragmentManager.dispatchStateChange(FragmentManager.java:3034)
    at androidx.fragment.app.FragmentManager.dispatchStart(FragmentManager.java:2959)
    at androidx.fragment.app.FragmentController.dispatchStart(FragmentController.java:274)
    at androidx.fragment.app.FragmentActivity.onStart(FragmentActivity.java:358)
    at androidx.appcompat.app.AppCompatActivity.onStart(AppCompatActivity.java:251)
    at com.owncloud.android.ui.activity.DrawerActivity.onStart(DrawerActivity.java:1203)
    at com.owncloud.android.ui.activity.FileActivity.onStart(FileActivity.java:238)
    at com.owncloud.android.ui.activity.FileDisplayActivity.onStart(FileDisplayActivity.java:2244)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1645)
    at android.app.Activity.performStart(Activity.java:8800)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:3971)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:299)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:279)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:251)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:228)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:91)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2544)
    at android.os.Handler.dispatchMessage(Handler.java:107)
    at android.os.Looper.loopOnce(Looper.java:232)
    at android.os.Looper.loop(Looper.java:317)
    at android.app.ActivityThread.main(ActivityThread.java:8501)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:552)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:878)

App information

  • ID: com.nextcloud.client
  • Version: 30290090
  • Build flavor: generic

Device information

  • Brand: Fairphone
  • Device: FP4
  • Model: FP4
  • Id: AP1A.240505.005
  • Product: FP4eea

Firmware

  • SDK: 34
  • Release: 14
  • Incremental: 24507030

rugk avatar Jun 27 '24 08:06 rugk

Fixed in #13084

joshtrichards avatar Jul 05 '24 19:07 joshtrichards