Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when channels binding destroyed before response #5307

Closed
3 tasks done
DanielProg39 opened this issue Dec 7, 2023 · 0 comments · Fixed by #5309
Closed
3 tasks done

Crash when channels binding destroyed before response #5307

DanielProg39 opened this issue Dec 7, 2023 · 0 comments · Fixed by #5309
Labels
bug Something isn't working

Comments

@DanielProg39
Copy link

DanielProg39 commented Dec 7, 2023

Steps to reproduce

  1. Open subscriptions tab
  2. Open the channel of one of recommended videos by tapping on a channel icon
  3. Wait

Expected behavior

Channel page should open.

Actual behavior

After several seconds of displaying a blank page, app crached, after reopening it showed an error.

LibreTube version

LibreTube Debug 0.20.1 commit 3a576a9

Android version

Android 13

Other details

I couldn't reproduce this bug after I initially caught it, so I opened this issue just in case the backtrace would be useful.

java.lang.NullPointerException
	at com.github.libretube.ui.fragments.ChannelFragment.getBinding(ChannelFragment.kt:42)
	at com.github.libretube.ui.fragments.ChannelFragment.setupTabs(ChannelFragment.kt:237)
	at com.github.libretube.ui.fragments.ChannelFragment.access$setupTabs(ChannelFragment.kt:40)
	at com.github.libretube.ui.fragments.ChannelFragment$fetchChannel$1.invokeSuspend(ChannelFragment.kt:231)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:235)
	at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:191)
	at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:163)
	at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:474)
	at kotlinx.coroutines.CancellableContinuationImpl.cancel(CancellableContinuationImpl.kt:217)
	at kotlinx.coroutines.CancellableContinuationImpl.parentCancelled$kotlinx_coroutines_core(CancellableContinuationImpl.kt:224)
	at kotlinx.coroutines.ChildContinuation.invoke(JobSupport.kt:1450)
	at kotlinx.coroutines.JobSupport.notifyCancelling(JobSupport.kt:1477)
	at kotlinx.coroutines.JobSupport.tryMakeCancelling(JobSupport.kt:799)
	at kotlinx.coroutines.JobSupport.makeCancelling(JobSupport.kt:759)
	at kotlinx.coroutines.JobSupport.cancelImpl$kotlinx_coroutines_core(JobSupport.kt:675)
	at kotlinx.coroutines.JobSupport.parentCancelled(JobSupport.kt:641)
	at kotlinx.coroutines.ChildHandleNode.invoke(JobSupport.kt:1439)
	at kotlinx.coroutines.JobSupport.notifyCancelling(JobSupport.kt:1477)
	at kotlinx.coroutines.JobSupport.tryMakeCompletingSlowPath(JobSupport.kt:904)
	at kotlinx.coroutines.JobSupport.tryMakeCompleting(JobSupport.kt:867)
	at kotlinx.coroutines.JobSupport.cancelMakeCompleting(JobSupport.kt:700)
	at kotlinx.coroutines.JobSupport.cancelImpl$kotlinx_coroutines_core(JobSupport.kt:671)
	at kotlinx.coroutines.JobSupport.cancelInternal(JobSupport.kt:636)
	at kotlinx.coroutines.JobSupport.cancel(JobSupport.kt:621)
	at kotlinx.coroutines.JobKt__JobKt.cancel(Job.kt:564)
	at kotlinx.coroutines.JobKt.cancel(Unknown Source:1)
	at kotlinx.coroutines.JobKt__JobKt.cancel$default(Job.kt:563)
	at kotlinx.coroutines.JobKt.cancel$default(Unknown Source:1)
	at androidx.lifecycle.LifecycleCoroutineScopeImpl.onStateChanged(Lifecycle.kt:405)
	at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:314)
	at androidx.lifecycle.LifecycleRegistry.backwardPass(LifecycleRegistry.kt:266)
	at androidx.lifecycle.LifecycleRegistry.sync(LifecycleRegistry.kt:283)
	at androidx.lifecycle.LifecycleRegistry.moveToState(LifecycleRegistry.kt:136)
	at androidx.lifecycle.LifecycleRegistry.handleLifecycleEvent(LifecycleRegistry.kt:119)
	at androidx.fragment.app.Fragment.performDestroy(Fragment.java:3372)
	at androidx.fragment.app.FragmentStateManager.destroy(FragmentStateManager.java:812)
	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:346)
	at androidx.fragment.app.SpecialEffectsController$FragmentStateManagerOperation.complete(SpecialEffectsController.kt:664)
	at androidx.fragment.app.SpecialEffectsController$Operation.completeSpecialEffect(SpecialEffectsController.kt:587)
	at androidx.fragment.app.DefaultSpecialEffectsController$SpecialEffectsInfo.completeSpecialEffect(DefaultSpecialEffectsController.kt:774)
	at androidx.fragment.app.DefaultSpecialEffectsController.startAnimations(DefaultSpecialEffectsController.kt:150)
	at androidx.fragment.app.DefaultSpecialEffectsController.executeOperations(DefaultSpecialEffectsController.kt:101)
	at androidx.fragment.app.SpecialEffectsController.executePendingOperations(SpecialEffectsController.kt:234)
	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1956)
	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1845)
	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1782)
	at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:565)
	at android.os.Handler.handleCallback(Handler.java:942)
	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:7924)
	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:936)
	Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@e790eef, Dispatchers.Main.immediate]
    

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
  • I have written a short but informative title.
  • I will fill out all of the requested information in this form.
@DanielProg39 DanielProg39 added the bug Something isn't working label Dec 7, 2023
@Bnyro Bnyro changed the title Sudden crash Crash when channels binding destroyed before response Dec 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant