bytedance / scene

Android Single Activity Framework compatible with Fragment.
Apache License 2.0
2.08k stars 198 forks source link

出现崩溃 #56

Closed gouweisui closed 3 years ago

gouweisui commented 3 years ago

com.bytedance.scene.utlity.SceneInternalException: miss endSuppressStackOperation(), mIsNavigationStateChangeInProgress content PoiNearScene{d72526}_0 at com.bytedance.scene.navigation.NavigationSceneManager$1.run(NavigationSceneManager.java:168) at android.os.Handler.handleCallback(Handler.java:755) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6157) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)

[ ][2021-03-25 13:46:40:163][E][main:UncaughtException]com.bytedance.scene.utlity.SceneInternalException: miss endSuppressStackOperation(), mIsNavigationStateChangeInProgress content PoiNearScene{d72526}_0 at com.bytedance.scene.navigation.NavigationSceneManager$1.run(NavigationSceneManager.java:168) at android.os.Handler.handleCallback(Handler.java:755) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6157) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:912) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:802)

qii commented 3 years ago

是稳定复现的吗,还是随机?

你是不是对 push PoiNearScene的逻辑进行了 try catch,我怀疑是之前push的流程中发生了crash被强制捕获了,因为 Scene 内部添加了一些校验的逻辑,于是强制捕获异常导致状态出错,下次push的时候就抛了你这个贴的异常

我们内部用的时候,也遇到过类似的,因为代码对 RxJava 的回调进行了 try catch,使得原本应该在上次页面启动的时候找不到资源的 Crash,变成了下次打开页面的 crash

gouweisui commented 3 years ago

是随机的,你这么一说我似乎知道是哪里的问题了,确实代码对 RxJava 的回调进行了 try catch,我去掉试一试