lihenggui / blocker

Utilize an integrated firewall to manage application components.
Apache License 2.0
1.47k stars 61 forks source link

[Bug]: 点击 "SDK/Trackers", App闪退 #1001

Closed davidlauhn closed 2 months ago

davidlauhn commented 2 months ago

Is there an existing issue for this?

Is there a StackOverflow question about this issue?

What happened?

点击 "SDK/Trackers", App 闪退

设置好后,有段时间没有开这app了,今天发现点击 "SDK/Trackers", App 闪退,不知道何故

Android 14

Controller Type: Intent Firewall

Magisk 27.0.0

Relevant logcat output

日志中反复出现这一段:

E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)
lihenggui commented 2 months ago

你用的数据源是GitHub还是GitLab?

lihenggui commented 2 months ago

看起来你贴的日志不是引起app崩溃的原因,能否将原始的日志贴上来? 点击SDK/Trackers的时候不会调用到LocalComponentDetailDataSource的代码

davidlauhn commented 2 months ago

用的是 github,换成 gitlab 问题依旧,以下是今天的完整日志,另外,点击某个app进行设置的时候,原本有个 SDK 的 tab 也不见了

另有一个 crash logurl

2024-09-15T00:23:48.688Z I/FirebaseAnalyticsHelper: Setting analytics collection enabled: false
2024-09-15T00:23:48.790Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T00:23:48.863Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T00:23:48.884Z D/SyncWorker: Last rule sync time: 2024-09-14T03:03:15.895Z, Should run sync task: false
2024-09-15T00:23:48.897Z D/RootApiAppController: Refresh running app list
2024-09-15T00:23:48.951Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T00:23:48.968Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T00:23:49.071Z D/RootApiController$init: Initialize RootApiController
2024-09-15T00:23:49.073Z D/RootApiController$init: Initialize RootApiController
2024-09-15T00:23:49.812Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T00:23:49.812Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T00:23:49.812Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T00:23:49.812Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T00:23:49.812Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T00:23:49.812Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T00:23:49.813Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T00:23:49.813Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T00:23:49.813Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T00:23:49.813Z D/AppListViewModel$listenPermissionChanges: Permission status changed: ROOT_USER, reload data
2024-09-15T00:23:49.814Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T00:23:49.814Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T00:23:49.814Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T00:23:49.817Z D/RootApiAppController: Refresh running app list
2024-09-15T00:23:54.019Z D/ProfileVerifierLogger$invoke: App compiled with profile
2024-09-15T00:23:54.019Z D/ProfileVerifierLogger$invoke: Status code: 1
2024-09-15T02:36:05.068Z I/BlockerApplication: Add hidden API exemptions
2024-09-15T02:36:05.068Z I/FirebaseAnalyticsHelper: Setting analytics collection enabled: false
2024-09-15T02:36:05.188Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:05.192Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:05.213Z D/SyncWorker: Last rule sync time: 2024-09-14T03:03:15.895Z, Should run sync task: false
2024-09-15T02:36:05.221Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:05.274Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:05.293Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:05.372Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:05.374Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:05.728Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:05.728Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:05.728Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:05.728Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:05.728Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:05.728Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:05.728Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:05.728Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:05.728Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:05.729Z D/AppListViewModel$listenPermissionChanges: Permission status changed: ROOT_USER, reload data
2024-09-15T02:36:05.731Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:05.731Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:05.731Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:05.734Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:06.319Z I/ApplicationUtil: com.absinthe.libchecker is not installed.
2024-09-15T02:36:06.386Z D/LocalComponentRepository$updateComponentList: Update component list for com.digibites.accubattery, size: 74
2024-09-15T02:36:06.399Z E/AppDetailViewModel$loadMatchedRule: Fail to search matched rule
s7.o: Unexpected JSON token at offset 0: Expected start of the array '[', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.z.h(SourceFile:44)
    at s7.B.e(SourceFile:66)
    at q7.a.h(SourceFile:25)
    at q7.a.deserialize(SourceFile:7)
    at s7.B.I(SourceFile:282)
    at s7.r.k(SourceFile:51)
    at o7.l.c(SourceFile:35)
    at com.merxury.blocker.core.data.respository.generalrule.LocalGeneralRuleDataSource.readContentFromStream(SourceFile:119)
    at com.merxury.blocker.core.data.respository.generalrule.LocalGeneralRuleDataSource.access$readContentFromStream(SourceFile:1)
    at com.merxury.blocker.core.data.respository.generalrule.LocalGeneralRuleDataSource$getGeneralRules$1.invokeSuspend(SourceFile:130)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.456Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                                                                                                                                                                                    
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.460Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.478Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                                                                                                                                                                                   
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.483Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.486Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.493Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.496Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at Z6.r.f(SourceFile:7)
    at T6.a.resumeWith(SourceFile:23)
    at C6.a.resumeWith(SourceFile:32)
    at T6.M.run(SourceFile:115)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.507Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.516Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.525Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.533Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                                                                                                                                                                                                     
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.585Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                                                                                                                                                                                    
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.587Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.597Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                                                                                                                                                                                   
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.599Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.600Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.603Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.605Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.612Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.615Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.620Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                               .....
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:06.627Z E/LocalComponentDetailDataSource$getByComponentName: given JSON string is not a valid JSON input for the type
s7.o: Unexpected JSON token at offset 0: Expected start of the object '{', but had ' ' instead at path: $
JSON input:                                                                                                                                                                                                     
    at s7.r.d(SourceFile:37)
    at s7.r.e(SourceFile:35)
    at s7.a.q(SourceFile:59)
    at s7.a.r(SourceFile:13)
    at s7.a.s(SourceFile:56)
    at s7.a.E(SourceFile:48)
    at s7.E.h(SourceFile:43)
    at s7.B.e(SourceFile:66)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:1)
    at com.merxury.blocker.core.model.data.ComponentDetail$$serializer.deserialize(SourceFile:2)
    at s7.B.I(SourceFile:282)
    at r7.c.c(SourceFile:30)
    at com.merxury.blocker.core.data.respository.componentdetail.datasource.LocalComponentDetailDataSource$getByComponentName$1.invokeSuspend(SourceFile:186)
    at C6.a.resumeWith(SourceFile:9)
    at T6.M.run(SourceFile:107)
    at Z3.m.run(SourceFile:178)
    at b7.j.run(SourceFile:3)
    at b7.a.run(SourceFile:96)

2024-09-15T02:36:08.547Z D/AppDetailViewModel$switchTab: Switch tab to provider, screen = com.digibites.accubattery
2024-09-15T02:36:10.586Z D/ProfileVerifierLogger$invoke: App compiled with profile
2024-09-15T02:36:10.586Z D/ProfileVerifierLogger$invoke: Status code: 1
2024-09-15T02:36:28.181Z I/BlockerApplication: Add hidden API exemptions
2024-09-15T02:36:28.184Z I/FirebaseAnalyticsHelper: Setting analytics collection enabled: false
2024-09-15T02:36:28.296Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:28.300Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:28.304Z D/SyncWorker: Last rule sync time: 2024-09-14T03:03:15.895Z, Should run sync task: false
2024-09-15T02:36:28.309Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:28.387Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:28.411Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:28.452Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:28.453Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:28.778Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:28.778Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:28.779Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:28.779Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:28.779Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:28.779Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:28.779Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:28.779Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:28.779Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:28.780Z D/AppListViewModel$listenPermissionChanges: Permission status changed: ROOT_USER, reload data
2024-09-15T02:36:28.785Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:28.785Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:28.786Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:28.786Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:39.503Z I/FirebaseAnalyticsHelper: Setting analytics collection enabled: false
2024-09-15T02:36:39.617Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:39.619Z D/SyncWorker: Last rule sync time: 2024-09-14T03:03:15.895Z, Should run sync task: false
2024-09-15T02:36:39.621Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:39.652Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:39.713Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:39.759Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:39.814Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:39.834Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:40.134Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:40.134Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:40.134Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:40.134Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:40.135Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:40.135Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:40.135Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:40.135Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:40.135Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:40.136Z D/AppListViewModel$listenPermissionChanges: Permission status changed: ROOT_USER, reload data
2024-09-15T02:36:40.137Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:40.137Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:40.137Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:40.139Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:45.581Z I/BlockerApplication: Add hidden API exemptions
2024-09-15T02:36:45.589Z I/FirebaseAnalyticsHelper: Setting analytics collection enabled: false
2024-09-15T02:36:45.713Z D/SyncWorker: Last rule sync time: 2024-09-14T03:03:15.895Z, Should run sync task: false
2024-09-15T02:36:45.715Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:45.721Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:45.729Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:45.809Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:45.820Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:45.866Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:45.868Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:46.193Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:46.193Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:46.193Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:46.193Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:46.193Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:46.193Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:46.193Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:46.193Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:46.194Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:46.194Z D/AppListViewModel$listenPermissionChanges: Permission status changed: ROOT_USER, reload data
2024-09-15T02:36:46.195Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:46.195Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:46.195Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:46.197Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:50.701Z D/ProfileVerifierLogger$invoke: App compiled with profile
2024-09-15T02:36:50.701Z D/ProfileVerifierLogger$invoke: Status code: 1
2024-09-15T02:36:56.647Z I/BlockerApplication: Add hidden API exemptions
2024-09-15T02:36:56.651Z I/FirebaseAnalyticsHelper: Setting analytics collection enabled: false
2024-09-15T02:36:56.765Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:56.767Z D/SyncWorker: Last rule sync time: 2024-09-14T03:03:15.895Z, Should run sync task: false
2024-09-15T02:36:56.768Z D/AppPermissionMonitor: Initialize controller: IFW
2024-09-15T02:36:56.773Z D/RootApiAppController: Refresh running app list
2024-09-15T02:36:56.846Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:56.850Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:56.864Z D/RootApiController$init: Initialize RootApiController
2024-09-15T02:36:56.864Z I/PermissionUtils$isRootAvailable: Requested root permission from Shell.cmd("su")
2024-09-15T02:36:57.292Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:57.293Z D/RootApiController$init: RootConnection: onServiceConnected
2024-09-15T02:36:57.293Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:57.293Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:57.293Z D/RootApiAppController$init: Initialize RootApiAppController
2024-09-15T02:36:57.293Z D/RootApiAppController$init: RootConnection: onServiceConnected
2024-09-15T02:36:57.293Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:57.293Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:57.293Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:57.293Z D/AppListViewModel$listenPermissionChanges: Permission status changed: ROOT_USER, reload data
2024-09-15T02:36:57.295Z D/RootApiServiceController$init: Start initialize RootApiServiceController
2024-09-15T02:36:57.295Z D/RootApiServiceController$init: RootConnection: onServiceConnected
2024-09-15T02:36:57.295Z D/AppPermissionMonitor: Root api controller initialized
2024-09-15T02:36:57.299Z D/RootApiAppController: Refresh running app list
2024-09-15T02:37:01.676Z D/ProfileVerifierLogger$invoke: App compiled with profile
2024-09-15T02:37:01.676Z D/ProfileVerifierLogger$invoke: Status code: 1
lihenggui commented 2 months ago

原本有个 SDK 的 tab 也不见了

如果应用中没有检测到第三方SDK,那么tab会自动隐藏

清除数据会修复这个问题吗,看起来是新版本解析老数据的时候出了问题

lihenggui commented 2 months ago
Unexpected JSON token at offset 0: Expected start of the array '[', but had '' instead at path: $ 
JSON input: .....
lihenggui commented 2 months ago

从报错信息来看,应用内置存储中的JSON文件是空白的,导致解析失败。现在应用针对这种情况会检测给出错误,但是数据损坏问题需要你清除数据修复

davidlauhn commented 2 months ago

已修复,非常感谢👍

lihenggui commented 2 months ago

未来数据文件损坏也强制退出 #1003