Pachli 2.10.1 crash when loggin out
Describe the bug A clear and concise description of what the bug is. Today i had a Pachli app crash when logging out. I was using Pachli in combination wih latest orbot android.
To Reproduce Steps to reproduce the behavior:
- Route all traffic through Tor network with orbot
- Log out Pachli app
- App maybe crashes
- This crash happened only once, no constant crashes
Expected behavior A clear and concise description of what you expected to happen.
No crash when logging out of Pachli app using orbot.
Screenshots or video If applicable, please add screenshots or video to help explain your problem. None
Links If a particular post or posts demonstrate the problem please link to them here.
Versions Please include the version of Pachli and Android you are using, and the software version your server is using. Find this on the Pachli "About" screen. Pachli 2.10.1
Device:
Google Pixel 6 Pro Android version: 15 SDK level: 35
Account:
[email protected] Version: 4.3.4
Orbot version 17.4.1-BETA-4-tor-0.4.8.13
org.torproject.android versionCode 1741200402
targetSdk 35 minSdk 21
Additional context Add any other context about the problem here. Crash report:
type: crash
osVersion: google/raven/raven:15/AP4A.250205.002/2025030200:user/release-keys
package: app.pachli:28, targetSdk 34
process: app.pachli
processUptime: 7794 + 204 ms
installer: dev.imranr.obtainium
java.lang.NullPointerException: Attempt to read from field 'long app.pachli.core.database.model.AccountEntity.a' on a null object reference in method 'java.lang.Object app.pachli.components.timeline.viewmodel.TimelineViewModel$7$1.s(java.lang.Object)'
at app.pachli.components.timeline.viewmodel.TimelineViewModel$7$1.s(SourceFile:41)
at app.pachli.components.timeline.viewmodel.TimelineViewModel$7$1.i(SourceFile:13)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.s(SourceFile:44)
at kotlinx.coroutines.flow.FlowKt__MergeKt$mapLatest$1.h(SourceFile:18)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.s(SourceFile:35)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1$2.i(SourceFile:13)
at kotlinx.coroutines.AbstractCoroutine.f0(SourceFile:26)
at kotlinx.coroutines.BuildersKt.b(SourceFile:24)
at kotlinx.coroutines.BuildersKt.c(SourceFile:13)
at kotlinx.coroutines.flow.internal.ChannelFlowTransformLatest$flowCollect$3$1.a(SourceFile:103)
at kotlinx.coroutines.flow.DistinctFlowImpl$collect$2.a(SourceFile:91)
at app.pachli.components.timeline.viewmodel.TimelineViewModel$7$invokeSuspend$$inlined$filterIsInstance$1$2.a(SourceFile:59)
at kotlinx.coroutines.flow.SharedFlowImpl.o(SourceFile:197)
at kotlinx.coroutines.flow.SharedFlowImpl$collect$1.s(SourceFile:1)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.g(SourceFile:6)
at kotlinx.coroutines.DispatchedTask.run(SourceFile:114)
at kotlinx.coroutines.EventLoop.o0(SourceFile:24)
at kotlinx.coroutines.internal.DispatchedContinuationKt.a(SourceFile:147)
at kotlinx.coroutines.intrinsics.CancellableKt.a(SourceFile:15)
at kotlinx.coroutines.AbstractCoroutine.f0(SourceFile:93)
at kotlinx.coroutines.BuildersKt.b(SourceFile:24)
at kotlinx.coroutines.BuildersKt.c(SourceFile:13)
at app.pachli.components.timeline.viewmodel.a.b(SourceFile:18)
at app.pachli.components.timeline.TimelineFragment.U0(SourceFile:101)
at app.pachli.components.timeline.TimelineFragment.m0(SourceFile:4)
at androidx.fragment.app.FragmentStateManager.l(SourceFile:45)
at androidx.fragment.app.FragmentStateManager.k(SourceFile:143)
at androidx.fragment.app.FragmentManager.S(SourceFile:58)
at androidx.fragment.app.FragmentManager.v(SourceFile:34)
at androidx.fragment.app.FragmentActivity.onPause(SourceFile:14)
at android.app.Activity.performPause(Activity.java:9277)
at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1788)
at android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:5713)
at android.app.ActivityThread.performPauseActivity(ActivityThread.java:5674)
at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:5626)
at android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:60)
at android.app.servertransaction.ActivityTransactionItem.execute(ActivityTransactionItem.java:63)
at android.app.servertransaction.TransactionExecutor.executeLifecycleItem(TransactionExecutor.java:169)
at android.app.servertransaction.TransactionExecutor.executeTransactionItems(TransactionExecutor.java:101)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:80)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2728)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loopOnce(Looper.java:232)
at android.os.Looper.loop(Looper.java:317)
at android.app.ActivityThread.main(ActivityThread.java:8826)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:591)
at com.android.internal.os.ExecInit.main(ExecInit.java:50)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [StandaloneCoroutine{Cancelling}@6aea85f, Dispatchers.Main.immediate]
Maybe related to this issue: Orbot Android has also MTE and/or app crashes reported here: https://github.com/guardianproject/orbot-android/issues/1244
Affirmation I have checked other issues for this project (open and closed) and I cannot find one that matches the problem I am reporting. yes
No crashes without orbot so far.
Thanks for the report, sorry about the crash. Can you still reproduce this in the latest Pachli (2.13.0)?
No more crashes 😃