Ehviewer-Overhauled / Ehviewer

EhViewer overhauled with Material Design 3, Jetpack Compose and more
GNU General Public License v3.0
5.18k stars 234 forks source link

频繁崩溃 #650

Closed Cathgao closed 1 year ago

Cathgao commented 1 year ago

复现步骤 / Step to reproduce

随机崩溃,一般是在浏览某作品返回到主菜单出现。 无必复现步骤

预期行为 / Expected behaviour

不会崩溃,正常使用

实际行为 / Actual Behaviour

应用崩溃,返回到桌面

备注 / Addition details

崩溃日志: crash-2022-11-19-08-09-39-749.log crash-2022-11-09-23-08-22-869.log

EhViewer 版本号 / EhViewer version code

1.8.5.3-alpha03

EhViewer CI 版本 / EhViewer CI Version

https://github.com/Ehviewer-Overhauled/Ehviewer/releases/tag/1.8.5.3-alpha03

Android 系统版本 / Android version

MIUI13.2.8 Android13

设备型号 / Device model

Redmi K40S

SoC 型号 / Soc model

晓龙870

自查步骤 / Verify steps

FooIbar commented 1 year ago

你这都什么时候的日志了

Cathgao commented 1 year ago

你这都什么时候的日志了

导出来就只有这两个crash,压缩包是1月9号的。可能崩溃的时候日志都没留下

Cathgao commented 1 year ago

找到一次被系统捕获的崩溃 Screenshot_2023-01-09-13-17-49-238_com.miui.thirdappassistant.jpgScreenshot_2023-01-09-13-18-05-950_com.miui.thirdappassistant.jpg

asuka-mio commented 1 year ago

看起来是某个协程里面的异常没被捕获?

FooIbar commented 1 year ago
java.lang.NullPointerException: Parameter specified as non-null is null: method xp.e, parameter scene
    at com.hippo.ehviewer.ui.scene.GalleryListScene$GetGalleryListListener.isInstance(GalleryListScene.kt:0)
    at com.hippo.ehviewer.ui.scene.EhCallback.getScene(EhCallback.java:67)
    at com.hippo.ehviewer.ui.scene.GalleryListScene$GetGalleryListListener.onFailure(GalleryListScene.kt:1117)
    at com.hippo.ehviewer.ui.scene.GalleryListScene$GetGalleryListListener.onFailure$bridge(GalleryListScene.kt:0)
    at com.hippo.ehviewer.client.EhClient$enqueue$1$2.invokeSuspend(EhClient.kt:165)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
asuka-mio commented 1 year ago

这块已经被我改没了 先更新吧 ci

asuka-mio commented 1 year ago

这一堆回调到时候都该扬了

asuka-mio commented 1 year ago

之前逻辑那获取下顶层fragment是为了防止回调对生命周期已经停止的fragment进行ui操作 现在不用了,fragment的生命周期停止了,作用域里的所有协程都会被取消,所以不用判断了

limi-l commented 1 year ago

更新到了最新版,还是会闪退 红米k40 安卓13 java.lang.NullPointerException: Parameter specified as non-null is null: method Pd0.onFling, parameter e1 at Pd0.onFling(Unknown Source:12) at android.view.GestureDetector.onTouchEvent(GestureDetector.java:767) at Rd0.onTouchEvent(Unknown Source:53) at android.view.View.dispatchTouchEvent(View.java:15055) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at AU.dispatchTouchEvent(Unknown Source:5) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:3132) at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2813) at com.android.internal.policy.DecorView.superDispatchTouchEvent(DecorView.java:571) at com.android.internal.policy.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1899) at android.app.Activity.dispatchTouchEvent(Activity.java:4403) at n6.f(Unknown Source:2) at n6.dispatchTouchEvent(Unknown Source:0) at com.android.internal.policy.DecorView.dispatchTouchEvent(DecorView.java:529) at android.view.View.dispatchPointerEvent(View.java:15330) at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:6943) at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:6730) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6149) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6206) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6172) at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:6337) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6180) at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:6394) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6153) at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:6206) at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:6172) at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:6180) at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:6153) at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:9291) at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:9242) at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:9210) at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:9430) at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:292) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:341) at android.os.Looper.loopOnce(Looper.java:168) at android.os.Looper.loop(Looper.java:299) at android.app.ActivityThread.main(ActivityThread.java:8252) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:954)

Cathgao commented 1 year ago

更新之后目前还没遇到过崩溃了,我先不close留给有问题的用户反馈吧

txyyh commented 1 year ago

更新之后目前还没遇到过崩溃了,我先不close留给有问题的用户反馈吧

那我close了 close不影响comment

Cathgao commented 1 year ago

更新之后目前还没遇到过崩溃了,我先不close留给有问题的用户反馈吧

那我close了 close不影响comment

MIUI14.0.3 Android13 今天又崩溃了一次,被系统捕获

java.lang.NullPointerException at oB.onAnimationEnd(Unknown Source:16) at android.view.ViewPropertyAnimator$AnimatorEventListener.onAnimationEnd(ViewPropertyAnimator.java:1115) at android.animation.Animator$AnimatorListener.onAnimationEnd(Animator.java:600) at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1333) at android.animation.ValueAnimator.doAnimationFrame(ValueAnimator.java:1575) at android.animation.AnimationHandler.doAnimationFrame(AnimationHandler.java:307) at android.animation.AnimationHandler.-$$Nest$mdoAnimationFrame(Unknown Source:0) at android.animation.AnimationHandler$1.doFrame(AnimationHandler.java:86) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1388) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1398) at android.view.Choreographer.doCallbacks(Choreographer.java:1040) at android.view.Choreographer.doFrame(Choreographer.java:949) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1370) at android.os.Handler.handleCallback(Handler.java:942) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loopOnce(Looper.java:210) at android.os.Looper.loop(Looper.java:299) at android.app.ActivityThread.main(ActivityThread.java:8116) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:559) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:950)