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

[DeckPicker?] Result::unwrap() on an Err value: PoisonError { .. } #17382

Open
Tracked by #17370
david-allison opened this issue Nov 7, 2024 · 3 comments
Open
Tracked by #17370
Labels
2.19 Can't reproduce bugs people file that we can't reproduce Needs Triage Priority-Critical
Milestone

Comments

@david-allison
Copy link
Member

david-allison commented Nov 7, 2024

https://ankidroid.org/acra/app/1/bug/252979/report/7a438d99-acee-4da5-be87-798e0cee6f29

net.ankiweb.rsdroid.BackendException$BackendDbException$BackendDbFileTooOldException: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
	at net.ankiweb.rsdroid.BackendException$BackendFatalError.<init>(BackendException.java:99)
	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:108)
	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
	at anki.backend.GeneratedBackend.openCollectionRaw(GeneratedBackend.kt:112)
	at anki.backend.GeneratedBackend.openCollection(GeneratedBackend.kt:119)
	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:98)
	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:57)
	at com.ichi2.libanki.Storage.openDB$AnkiDroid_playRelease(Storage.kt:52)
	at com.ichi2.libanki.Collection.reopen(Collection.kt:213)
	at com.ichi2.libanki.Collection.reopen$default(Collection.kt:210)
	at com.ichi2.libanki.Collection.<init>(Collection.kt:145)
	at com.ichi2.libanki.Storage.collection(Storage.kt:40)
	at com.ichi2.anki.CollectionManager.ensureOpenInner(CollectionManager.kt:245)
	at com.ichi2.anki.CollectionManager.withCol$lambda$1(CollectionManager.kt:118)
	at com.ichi2.anki.CollectionManager$withQueue$3.invokeSuspend(CollectionManager.kt:103)
	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)

--------- beginning of main
11-06 11:52:51.195 I/AnkiDroid(13131): DeckPicker::x::onPause
11-06 11:52:51.196 I/AnkiDroid(13131): DeckPicker::x::onStop
11-06 11:52:51.228 I/AnkiDroid(13131): DeckPicker::x::onViewDestroyed
11-06 11:52:51.228 I/AnkiDroid(13131): DeckPicker::x::onAttach
11-06 11:52:51.229 I/AnkiDroid(13131): DeckPicker::x::onCreate
11-06 11:52:51.236 W/AnkiDroid(13131): x/ java.io.IOException: Cannot run program "sqlite3": error=2, No such file or directory
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.Runtime.exec(Runtime.java:712)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.Runtime.exec(Runtime.java:536)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.Runtime.exec(Runtime.java:433)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.dialogs.DatabaseErrorDialog.onCreateDialog(DatabaseErrorDialog.kt:91)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.DialogFragment.prepareDialog(DialogFragment.java:925)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.DialogFragment.onGetLayoutInflater(DialogFragment.java:839)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.Fragment.performGetLayoutInflater(Fragment.java:1760)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:547)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:286)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2211)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2049)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:779)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity$Companion.showDialogFragment(AnkiActivity.java:702)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity$Companion.showDialogFragment(AnkiActivity.java:687)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showDialogFragment$lambda$4(AnkiActivity.kt:462)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.app.Activity.runOnUiThread(Activity.java:7865)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showDialogFragment(AnkiActivity.kt:461)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showAsyncDialogFragment(AnkiActivity.kt:489)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.DeckPicker.onCreate$lambda$13(DeckPicker.kt:473)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showAsyncDialogFragment(AnkiActivity.kt:473)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.DeckPicker.showDatabaseErrorDialog(DeckPicker.kt:1697)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.dialogs.DatabaseErrorDialog.onCreateDialog$lambda$10$lambda$9(DatabaseErrorDialog.kt:196)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.utils.AlertDialogFacadeKt.listItems$lambda$13(AlertDialogFacade.kt:335)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.appcompat.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1068)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AdapterView.performItemClick(AdapterView.java:376)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AbsListView.performItemClick(AbsListView.java:1362)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3658)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AbsListView$3.run(AbsListView.java:4844)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Handler.handleCallback(Handler.java:958)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Looper.loopOnce(Looper.java:230)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Looper.loop(Looper.java:319)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.app.ActivityThread.main(ActivityThread.java:8919)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.reflect.Method.invoke(Native Method)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
11-06 11:52:51.236 W/AnkiDroid(13131): Caused by: java.io.IOException: error=2, No such file or directory
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.UNIXProcess.forkAndExec(Native Method)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.ProcessImpl.start(ProcessImpl.java:141)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
11-06 11:52:51.236 W/AnkiDroid(13131): 	... 32 more
11-06 11:52:51.236 W/AnkiDroid(13131): 
11-06 11:52:51.236 W/AnkiDroid(13131): java.io.IOException: Cannot run program "sqlite3": error=2, No such file or directory
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1050)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.Runtime.exec(Runtime.java:712)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.Runtime.exec(Runtime.java:536)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.Runtime.exec(Runtime.java:433)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.dialogs.DatabaseErrorDialog.onCreateDialog(DatabaseErrorDialog.kt:91)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.DialogFragment.prepareDialog(DialogFragment.java:925)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.DialogFragment.onGetLayoutInflater(DialogFragment.java:839)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.Fragment.performGetLayoutInflater(Fragment.java:1760)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentStateManager.createView(FragmentStateManager.java:547)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentStateManager.moveToExpectedState(FragmentStateManager.java:286)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:2211)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:2106)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:2049)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.fragment.app.FragmentManager.executePendingTransactions(FragmentManager.java:779)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity$Companion.showDialogFragment(AnkiActivity.java:702)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity$Companion.showDialogFragment(AnkiActivity.java:687)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showDialogFragment$lambda$4(AnkiActivity.kt:462)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.app.Activity.runOnUiThread(Activity.java:7865)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showDialogFragment(AnkiActivity.kt:461)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showAsyncDialogFragment(AnkiActivity.kt:489)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.DeckPicker.onCreate$lambda$13(DeckPicker.kt:473)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.AnkiActivity.showAsyncDialogFragment(AnkiActivity.kt:473)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.DeckPicker.showDatabaseErrorDialog(DeckPicker.kt:1697)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.anki.dialogs.DatabaseErrorDialog.onCreateDialog$lambda$10$lambda$9(DatabaseErrorDialog.kt:196)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.ichi2.utils.AlertDialogFacadeKt.listItems$lambda$13(AlertDialogFacade.kt:335)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at androidx.appcompat.app.AlertController$AlertParams$3.onItemClick(AlertController.java:1068)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AdapterView.performItemClick(AdapterView.java:376)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AbsListView.performItemClick(AbsListView.java:1362)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AbsListView$PerformClick.run(AbsListView.java:3658)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.widget.AbsListView$3.run(AbsListView.java:4844)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Handler.handleCallback(Handler.java:958)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Handler.dispatchMessage(Handler.java:99)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Looper.loopOnce(Looper.java:230)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.os.Looper.loop(Looper.java:319)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at android.app.ActivityThread.main(ActivityThread.java:8919)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.reflect.Method.invoke(Native Method)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:578)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1103)
11-06 11:52:51.236 W/AnkiDroid(13131): Caused by: java.io.IOException: error=2, No such file or directory
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.UNIXProcess.forkAndExec(Native Method)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.UNIXProcess.<init>(UNIXProcess.java:133)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.ProcessImpl.start(ProcessImpl.java:141)
11-06 11:52:51.236 W/AnkiDroid(13131): 	at java.lang.ProcessBuilder.start(ProcessBuilder.java:1029)
11-06 11:52:51.236 W/AnkiDroid(13131): 	... 32 more
11-06 11:52:51.275 I/AnkiDroid(13131): DeckPicker::x::onStart
11-06 11:52:51.275 I/AnkiDroid(13131): DeckPicker::x::onResume
11-06 11:52:53.538 I/AnkiDroid(13131): (Re)opening Database: /storage/emulated/0/Android/data/com.ichi2.anki/files/AnkiDroid/collection.anki2
11-06 11:52:53.554 I/AnkiDroid(13131): DeckPicker::onPause
11-06 11:52:53.554 I/AnkiDroid(13131): DeckPicker::x::onPause
11-06 11:52:53.554 I/AnkiDroid(13131): DeckPicker::x::onStop
11-06 11:52:53.554 I/AnkiDroid(13131): DeckPicker::x::onViewDestroyed
11-06 11:52:53.555 I/AnkiDroid(13131): DeckPicker::x::onDestroy
11-06 11:52:53.555 I/AnkiDroid(13131): DeckPicker::x::onDetach
11-06 11:52:53.555 I/AnkiDroid(13131): DeckPicker::x::onDestroy
11-06 11:52:53.555 I/AnkiDroid(13131): DeckPicker::x::onDetach
11-06 11:52:53.555 I/AnkiDroid(13131): DeckPicker::x::onDestroy
11-06 11:52:53.555 I/AnkiDroid(13131): DeckPicker::x::onDetach
11-06 11:52:53.565 E/AnkiDroid(13131): F3/ q7.c: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendException$BackendFatalError.<init>(BackendException.java:99)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:108)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at anki.backend.GeneratedBackend.openCollectionRaw(GeneratedBackend.kt:112)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at anki.backend.GeneratedBackend.openCollection(GeneratedBackend.kt:119)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:98)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:57)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Storage.openDB$AnkiDroid_playRelease(Storage.kt:52)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Collection.reopen(Collection.kt:213)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Collection.reopen$default(Collection.kt:210)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Collection.<init>(Collection.kt:145)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Storage.collection(Storage.kt:40)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.anki.CollectionManager.ensureOpenInner(CollectionManager.kt:245)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.anki.CollectionManager.withCol$lambda$1(CollectionManager.kt:118)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.anki.CollectionManager$withQueue$3.invokeSuspend(CollectionManager.kt:103)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
11-06 11:52:53.565 E/AnkiDroid(13131): 
11-06 11:52:53.565 E/AnkiDroid(13131): net.ankiweb.rsdroid.BackendException$BackendDbException$BackendDbFileTooOldException: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendException$BackendFatalError.<init>(BackendException.java:99)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:108)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at anki.backend.GeneratedBackend.openCollectionRaw(GeneratedBackend.kt:112)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at anki.backend.GeneratedBackend.openCollection(GeneratedBackend.kt:119)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:98)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:57)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Storage.openDB$AnkiDroid_playRelease(Storage.kt:52)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Collection.reopen(Collection.kt:213)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Collection.reopen$default(Collection.kt:210)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Collection.<init>(Collection.kt:145)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.libanki.Storage.collection(Storage.kt:40)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.anki.CollectionManager.ensureOpenInner(CollectionManager.kt:245)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.anki.CollectionManager.withCol$lambda$1(CollectionManager.kt:118)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at com.ichi2.anki.CollectionManager$withQueue$3.invokeSuspend(CollectionManager.kt:103)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
11-06 11:52:53.565 E/AnkiDroid(13131): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
11-06 11:52:53.685 I/AnkiDroid(13131): notification permission: false
11-06 11:52:53.685 I/AnkiDroid(13131): DeckPicker::onResume
@david-allison
Copy link
Member Author

david-allison commented Nov 7, 2024

This feels like multiple instances of DeckPicker.

I also suspect DatabaseErrorDialog was attempted to be shown (we should log this path more heavily)

@david-allison david-allison changed the title https://ankidroid.org/acra/app/1/bug/252979/report/7a438d99-acee-4da5-be87-798e0cee6f29 DeckPicker? BackendDbFileTooOldException: called Result::unwrap() on an Err value: PoisonError { .. } Nov 7, 2024
@david-allison david-allison changed the title DeckPicker? BackendDbFileTooOldException: called Result::unwrap() on an Err value: PoisonError { .. } [DeckPicker?] BackendDbFileTooOldException: called Result::unwrap() on an Err value: PoisonError { .. } Nov 7, 2024
@david-allison david-allison added this to the 2.19.2 release milestone Nov 7, 2024
@david-allison david-allison pinned this issue Dec 21, 2024
@david-allison david-allison added the Can't reproduce bugs people file that we can't reproduce label Dec 21, 2024
@david-allison david-allison changed the title [DeckPicker?] BackendDbFileTooOldException: called Result::unwrap() on an Err value: PoisonError { .. } [DeckPicker?] Result::unwrap() on an Err value: PoisonError { .. } Dec 21, 2024
@david-allison
Copy link
Member Author

@BrayanDSO

This trace points towards the SyncMediaWorker

12-21 13:50:17.443 I/AnkiDroid(11236): Timber config: PRODUCTION
12-21 13:50:17.443 I/AnkiDroid(11236): initialize()
12-21 13:50:17.526 I/AnkiDroid(11236): Participating in analytics sample (sample percentage vs random: 10 10)
12-21 13:50:17.526 I/AnkiDroid(11236): setOptIn(): from false to true
12-21 13:50:17.526 I/AnkiDroid(11236): Not participating in analytics sample (sample percentage vs random: 10 52)
12-21 13:50:17.526 I/AnkiDroid(11236): initialize()
12-21 13:50:17.531 I/AnkiDroid(11236): Creating notification channel with id/name: General Notifications/AnkiDroid
12-21 13:50:17.532 I/AnkiDroid(11236): Creating notification channel with id/name: Synchronization/Synchronization
12-21 13:50:17.532 I/AnkiDroid(11236): Creating notification channel with id/name: Global Reminders/Cards due
12-21 13:50:17.532 I/AnkiDroid(11236): Creating notification channel with id/name: Deck Reminders/Reminders
12-21 13:50:17.538 I/AnkiDroid(11236): AnkiDroidApp: Starting Services
12-21 13:50:17.538 W/AnkiDroid(11236): AnkiDroidApp/ BootService - unexpected action received, ignoring: null
12-21 13:50:17.551 I/AnkiDroid(11236): IntentHandler::onCreate
12-21 13:50:17.553 I/AnkiDroid(11236): Setting theme to LIGHT
12-21 13:50:17.570 I/AnkiDroid(11236): Launching DeckPicker
12-21 13:50:17.641 I/AnkiDroid(11236): AnkiDroid Version = 2.20.0 (d41d16a45c00b0bdbd3b13ac988143db5ef8ae90)
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Backend Version = 0.1.48-anki24.11 (24.11 c47638ca36f99dd4f3b81ae82d964aec66e392e0)
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Android Version = 14 (SDK 34)
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): ProductFlavor = play
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Manufacturer = Xiaomi
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Model = 22081212UG
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Hardware = qcom
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Webview User Agent = Mozilla/5.0 (Linux; Android 14; 22081212UG Build/UKQ1.230917.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.135 Mobile Safari/537.36
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): ACRA UUID = 5b765cf8-9a71-4a70-94a1-04ab87fb4701
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): FSRS = 1.4.3 (Enabled: null)
12-21 13:50:17.641 I/AnkiDroid(11236): 
12-21 13:50:17.641 I/AnkiDroid(11236): Crash Reports Enabled = true
12-21 13:50:17.646 I/AnkiDroid(11236): Setting theme to LIGHT
12-21 13:50:17.648 I/AnkiDroid(11236): DeckPicker::onCreate
12-21 13:50:17.691 I/AnkiDroid(11236): (Re)opening Database: /storage/emulated/0/Android/data/com.ichi2.anki/files/AnkiDroid/collection.anki2
12-21 13:50:17.703 I/AnkiDroid(11236): No startup screens required
12-21 13:50:17.706 I/AnkiDroid(11236): isLegacyStorage(): current dir: /storage/emulated/0/Android/data/com.ichi2.anki/files/AnkiDroid
12-21 13:50:17.706 I/AnkiDroid(11236): scoped external dirs: /storage/emulated/0/Android/data/com.ichi2.anki/files
12-21 13:50:17.706 I/AnkiDroid(11236): scoped internal dir: /data/user/0/com.ichi2.anki/files
12-21 13:50:17.706 I/AnkiDroid(11236): isLegacyStorage(): false
12-21 13:50:17.722 I/AnkiDroid(11236): DeckPicker::onStart
12-21 13:50:17.750 I/AnkiDroid(11236): DeckPicker::onResume
12-21 13:50:17.838 I/AnkiDroid(11236): Updating deck list UI
12-21 13:50:17.851 I/AnkiDroid(11236): deck filter: 3 ()
12-21 13:50:18.342 I/AnkiDroid(11236): IntentHandler::onDestroy
12-21 13:50:19.461 I/AnkiDroid(11236): DeckPicker::onPause
12-21 13:50:19.463 I/AnkiDroid(11236): DeckPicker::onStop
12-21 13:50:19.467 I/AnkiDroid(11236): DeckPicker::onSaveInstanceState
12-21 13:50:19.787 I/AnkiDroid(11236): DeckPicker::onDestroy
12-21 13:50:19.997 I/AnkiDroid(18246): Timber config: PRODUCTION
12-21 13:50:19.997 I/AnkiDroid(18246): initialize()
12-21 13:50:20.062 I/AnkiDroid(18246): Not participating in analytics sample (sample percentage vs random: 10 20)
12-21 13:50:20.062 I/AnkiDroid(18246): setOptIn(): from false to true
12-21 13:50:20.062 I/AnkiDroid(18246): Not participating in analytics sample (sample percentage vs random: 10 61)
12-21 13:50:20.062 I/AnkiDroid(18246): initialize()
12-21 13:50:20.064 I/AnkiDroid(18246): Creating notification channel with id/name: General Notifications/AnkiDroid
12-21 13:50:20.065 I/AnkiDroid(18246): Creating notification channel with id/name: Synchronization/Synchronization
12-21 13:50:20.065 I/AnkiDroid(18246): Creating notification channel with id/name: Global Reminders/Cards due
12-21 13:50:20.066 I/AnkiDroid(18246): Creating notification channel with id/name: Deck Reminders/Reminders
12-21 13:50:20.068 I/AnkiDroid(18246): AnkiDroidApp: Starting Services
12-21 13:50:20.068 W/AnkiDroid(18246): AnkiDroidApp/ BootService - unexpected action received, ignoring: null
12-21 13:50:20.202 I/AnkiDroid(18246): AnkiDroid Version = 2.20.0 (d41d16a45c00b0bdbd3b13ac988143db5ef8ae90)
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Backend Version = 0.1.48-anki24.11 (24.11 c47638ca36f99dd4f3b81ae82d964aec66e392e0)
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Android Version = 14 (SDK 34)
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): ProductFlavor = play
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Manufacturer = Xiaomi
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Model = 22081212UG
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Hardware = qcom
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Webview User Agent = Mozilla/5.0 (Linux; Android 14; 22081212UG Build/UKQ1.230917.001; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/131.0.6778.135 Mobile Safari/537.36
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): ACRA UUID = 5b765cf8-9a71-4a70-94a1-04ab87fb4701
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): FSRS = 1.4.3 (Enabled: null)
12-21 13:50:20.202 I/AnkiDroid(18246): 
12-21 13:50:20.202 I/AnkiDroid(18246): Crash Reports Enabled = true
12-21 13:50:56.823 W/AnkiDroid(18246): c/ q7.d: Any { .. }
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.exceptions.BackendInvalidInputException.<init>(BackendInvalidInputException.kt:28)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.exceptions.BackendInvalidInputException$Companion.fromInvalidInputError(BackendInvalidInputException.kt:37)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:116)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.mediaSyncStatusRaw(GeneratedBackend.kt:39)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.mediaSyncStatus(GeneratedBackend.kt:46)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at com.ichi2.anki.worker.SyncMediaWorker.doWork(SyncMediaWorker.kt:72)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at com.ichi2.anki.worker.SyncMediaWorker$doWork$1.invokeSuspend(SyncMediaWorker.kt)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
12-21 13:50:56.823 W/AnkiDroid(18246): 
12-21 13:50:56.823 W/AnkiDroid(18246): net.ankiweb.rsdroid.exceptions.BackendInvalidInputException: Any { .. }
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.exceptions.BackendInvalidInputException.<init>(BackendInvalidInputException.kt:28)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.exceptions.BackendInvalidInputException$Companion.fromInvalidInputError(BackendInvalidInputException.kt:37)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:116)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.mediaSyncStatusRaw(GeneratedBackend.kt:39)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.mediaSyncStatus(GeneratedBackend.kt:46)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at com.ichi2.anki.worker.SyncMediaWorker.doWork(SyncMediaWorker.kt:72)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at com.ichi2.anki.worker.SyncMediaWorker$doWork$1.invokeSuspend(SyncMediaWorker.kt)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
12-21 13:50:56.823 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
12-21 13:51:55.089 W/AnkiDroid(18246): c4/ could not check/update day rollover: collection not open
12-21 13:53:26.134 W/AnkiDroid(18246): c4/ could not check/update day rollover: collection not open
12-21 13:54:33.787 W/AnkiDroid(18246): c4/ could not check/update day rollover: collection not open
12-21 13:55:26.261 W/AnkiDroid(18246): c4/ could not check/update day rollover: collection not open
12-21 13:56:45.098 W/AnkiDroid(18246): c4/ could not check/update day rollover: collection not open
12-21 13:56:47.815 I/AnkiDroid(18246): IntentHandler::onCreate
12-21 13:56:47.818 I/AnkiDroid(18246): Setting theme to LIGHT
12-21 13:56:47.825 I/AnkiDroid(18246): Launching DeckPicker
12-21 13:56:47.864 I/AnkiDroid(18246): Setting theme to LIGHT
12-21 13:56:47.868 I/AnkiDroid(18246): DeckPicker::onCreate
12-21 13:56:47.920 I/AnkiDroid(18246): (Re)opening Database: /storage/emulated/0/Android/data/com.ichi2.anki/files/AnkiDroid/collection.anki2
12-21 13:56:47.921 W/AnkiDroid(18246): Activity/ o7.c: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendException$BackendFatalError.<init>(BackendException.java:100)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:110)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.openCollectionRaw(GeneratedBackend.kt:112)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.openCollection(GeneratedBackend.kt:119)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:98)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:57)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Storage.openDB$AnkiDroid_fullRelease(Storage.kt:52)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Collection.reopen(Collection.kt:213)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Collection.reopen$default(Collection.kt:210)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Collection.<init>(Collection.kt:145)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Storage.collection(Storage.kt:40)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.anki.CollectionManager.ensureOpenInner(CollectionManager.kt:245)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.anki.CollectionManager.getColUnsafe$lambda$11$lambda$10(CollectionManager.kt:299)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.anki.CollectionManager$withQueue$3.invokeSuspend(CollectionManager.kt:103)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
12-21 13:56:47.921 W/AnkiDroid(18246): 
12-21 13:56:47.921 W/AnkiDroid(18246): net.ankiweb.rsdroid.BackendException$BackendDbException$BackendDbFileTooOldException: called `Result::unwrap()` on an `Err` value: PoisonError { .. }
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendException$BackendFatalError.<init>(BackendException.java:100)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendException$Companion.fromError(BackendException.kt:110)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.unpackResult(Backend.kt:281)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.BackendKt.access$unpackResult(Backend.kt:1)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw$lambda$1(Backend.kt:118)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.withBackend(Backend.kt:131)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.runMethodRaw(Backend.kt:117)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.openCollectionRaw(GeneratedBackend.kt:112)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at anki.backend.GeneratedBackend.openCollection(GeneratedBackend.kt:119)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:98)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at net.ankiweb.rsdroid.Backend.openCollection(Backend.kt:57)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Storage.openDB$AnkiDroid_fullRelease(Storage.kt:52)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Collection.reopen(Collection.kt:213)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Collection.reopen$default(Collection.kt:210)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Collection.<init>(Collection.kt:145)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.libanki.Storage.collection(Storage.kt:40)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.anki.CollectionManager.ensureOpenInner(CollectionManager.kt:245)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.anki.CollectionManager.getColUnsafe$lambda$11$lambda$10(CollectionManager.kt:299)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at com.ichi2.anki.CollectionManager$withQueue$3.invokeSuspend(CollectionManager.kt:103)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:111)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
12-21 13:56:47.921 W/AnkiDroid(18246): 	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)

@BrayanDSO
Copy link
Member

This trace points towards the SyncMediaWorker

at com.ichi2.anki.worker.SyncMediaWorker.doWork(SyncMediaWorker.kt:72)

Any errors on that line (and in any line of SyncMediaWorker that could throw) are already catch.

AFAICT, what the traces have in common is BackendDbFileTooOldException, which probably led to a closed collection, and for some reason the deck picker, with its initialization that looks like a maze, tried to sync media as well, or media sync was already happening.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
2.19 Can't reproduce bugs people file that we can't reproduce Needs Triage Priority-Critical
Projects
None yet
Development

No branches or pull requests

3 participants