Skip to content
This repository has been archived by the owner on Apr 12, 2023. It is now read-only.

[iOS] 0x8BADFOOD でクラッシュしているログがある #958

Open
keiji opened this issue Apr 6, 2022 · 4 comments
Open

[iOS] 0x8BADFOOD でクラッシュしているログがある #958

keiji opened this issue Apr 6, 2022 · 4 comments
Labels
confirmed 開発内部管理用 help wanted 特に助けを必要としているもの

Comments

@keiji
Copy link
Collaborator

keiji commented Apr 6, 2022

Test Flightのデータを眺めていて、クラッシュログで少し気になったのでIssue化します。
(クラッシュログを送ってくださったみなさん、本当にありがとうございます)。

不具合の内容 / Describe the bug

iOSの事はよく分からないものの、調べていくと0x8BADF00Dは結構一般的なエラーコードらしく処理に時間がかかりすぎだとWatchDogに怒られている。

原因となっているThread 0にUIKitCore, UIViewController の名前があること、ProcessVisibilityがBackgroundとなっているので、UIを立ち上げてバックグラウンドに回した後、何かが起こっている?

Exception Type:  EXC_CRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note:  EXC_CORPSE_NOTIFY
Termination Reason: FRONTBOARD 2343432205 
<RBSTerminateContext| domain:10 code:0x8BADF00D explanation:scene-create watchdog transgression: application<jp.go.mhlw.covid19radar>:27928 exhausted CPU time allowance of 3.37 seconds
ProcessVisibility: Background
ProcessState: Running
WatchdogEvent: scene-create
WatchdogVisibility: Background
WatchdogCPUStatistics: (
"Elapsed total CPU time (seconds): 8.910 (user 8.910, system 0.000), 99% CPU",
"Elapsed application CPU time (seconds): 3.658, 41% CPU"
) reportType:CrashLog maxTerminationResistance:Interactive>

Triggered by Thread:  0


Thread 0 name:
Thread 0 name:
Thread 0 Crashed:
0   libsystem_kernel.dylib        	0x00000001ba3f9b5c __psynch_mutexwait + 8
1   libsystem_pthread.dylib       	0x00000001da9645b4 _pthread_mutex_firstfit_lock_wait + 80 (pthread_mutex.c:1414)
2   libsystem_pthread.dylib       	0x00000001da96a97c _pthread_mutex_firstfit_lock_slow$VARIANT$mp + 304 (pthread_mutex.c:1490)
3   Covid19Radar.iOS              	0x0000000104c12c78 0x1027f0000 + 37891192
4   Covid19Radar.iOS              	0x0000000104bc2a00 0x1027f0000 + 37562880
5   Covid19Radar.iOS              	0x0000000104bce890 0x1027f0000 + 37611664
6   Covid19Radar.iOS              	0x0000000104b6696c 0x1027f0000 + 37185900
7   Covid19Radar.iOS              	0x0000000104b66544 0x1027f0000 + 37184836
8   Covid19Radar.iOS              	0x0000000104b66910 0x1027f0000 + 37185808
9   Covid19Radar.iOS              	0x0000000104b64e34 0x1027f0000 + 37178932
10  Covid19Radar.iOS              	0x0000000104b68208 0x1027f0000 + 37192200
11  Covid19Radar.iOS              	0x0000000104b5f328 0x1027f0000 + 37155624
12  Covid19Radar.iOS              	0x0000000104b600a0 0x1027f0000 + 37159072
13  Covid19Radar.iOS              	0x0000000104b879c8 0x1027f0000 + 37321160
14  Covid19Radar.iOS              	0x0000000104b81a48 0x1027f0000 + 37296712
15  Covid19Radar.iOS              	0x0000000104b7e52c 0x1027f0000 + 37283116
16  Covid19Radar.iOS              	0x0000000104b8fae4 0x1027f0000 + 37354212
17  Covid19Radar.iOS              	0x000000010298240c 0x1027f0000 + 1647628
18  Covid19Radar.iOS              	0x00000001037ed8b4 0x1027f0000 + 16767156
19  Covid19Radar.iOS              	0x0000000104b8c6d8 0x1027f0000 + 37340888
20  Covid19Radar.iOS              	0x0000000104c46264 0x1027f0000 + 38101604
21  Covid19Radar.iOS              	0x0000000104c49aa4 0x1027f0000 + 38116004
22  Covid19Radar.iOS              	0x0000000102818974 0x1027f0000 + 166260
23  Covid19Radar.iOS              	0x0000000102838538 0x1027f0000 + 296248
24  UIKitCore                     	0x0000000182e04d30 -[UIViewController _sendViewDidLoadWithAppearanceProxyObjectTaggingEnabled] + 104 (UIViewController.m:2713)
25  UIKitCore                     	0x0000000182e076a4 -[UIViewController loadViewIfRequired] + 1020 (UIViewController.m:4013)
26  UIKitCore                     	0x0000000182ddbb04 -[UIViewController view] + 28 (UIViewController.m:4035)
27  Covid19Radar.iOS              	0x00000001036eba50 0x1027f0000 + 15710800
28  Covid19Radar.iOS              	0x00000001037887d0 0x1027f0000 + 16353232
29  Covid19Radar.iOS              	0x0000000104b8c6d8 0x1027f0000 + 37340888
30  Covid19Radar.iOS              	0x0000000104c46264 0x1027f0000 + 38101604
31  Covid19Radar.iOS              	0x0000000104c49aa4 0x1027f0000 + 38116004
32  Covid19Radar.iOS              	0x0000000102826d94 0x1027f0000 + 224660
33  Covid19Radar.iOS              	0x0000000102826e54 0x1027f0000 + 224852
34  UIKitCore                     	0x0000000182e04024 -[UIViewController _setViewAppearState:isAnimating:] + 604 (UIViewController.m:5522)
35  UIKitCore                     	0x0000000182f2b00c -[UIViewController __viewWillAppear:] + 116 (UIViewController.m:5654)
36  UIKitCore                     	0x00000001834faa5c __56-[UIPresentationController runTransitionForCurrentState]_block_invoke.401 + 1116 (UIPresentationController.m:1163)
37  UIKitCore                     	0x0000000182fc8f3c +[UIPresentationController _scheduleTransition:] + 96 (UIPresentationController.m:2470)
38  UIKitCore                     	0x00000001832bbbfc -[UIPresentationController runTransitionForCurrentState] + 1732 (UIPresentationController.m:1119)
39  UIKitCore                     	0x000000018301b0b8 -[UIPresentationController _presentWithAnimationController:inWindow:interactionController:target:didEndSelector:] + 916 (UIPresentationController.m:649)
40  UIKitCore                     	0x0000000182f16070 -[UIWindow addRootViewControllerViewIfPossible] + 440 (UIWindow.m:2127)
41  UIKitCore                     	0x0000000182e70f68 -[UIWindow _updateLayerOrderingAndSetLayerHidden:actionBlock:] + 224 (UIWindow.m:2013)
42  UIKitCore                     	0x0000000182f0366c -[UIWindow _setHidden:forced:] + 252 (UIWindow.m:2231)
43  UIKitCore                     	0x0000000182f1cfb0 -[UIWindow _mainQueue_makeKeyAndVisible] + 52 (UIWindow.m:6095)
44  Covid19Radar.iOS              	0x00000001036eeb90 0x1027f0000 + 15723408
45  Covid19Radar.iOS              	0x0000000103788f80 0x1027f0000 + 16355200
46  Covid19Radar.iOS              	0x0000000104b8c6d8 0x1027f0000 + 37340888
47  Covid19Radar.iOS              	0x0000000104c46264 0x1027f0000 + 38101604
48  Covid19Radar.iOS              	0x0000000104c49aa4 0x1027f0000 + 38116004
49  Covid19Radar.iOS              	0x0000000102819ff8 0x1027f0000 + 172024
50  Covid19Radar.iOS              	0x000000010281a5b8 0x1027f0000 + 173496
51  UIKitCore                     	0x0000000182f7536c -[UIApplication _handleDelegateCallbacksWithOptions:isSuspended:restoreState:] + 352 (UIApplication.m:2328)
52  UIKitCore                     	0x000000018314b6d8 -[UIApplication _callInitializationDelegatesWithActions:forCanvas:payload:fromOriginatingProcess:] + 3456 (UIApplication.m:2740)
53  UIKitCore                     	0x00000001831348c0 -[UIApplication _runWithMainScene:transitionContext:completion:] + 1216 (UIApplication.m:4474)
54  UIKitCore                     	0x0000000182fa1700 -[_UISceneLifecycleMultiplexer completeApplicationLaunchWithFBSScene:transitionContext:] + 148 (_UISceneLifecycleMultiplexer.m:452)
55  UIKitCore                     	0x0000000182e0602c _UIScenePerformActionsWithLifecycleActionMask + 96 (_UISceneLifecycleState.m:109)
56  UIKitCore                     	0x0000000182f29b24 __101-[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:]_block_invoke + 196 (_UISceneLifecycleMultiplexer.m:565)
57  UIKitCore                     	0x000000018303fe64 -[_UISceneLifecycleMultiplexer _performBlock:withApplicationOfDeactivationReasons:fromReasons:] + 368 (_UISceneLifecycleMultiplexer.m:517)
58  UIKitCore                     	0x000000018326b554 -[_UISceneLifecycleMultiplexer _evalTransitionToSettings:fromSettings:forceExit:withTransitionStore:] + 732 (_UISceneLifecycleMultiplexer.m:564)
59  UIKitCore                     	0x00000001831fb448 -[_UISceneLifecycleMultiplexer uiScene:transitionedFromState:withTransitionContext:] + 336 (_UISceneLifecycleMultiplexer.m:470)
60  UIKitCore                     	0x0000000182e06f14 __186-[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:]_block... + 188 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:73)
61  UIKitCore                     	0x0000000182ec2e14 +[BSAnimationSettings(UIKit) tryAnimatingWithSettings:actions:completion:] + 812 (BSAnimationSettings+UIKit.m:50)
62  UIKitCore                     	0x0000000182e08ca4 _UISceneSettingsDiffActionPerformChangesWithTransitionContext + 248 (_UISceneSettingsDiffAction.m:23)
63  UIKitCore                     	0x0000000182eee094 -[_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction _performActionsForUIScene:withUpdatedFBSScene:settingsDiff:fromSettings:transitionContext:lifecycleActionType:] + 356 (_UIWindowSceneFBSSceneTransitionContextDrivenLifecycleSettingsDiffAction.m:58)
64  UIKitCore                     	0x0000000182e62cb0 __64-[UIScene scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke.571 + 772 (UIScene.m:1807)
65  UIKitCore                     	0x0000000182e36ff0 -[UIScene _emitSceneSettingsUpdateResponseForCompletion:afterSceneUpdateWork:] + 248 (UIScene.m:1508)
66  UIKitCore                     	0x0000000182e79244 -[UIScene scene:didUpdateWithDiff:transitionContext:completion:] + 264 (UIScene.m:1774)
67  UIKitCore                     	0x0000000182fa6298 -[UIApplication workspace:didCreateScene:withTransitionContext:completion:] + 548 (UIApplication.m:3937)
68  UIKitCore                     	0x0000000182eec4b0 -[UIApplicationSceneClientAgent scene:didInitializeWithEvent:completion:] + 360 (UIApplicationSceneClientAgent.m:45)
69  FrontBoardServices            	0x000000019141cfb4 -[FBSScene _callOutQueue_agent_didCreateWithTransitionContext:completion:] + 412 (FBSScene.m:439)
70  FrontBoardServices            	0x000000019143f540 __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke.180 + 100 (FBSWorkspaceScenesClient.m:384)
71  FrontBoardServices            	0x00000001913ff704 -[FBSWorkspace _calloutQueue_executeCalloutFromSource:withBlock:] + 232 (FBSWorkspace.m:352)
72  FrontBoardServices            	0x0000000191400b0c __94-[FBSWorkspaceScenesClient createWithSceneID:groupID:parameters:transitionContext:completion:]_block_invoke + 312 (FBSWorkspaceScenesClient.m:383)
73  libdispatch.dylib             	0x0000000180662198 _dispatch_client_callout + 16 (object.m:560)
74  libdispatch.dylib             	0x0000000180604ac0 _dispatch_block_invoke_direct$VARIANT$mp + 220 (queue.c:489)
75  FrontBoardServices            	0x0000000191400d6c __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 40 (FBSSerialQueue.m:157)
76  FrontBoardServices            	0x00000001914002f0 -[FBSSerialQueue _targetQueue_performNextIfPossible] + 176 (FBSSerialQueue.m:181)
77  FrontBoardServices            	0x00000001914043e0 -[FBSSerialQueue _performNextFromRunLoopSource] + 24 (FBSSerialQueue.m:194)
78  CoreFoundation                	0x00000001809b6210 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1972)
79  CoreFoundation                	0x00000001809c6238 __CFRunLoopDoSource0 + 204 (CFRunLoop.c:2016)
80  CoreFoundation                	0x00000001809095d8 __CFRunLoopDoSources0 + 256 (CFRunLoop.c:2053)
81  CoreFoundation                	0x000000018090ea08 __CFRunLoopRun + 768 (CFRunLoop.c:2951)
82  CoreFoundation                	0x0000000180921d7c CFRunLoopRunSpecific + 572 (CFRunLoop.c:3268)
83  GraphicsServices              	0x000000019ab969a0 GSEventRunModal + 160 (GSEvent.c:2200)
84  UIKitCore                     	0x000000018315405c -[UIApplication _run] + 1080 (UIApplication.m:3493)
85  UIKitCore                     	0x0000000182ee9ce0 UIApplicationMain + 2028 (UIApplication.m:5046)
86  Covid19Radar.iOS              	0x00000001037024d8 0x1027f0000 + 15803608
87  Covid19Radar.iOS              	0x00000001037671e0 0x1027f0000 + 16216544
88  Covid19Radar.iOS              	0x0000000104b8c6d8 0x1027f0000 + 37340888
89  Covid19Radar.iOS              	0x0000000104c46264 0x1027f0000 + 38101604
90  Covid19Radar.iOS              	0x0000000104c4c518 0x1027f0000 + 38126872
91  Covid19Radar.iOS              	0x0000000104b6aae8 0x1027f0000 + 37202664
92  Covid19Radar.iOS              	0x0000000104d27560 0x1027f0000 + 39023968
93  Covid19Radar.iOS              	0x0000000102852144 0x1027f0000 + 401732
94  dyld                          	0x0000000105208190 start + 444 (dyldMain.cpp:876)

再現手順 / Steps to reproduce

COCOAを起動してバックグラウンドにした状態にすると発生することがある。
たとえばスプラッシュ画面が表示されているときにバックグラウンドにして、スプラッシュ画面で実行される処理で時間がかかったりしたり?

期待される挙動 / Expected behavior

0x8BADF00Dが発生しない。

動作環境 / Environments

  • デバイス:iPhone
  • OS:iOS
  • バージョン:v1.4.1, v2.0.0-openbeta01

その他 / Additional context

年度も替わり、ふたたびiOSの方も少し見ることになりました。


Internal IDs:

  • NFR 6681
  • NFR 7647
  • NFR 7438
@keiji keiji added the help wanted 特に助けを必要としているもの label Apr 6, 2022
@keiji
Copy link
Collaborator Author

keiji commented Apr 6, 2022

v2.0.0リリースにあたって、このエラーの発生状況について注視していきます(ぼくの手元のiOS端末では発生していません)。

もし手元で起きたとよいう人がいたら、「COCOAがフォアグラウンドにしているときにクラッシュしたか・バックグラウンドにしているときにクラッシュしたか」「バックグラウンドであれば、どの画面をバックグラウンドにしたときにクラッシュしたか」「定期的な接触確認自体は問題なく行われているか」など、情報をお寄せいただけるとありがたいです。

@keiji
Copy link
Collaborator Author

keiji commented Apr 7, 2022

iOSの既存のバージョン(v1.4.1以前)でも起きているかと開発チームに聞いたところ、リリース版には dSYMを入れてないので読めない。同種の現象が起きているかはわからない という事だったので、次の改善点として対応してもらうことにした。

訂正: Xamarinのスタックトレースとして読めるようにはできないので具体的な原因箇所が分からないという意図だったとのこと

@keiji
Copy link
Collaborator Author

keiji commented Apr 7, 2022

AppDelegateのFinishedLaunchingのコメントには、

You have 17 seconds to return from this method, or iOS will terminate your application.

とある。他のサイトを見てもだいたい起動に20秒くらいかかると強制終了という記述がある。そのあたりはAndroidと変わらない様子(AndroidではANRがでるだけだけど)。

開発環境ではこの制約は緩和されているとのことだけど、試しにFinishedLaunchingで100秒とか止めてみても平気でUIが立ち上がってくる。再現から原因を追及していきたいけど、原因らしきものを潰す作業もしたい。

COCOA v2.0.0ではDI(正確にはIoC)周りでの初期化が増えたので、各サービスのコンストラクタで負荷の高い処理が行われていないかを確認する。

@keiji
Copy link
Collaborator Author

keiji commented Apr 7, 2022

0x8BADFOOD の発生状況を確認したところ、既存のバージョン(v1.4.1)でも発生していると言うことなので、こちらはv2.0.0で新しく発生したものではない様子。

@keiji keiji added the waiting-for-confirmation 関係者に確認中のもの label Jun 18, 2022
@cocoa-dev008 cocoa-dev008 added confirmed 開発内部管理用 and removed waiting-for-confirmation 関係者に確認中のもの labels Jun 29, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
confirmed 開発内部管理用 help wanted 特に助けを必要としているもの
Projects
None yet
Development

No branches or pull requests

2 participants