Quartzcore 崩溃调用 CA::Render::Encoder::encode_object_uncached(CA::Render::Object const*)

dar*_*234 5 xcode ios swift

Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x195eca0dc __pthread_kill + 8
1  libsystem_pthread.dylib        0x195f479b0 pthread_kill$VARIANT$armv81 + 296
2  libsystem_c.dylib              0x195e23ea8 abort + 140
3  QuartzCore                     0x19a7f40bc CA::Render::Encoder::encode_object_uncached(CA::Render::Object const*) + 366
4  QuartzCore                     0x19a855844 CA::Render::Array::encode(CA::Render::Encoder*) const + 112
5  QuartzCore                     0x19a6dcc08 CA::Render::Layer::encode(CA::Render::Encoder*) const + 140
6  QuartzCore                     0x19a7f8d08 CA::Render::encode_set_object(CA::Render::Encoder*, unsigned long, unsigned int, CA::Render::Object*, unsigned int) + 192
7  QuartzCore                     0x19a7f27e8 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 484
8  QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
9  QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
10 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
11 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
12 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
13 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
14 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
15 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
16 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
17 QuartzCore                     0x19a7f2708 CA::Layer::commit_if_needed(CA::Transaction*, void (*)(CA::Layer*, unsigned int, unsigned int, void*), void*) + 260
18 QuartzCore                     0x19a749d48 CA::Context::commit_transaction(CA::Transaction*) + 3028
19 QuartzCore                     0x19a777330 CA::Transaction::commit() + 640
20 QuartzCore                     0x19a777f20 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 92
21 CoreFoundation                 0x1962be5f8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
22 CoreFoundation                 0x1962b9320 __CFRunLoopDoObservers + 412
23 CoreFoundation                 0x1962b989c __CFRunLoopRun + 1228
24 CoreFoundation                 0x1962b90b0 CFRunLoopRunSpecific + 436
25 GraphicsServices               0x1984b979c GSEventRunModal + 104
26 UIKitCore                      0x1c2b25978 UIApplicationMain + 212
27 Her                            0x1041919f8 main + 11 (main.swift:11)
28 libdyld.dylib                  0x195d7e8e0 start + 4
Run Code Online (Sandbox Code Playgroud)

关于可能导致此问题的唯一信息是Failed to allocate 49152 bytes, requested = 4, old size = 24400

在尝试调查这次崩溃的潜在原因时,我发现:

iOS 应用程序因 cfrunloop_is_calling_out_to_an_observer_callback_function 而崩溃

https://forums.developer.apple.com/thread/100012

对于这次事故的原因,他们之间存在着冲突。

我遇到的问题本质上是:我看到许多用户都发生这种情况,但我尚未能够在模拟器或我的个人设备上重现此崩溃。

我不清楚和不确定如何继续调试这个问题,并且可以使用一些关于寻找潜在原因的潜在代码模式的建议。我知道这不是一个具有确定答案的具体问题,但确实需要一些帮助。