Hello, I am experiencing crash on TopShelf and I checked all the crashlogs, but I don't know how to interpret it.
I see only addresses in the trace logs, so it's really hard to understand what's going on. Is there a way how to symbolicate frames 5 - 17?
Does anybody have an idea, what can be wrong?
Thanks in advance.
0 libswiftCore.dylib 0x000000019bd33a88 _assertionFailure(_:_:file:line:flags:) + 264 (AssertCommon.swift:147) 1 TopShelf 0x00000001048b998c 0x1045ac000 + 3201420 2 TopShelf 0x0000000104cc04a8 0x1045ac000 + 7423144 3 libdispatch.dylib 0x000000019ab89294 _dispatch_client_callout + 20 (object.m:576) 4 libdispatch.dylib 0x000000019ab8aae0 _dispatch_once_callout + 32 (once.c:52) 5 TopShelf 0x00000001048f4098 0x1045ac000 + 3440792 6 TopShelf 0x00000001048f4930 0x1045ac000 + 3442992 7 TopShelf 0x00000001048cc8bc 0x1045ac000 + 3279036 8 TopShelf 0x00000001045b5a61 0x1045ac000 + 39521 9 TopShelf 0x0000000104ca8841 0x1045ac000 + 7325761 10 TopShelf 0x00000001049e5cc5 0x1045ac000 + 4431045 11 TopShelf 0x0000000104cc0dfd 0x1045ac000 + 7425533 12 TopShelf 0x00000001045b4b95 0x1045ac000 + 35733 13 TopShelf 0x00000001045b4e81 0x1045ac000 + 36481 14 TopShelf 0x00000001045b50e5 0x1045ac000 + 37093 15 TopShelf 0x00000001045b5a61 0x1045ac000 + 39521 16 TopShelf 0x00000001045b54b5 0x1045ac000 + 38069 17 TopShelf 0x00000001045b50e5 0x1045ac000 + 37093 18 libswift_Concurrency.dylib 0x000000019c30aedd completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1 (Task.cpp:497)
Ah, so TopShelf is the name of your app (well, appex). That was a key point of confusion for me.
Symbolicating that crash report is key to fixing this. Consider the crashing thread backtrace:
Thread 6 Crashed: 0 libswiftCore.dylib … _assertionFailure(_:_:file:line:flags:) + 264 (AssertCommon.swift:147) 1 TopShelf … 0x100b4c000 + 3185020 2 TopShelf … 0x100b4c000 + 7397752 3 libdispatch.dylib … _dispatch_client_callout + 20 (object.m:576) 4 libdispatch.dylib … _dispatch_once_callout + 32 (once.c:52) 5 TopShelf … 0x100b4c000 + 3424052 … 17 TopShelf … 0x100b4c000 + 20709 18 libswift_Concurrency.dylib … completeTaskWithClosure(swift::AsyncContext*, swift::SwiftError*) + 1 (Task.cpp:497)
Frame 18 shows that this code is being called by the Swift concurrency runtime. Frames 17 through through 5 are your code. Frames 4 and 3 indicate that you’re initialising some sort of global using the dispatch_once
mechanism. Frames 2 through 0 are the code that’s run by this mechanism. Frame 1 is the most critical, because it’s tripped the assert that’s caused this trap.
So, you really need to symbolicate the crash report to uncover the identity of frames 1, 2, and 5. See Adding identifiable symbol names to a crash report for instructions on how to do that.
Share and Enjoy
—
Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"