mapbox / mapbox-gl-native

Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
https://mapbox.com/mobile
Other
4.37k stars 1.33k forks source link

Partially missing symbols in crash reports #8463

Closed friedbunny closed 5 years ago

friedbunny commented 7 years ago

Platform: iOS Mapbox SDK version: v3.4.2, v3.5.0-beta.3, v3.5.0-rc.1

Some crash reports are only partially symbolicating. Known affected versions of the SDK are listed, but this probably is not limited to those.

If the unsymbolicated crash report retains the unsymbolicated addresses, the dSYM for that version of Mapbox.framework can still be used to symbolicate. But, if the crash report comes from Apple via iTunesConnect/Xcode, the unsymbolicated addresses have been replaced with _hidden and the report cannot be symbolicated after the fact.

Here’s the same crash, in different versions of the same TestFlight-distributed app, bitcode enabled, using different iOS SDK versions:

Symbolicated (v3.5.0-beta.2)

Click to expand crash log ``` Incident Identifier: F768474A-875F-4EF2-84F7-C5F802773001 Beta Identifier: 7F5ABD3B-D7F7-4809-818E-D0D530573657 Hardware Model: iPhone8,1 Process: Sirius [425] Path: /private/var/containers/Bundle/Application/6547CC84-6BF2-406E-A1B3-F944C858DF4E/Sirius.app/Sirius Identifier: com.mapbox.Sirius Version: 99 (2.0) Beta: YES Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Coalition: com.mapbox.Sirius [448] Date/Time: 2017-03-16 23:26:12.0830 -0400 Launch Time: 2017-03-15 08:30:06.9466 -0400 OS Version: iPhone OS 10.2.1 (14D27) Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000 Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [0] Triggered by Thread: 0 Thread 0 name: Thread 0 Crashed: 0 libc++.1.dylib 0x000000018060e37c std::__1::promise::set_value() + 12 (future.cpp:246) 1 Mapbox 0x0000000100409734 mbgl::DefaultFileSource::resume() + 24 2 Mapbox 0x0000000100409734 mbgl::DefaultFileSource::resume() + 24 3 Mapbox 0x00000001003c9c1c _hidden#8730_ + 24 (__hidden#8849_:59) 4 CoreFoundation 0x0000000181beab10 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 (CFNotificationCenter.c:650) 5 CoreFoundation 0x0000000181bea214 _CFXRegistrationPost + 400 (CFNotificationCenter.c:164) 6 CoreFoundation 0x0000000181be9f90 ___CFXNotificationPost_block_invoke + 60 (CFNotificationCenter.c:1031) 7 CoreFoundation 0x0000000181c59b8c -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1504 (CFXNotificationRegistrar.m:163) 8 CoreFoundation 0x0000000181b2be64 _CFXNotificationPost + 376 (CFNotificationCenter.c:1028) 9 Foundation 0x0000000182660e0c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 (NSNotification.m:482) 10 UIKit 0x0000000187d679a4 -[UIApplication _sendWillEnterForegroundCallbacks] + 232 (UIApplication.m:9961) 11 UIKit 0x0000000187da2d50 -[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:] + 2140 (UIApplication.m:10393) 12 UIKit 0x0000000187da2280 -[UIApplication _handleApplicationLifecycleEventWithScene:transitionContext:completion:] + 452 (UIApplication.m:10229) 13 UIKit 0x0000000187d8d820 __70-[UIApplication scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 152 (UIApplication.m:3327) 14 UIKit 0x0000000187d8d4a4 -[UIApplication scene:didUpdateWithDiff:transitionContext:completion:] + 888 (UIApplication.m:3340) 15 UIKit 0x00000001880b953c -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 464 (UIApplicationSceneClientAgent.m:74) 16 FrontBoardServices 0x00000001837f9dd4 __80-[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke.376 + 208 (FBSSceneImpl.m:598) 17 FrontBoardServices 0x000000018382792c __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 (FBSSerialQueue.m:158) 18 FrontBoardServices 0x0000000183827798 -[FBSSerialQueue _performNext] + 176 (FBSSerialQueue.m:177) 19 FrontBoardServices 0x0000000183827b40 -[FBSSerialQueue _performNextFromRunLoopSource] + 56 (FBSSerialQueue.m:206) 20 CoreFoundation 0x0000000181bfeb5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1943) 21 CoreFoundation 0x0000000181bfe4a4 __CFRunLoopDoSources0 + 524 (CFRunLoop.c:1989) 22 CoreFoundation 0x0000000181bfc0a4 __CFRunLoopRun + 804 (CFRunLoop.c:2821) 23 CoreFoundation 0x0000000181b2a2b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 24 GraphicsServices 0x00000001835de198 GSEventRunModal + 180 (GSEvent.c:2245) 25 UIKit 0x0000000187b717fc -[UIApplication _run] + 684 (UIApplication.m:2650) 26 UIKit 0x0000000187b6c534 UIApplicationMain + 208 (UIApplication.m:4092) 27 Sirius 0x000000010013e22c 0x1000e0000 + 385580 28 libdyld.dylib 0x0000000180b0d5b8 start + 4 Thread 1 name: Thread 1: 0 libsystem_kernel.dylib 0x0000000180c01188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x0000000180c00ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x0000000181bfe5d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x0000000181bfc1ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x0000000181b2a2b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 Foundation 0x000000018266726c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 (NSRunLoop.m:367) 6 Foundation 0x0000000182687dd0 -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 (NSRunLoop.m:411) 7 UIKit 0x00000001884e5c38 -[UIEventFetcher threadMain] + 136 (UIEventFetcher.m:279) 8 Foundation 0x0000000182764e68 __NSThread__start__ + 1024 (NSThread.m:1163) 9 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 10 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 11 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 2 name: Thread 2: 0 libsystem_kernel.dylib 0x0000000180c01188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x0000000180c00ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x0000000181bfe5d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x0000000181bfc1ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x0000000181b2a2b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CoreFoundation 0x0000000181b77b44 CFRunLoopRun + 112 (CFRunLoop.c:3136) 6 Mapbox 0x000000010040b44c void mbgl::util::Thread::run, std::__1::allocator > const&, unsigned long long&>, 0ul, 1ul>(std::__1::tuple, std::__1::allocator > const&, unsigned long long&>&&, std::__1::integer_sequence) + 112 7 Mapbox 0x000000010040b398 std::__1::__thread_proxy::Thread, std::__1::allocator > const&, unsigned long long&>(mbgl::util::ThreadContext const&, std::__1::basic_string, std::__1::allocator > const&&&, unsigned long long&&&)::'lambda'()> >(void*, void*) + 120 8 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 9 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 10 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 3 name: Thread 3: 0 libsystem_kernel.dylib 0x0000000180c01188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x0000000180c00ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x0000000181bfe5d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x0000000181bfc1ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x0000000181b2a2b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CoreFoundation 0x0000000181b77b44 CFRunLoopRun + 112 (CFRunLoop.c:3136) 6 Mapbox 0x0000000100404768 void mbgl::util::Thread::run, std::__1::allocator > const&>, 0ul>(std::__1::tuple, std::__1::allocator > const&>&&, std::__1::integer_sequence) + 136 7 Mapbox 0x000000010040469c std::__1::__thread_proxy::Thread, std::__1::allocator > const&>(mbgl::util::ThreadContext const&, std::__1::basic_string, std::__1::allocator > const&&&)::'lambda'()> >(void*, void*) + 120 8 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 9 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 10 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 4 name: Thread 4: 0 libsystem_kernel.dylib 0x0000000180c01188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x0000000180c00ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x0000000181bfe5d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x0000000181bfc1ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x0000000181b2a2b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CoreFoundation 0x0000000181b77b44 CFRunLoopRun + 112 (CFRunLoop.c:3136) 6 Mapbox 0x0000000100413e14 void mbgl::util::Thread::run >(std::__1::tuple<>&&, std::__1::integer_sequence) + 88 7 Mapbox 0x0000000100413d78 std::__1::__thread_proxy::Thread<>(mbgl::util::ThreadContext const&)::'lambda'()> >(void*, void*) + 120 8 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 9 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 10 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 5 name: Thread 5: 0 libsystem_kernel.dylib 0x0000000180c1ee1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x0000000180ce49c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018060d3ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100424168 _hidden#10561_ + 304 4 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 6 name: Thread 6: 0 libsystem_kernel.dylib 0x0000000180c1ee1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x0000000180ce49c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018060d3ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100424168 _hidden#10561_ + 304 4 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 7 name: Thread 7: 0 libsystem_kernel.dylib 0x0000000180c1ee1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x0000000180ce49c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018060d3ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100424168 _hidden#10561_ + 304 4 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 8 name: Thread 8: 0 libsystem_kernel.dylib 0x0000000180c1ee1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x0000000180ce49c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018060d3ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100424168 _hidden#10561_ + 304 4 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 9 name: Thread 9: 0 libsystem_kernel.dylib 0x0000000180c01188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x0000000180c00ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x0000000181bfe5d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x0000000181bfc1ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x0000000181b2a2b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CFNetwork 0x000000018232fa70 +[NSURLConnection(Loader) _resourceLoadLoop:] + 336 (NSURLConnection.mm:364) 6 Foundation 0x0000000182764e68 __NSThread__start__ + 1024 (NSThread.m:1163) 7 libsystem_pthread.dylib 0x0000000180ce5850 _pthread_body + 240 (pthread.c:697) 8 libsystem_pthread.dylib 0x0000000180ce5760 _pthread_start + 284 (pthread.c:744) 9 libsystem_pthread.dylib 0x0000000180ce2d94 thread_start + 4 Thread 10 name: Thread 10: 0 libsystem_kernel.dylib 0x0000000180c1e068 __connect_nocancel + 8 1 libsystem_dnssd.dylib 0x0000000180bd7790 ConnectToServer + 780 (dnssd_clientstub.c:596) 2 libsystem_dnssd.dylib 0x0000000180bd8f34 DNSServiceCreateConnection + 76 (dnssd_clientstub.c:1785) 3 libsystem_network.dylib 0x0000000180c9713c __nw_resolver_set_update_handler_block_invoke + 872 (resolver.m:1034) 4 libdispatch.dylib 0x0000000180ada1bc _dispatch_client_callout + 16 (object.m:455) 5 libdispatch.dylib 0x0000000180ae77f0 _dispatch_barrier_sync_f_invoke + 84 (queue.c:3457) 6 libsystem_network.dylib 0x0000000180c96c9c nw_resolver_set_update_handler + 208 (resolver.m:1278) 7 libnetwork.dylib 0x000000018e48cd7c -[NWConcrete_nw_endpoint_resolver startWithHandler:] + 508 (endpoint_resolver.m:95) 8 libnetwork.dylib 0x000000018e476ad0 nw_endpoint_handler_path_change + 2588 (endpoint_handler.m:986) 9 libnetwork.dylib 0x000000018e475fc0 nw_endpoint_handler_start + 548 (endpoint_handler.m:470) 10 libdispatch.dylib 0x0000000180ada1fc _dispatch_call_block_and_release + 24 (init.c:947) 11 libdispatch.dylib 0x0000000180ada1bc _dispatch_client_callout + 16 (object.m:455) 12 libdispatch.dylib 0x0000000180ae83dc _dispatch_queue_serial_drain + 928 (inline_internal.h:2424) 13 libdispatch.dylib 0x0000000180add9a4 _dispatch_queue_invoke + 652 (queue.c:4864) 14 libdispatch.dylib 0x0000000180aea34c _dispatch_root_queue_drain + 572 (inline_internal.h:2461) 15 libdispatch.dylib 0x0000000180aea0ac _dispatch_worker_thread3 + 124 (queue.c:5561) 16 libsystem_pthread.dylib 0x0000000180ce32a0 _pthread_wqthread + 1288 (pthread.c:2196) 17 libsystem_pthread.dylib 0x0000000180ce2d8c start_wqthread + 4 Thread 11: 0 libsystem_pthread.dylib 0x0000000180ce2d88 start_wqthread + 0 Thread 12: 0 libsystem_kernel.dylib 0x0000000180c1fa88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x0000000180ce3344 _pthread_wqthread + 1452 (pthread.c:2205) 2 libsystem_pthread.dylib 0x0000000180ce2d8c start_wqthread + 4 Thread 13: 0 libsystem_kernel.dylib 0x0000000180c1fa88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x0000000180ce3160 _pthread_wqthread + 968 (pthread.c:2129) 2 libsystem_pthread.dylib 0x0000000180ce2d8c start_wqthread + 4 Thread 14: 0 libsystem_kernel.dylib 0x0000000180c1fa88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x0000000180ce3160 _pthread_wqthread + 968 (pthread.c:2129) 2 libsystem_pthread.dylib 0x0000000180ce2d8c start_wqthread + 4 Thread 15: 0 libsystem_kernel.dylib 0x0000000180c1fa88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x0000000180ce3344 _pthread_wqthread + 1452 (pthread.c:2205) 2 libsystem_pthread.dylib 0x0000000180ce2d8c start_wqthread + 4 Thread 16: 0 libsystem_pthread.dylib 0x0000000180ce2d88 start_wqthread + 0 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x000000010063d3cb x2: 0x000000017005cfe0 x3: 0x000000017487eb40 x4: 0x000000017447dec0 x5: 0x000000017487eb40 x6: 0x0000000139d0db60 x7: 0x0000000000000000 x8: 0x0000000000000018 x9: 0x00000001a752e014 x10: 0x00000001a752e018 x11: 0x00fa8d0100fa8d80 x12: 0x0000000000fa8d00 x13: 0x0000000000fa8e00 x14: 0x0000000000fa8dc0 x15: 0x0000000000fa8d01 x16: 0x000000018060e370 x17: 0x00000001003c9c04 x18: 0x0000000000000000 x19: 0x0000000174264a00 x20: 0x0000000170056050 x21: 0x0000000000000000 x22: 0x0000000000000000 x23: 0x00000001a7540000 x24: 0x00000001a7540000 x25: 0x0000000000000000 x26: 0x0000000100ef4168 x27: 0x00000001a753bef8 x28: 0x0000000000000001 fp: 0x000000016fd1dc30 lr: 0x0000000100409734 sp: 0x000000016fd1dc20 pc: 0x000000018060e37c cpsr: 0x60000000 ```

Unsymbolicated (v3.5.0-rc.1)

Click to expand crash log ``` Incident Identifier: 131DD4BD-E90E-42AA-B010-C78D0D6B0432 Beta Identifier: 1FF4C2D1-038C-410E-B618-7A88D74AAE9E Hardware Model: iPhone9,3 Process: Sirius [9952] Path: /private/var/containers/Bundle/Application/638C221C-5DBA-479E-94DB-77DE312F6A0A/Sirius.app/Sirius Identifier: com.mapbox.Sirius Version: 100 (2.0) Beta: YES Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Coalition: com.mapbox.Sirius [2663] Date/Time: 2017-03-17 13:36:27.1921 -0700 Launch Time: 2017-03-17 13:15:05.0907 -0700 OS Version: iPhone OS 10.2.1 (14D27) Report Version: 104 Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000000 Termination Signal: Segmentation fault: 11 Termination Reason: Namespace SIGNAL, Code 0xb Terminating Process: exc handler [0] Triggered by Thread: 0 Thread 0 name: Thread 0 Crashed: 0 libc++.1.dylib 0x000000018d1c637c std::__1::promise::set_value() + 12 (future.cpp:246) 1 Mapbox 0x00000001003008a8 _hidden#10510_ + 24 2 Mapbox 0x00000001003008a8 _hidden#10510_ + 24 3 Mapbox 0x00000001002d050c _hidden#8819_ + 24 (__hidden#8939_:60) 4 CoreFoundation 0x000000018e7a2b10 __CFNOTIFICATIONCENTER_IS_CALLING_OUT_TO_AN_OBSERVER__ + 20 (CFNotificationCenter.c:650) 5 CoreFoundation 0x000000018e7a2214 _CFXRegistrationPost + 400 (CFNotificationCenter.c:164) 6 CoreFoundation 0x000000018e7a1f90 ___CFXNotificationPost_block_invoke + 60 (CFNotificationCenter.c:1031) 7 CoreFoundation 0x000000018e811b8c -[_CFXNotificationRegistrar find:object:observer:enumerator:] + 1504 (CFXNotificationRegistrar.m:163) 8 CoreFoundation 0x000000018e6e3e64 _CFXNotificationPost + 376 (CFNotificationCenter.c:1028) 9 Foundation 0x000000018f218e0c -[NSNotificationCenter postNotificationName:object:userInfo:] + 68 (NSNotification.m:482) 10 UIKit 0x000000019491f9a4 -[UIApplication _sendWillEnterForegroundCallbacks] + 232 (UIApplication.m:9961) 11 UIKit 0x000000019495ad50 -[UIApplication _handleApplicationActivationWithScene:transitionContext:completion:] + 2140 (UIApplication.m:10393) 12 UIKit 0x000000019495a280 -[UIApplication _handleApplicationLifecycleEventWithScene:transitionContext:completion:] + 452 (UIApplication.m:10229) 13 UIKit 0x0000000194945820 __70-[UIApplication scene:didUpdateWithDiff:transitionContext:completion:]_block_invoke + 152 (UIApplication.m:3327) 14 UIKit 0x00000001949454a4 -[UIApplication scene:didUpdateWithDiff:transitionContext:completion:] + 888 (UIApplication.m:3340) 15 UIKit 0x0000000194c7153c -[UIApplicationSceneClientAgent scene:handleEvent:withCompletion:] + 464 (UIApplicationSceneClientAgent.m:74) 16 FrontBoardServices 0x00000001903b1dd4 __80-[FBSSceneImpl updater:didUpdateSettings:withDiff:transitionContext:completion:]_block_invoke.376 + 208 (FBSSceneImpl.m:598) 17 FrontBoardServices 0x00000001903df92c __FBSSERIALQUEUE_IS_CALLING_OUT_TO_A_BLOCK__ + 36 (FBSSerialQueue.m:158) 18 FrontBoardServices 0x00000001903df798 -[FBSSerialQueue _performNext] + 176 (FBSSerialQueue.m:177) 19 FrontBoardServices 0x00000001903dfb40 -[FBSSerialQueue _performNextFromRunLoopSource] + 56 (FBSSerialQueue.m:206) 20 CoreFoundation 0x000000018e7b6b5c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24 (CFRunLoop.c:1943) 21 CoreFoundation 0x000000018e7b64a4 __CFRunLoopDoSources0 + 524 (CFRunLoop.c:1989) 22 CoreFoundation 0x000000018e7b40a4 __CFRunLoopRun + 804 (CFRunLoop.c:2821) 23 CoreFoundation 0x000000018e6e22b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 24 GraphicsServices 0x0000000190196198 GSEventRunModal + 180 (GSEvent.c:2245) 25 UIKit 0x00000001947297fc -[UIApplication _run] + 684 (UIApplication.m:2650) 26 UIKit 0x0000000194724534 UIApplicationMain + 208 (UIApplication.m:4092) 27 Sirius 0x000000010007a35c main + 152 (AppDelegate.swift:7) 28 libdyld.dylib 0x000000018d6c55b8 start + 4 Thread 1 name: Thread 1: 0 libsystem_kernel.dylib 0x000000018d7b9188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x000000018d7b8ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x000000018e7b65d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x000000018e7b41ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x000000018e6e22b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 Foundation 0x000000018f21f26c -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 (NSRunLoop.m:367) 6 Foundation 0x000000018f23fdd0 -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 (NSRunLoop.m:411) 7 UIKit 0x000000019509dc38 -[UIEventFetcher threadMain] + 136 (UIEventFetcher.m:279) 8 Foundation 0x000000018f31ce68 __NSThread__start__ + 1024 (NSThread.m:1163) 9 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 10 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 11 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 2 name: Thread 2: 0 libsystem_kernel.dylib 0x000000018d7b9188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x000000018d7b8ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x000000018e7b65d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x000000018e7b41ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x000000018e6e22b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CoreFoundation 0x000000018e72fb44 CFRunLoopRun + 112 (CFRunLoop.c:3136) 6 Mapbox 0x00000001003023a4 void mbgl::util::Thread::run, std::__1::allocator > const&, unsigned long long&>, 0ul, 1ul>(std::__1::tuple, std::__1::allocator > const&, unsigned long long&>&&, std::__1::integer_sequence) + 112 7 Mapbox 0x00000001003022f4 std::__1::__thread_proxy::Thread, std::__1::allocator > const&, unsigned long long&>(mbgl::util::ThreadContext const&, std::__1::basic_string, std::__1::allocator > const&&&, unsigned long long&&&)::'lambda'()> >(void*, void*) + 92 8 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 9 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 10 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 3 name: Thread 3: 0 libsystem_kernel.dylib 0x000000018d7b9188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x000000018d7b8ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x000000018e7b65d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x000000018e7b41ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x000000018e6e22b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CoreFoundation 0x000000018e72fb44 CFRunLoopRun + 112 (CFRunLoop.c:3136) 6 Mapbox 0x00000001002fc150 void mbgl::util::Thread::run, std::__1::allocator > const&>, 0ul>(std::__1::tuple, std::__1::allocator > const&>&&, std::__1::integer_sequence) + 136 7 Mapbox 0x00000001002fc02c std::__1::__thread_proxy::Thread, std::__1::allocator > const&>(mbgl::util::ThreadContext const&, std::__1::basic_string, std::__1::allocator > const&&&)::'lambda'()> >(void*, void*) + 92 8 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 9 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 10 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 4 name: Thread 4: 0 libsystem_kernel.dylib 0x000000018d7b9188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x000000018d7b8ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x000000018e7b65d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x000000018e7b41ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x000000018e6e22b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CoreFoundation 0x000000018e72fb44 CFRunLoopRun + 112 (CFRunLoop.c:3136) 6 Mapbox 0x000000010030a5d8 void mbgl::util::Thread::run >(std::__1::tuple<>&&, std::__1::integer_sequence) + 88 7 Mapbox 0x000000010030a540 std::__1::__thread_proxy::Thread<>(mbgl::util::ThreadContext const&)::'lambda'()> >(void*, void*) + 92 8 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 9 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 10 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 5 name: Thread 5: 0 libsystem_kernel.dylib 0x000000018d7d6e1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x000000018d89c9c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018d1c53ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100317904 _hidden#11006_ + 272 4 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 6 name: Thread 6: 0 libsystem_kernel.dylib 0x000000018d7d6e1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x000000018d89c9c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018d1c53ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100317904 _hidden#11006_ + 272 4 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 7 name: Thread 7: 0 libsystem_kernel.dylib 0x000000018d7d6e1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x000000018d89c9c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018d1c53ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100317904 _hidden#11006_ + 272 4 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 8 name: Thread 8: 0 libsystem_kernel.dylib 0x000000018d7d6e1c __psynch_cvwait + 8 1 libsystem_pthread.dylib 0x000000018d89c9c0 _pthread_cond_wait + 640 (pthread_cond.c:536) 2 libc++.1.dylib 0x000000018d1c53ec std::__1::condition_variable::wait(std::__1::unique_lock&) + 56 (condition_variable.cpp:44) 3 Mapbox 0x0000000100317904 _hidden#11006_ + 272 4 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 5 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 6 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 9 name: Thread 9: 0 libsystem_kernel.dylib 0x000000018d7b9188 mach_msg_trap + 8 1 libsystem_kernel.dylib 0x000000018d7b8ff8 mach_msg + 72 (mach_msg.c:103) 2 CoreFoundation 0x000000018e7b65d0 __CFRunLoopServiceMachPort + 192 (CFRunLoop.c:2527) 3 CoreFoundation 0x000000018e7b41ec __CFRunLoopRun + 1132 (CFRunLoop.c:2870) 4 CoreFoundation 0x000000018e6e22b8 CFRunLoopRunSpecific + 444 (CFRunLoop.c:3113) 5 CFNetwork 0x000000018eee7a70 +[NSURLConnection(Loader) _resourceLoadLoop:] + 336 (NSURLConnection.mm:364) 6 Foundation 0x000000018f31ce68 __NSThread__start__ + 1024 (NSThread.m:1163) 7 libsystem_pthread.dylib 0x000000018d89d850 _pthread_body + 240 (pthread.c:697) 8 libsystem_pthread.dylib 0x000000018d89d760 _pthread_start + 284 (pthread.c:744) 9 libsystem_pthread.dylib 0x000000018d89ad94 thread_start + 4 Thread 10: 0 libsystem_kernel.dylib 0x000000018d7d7a88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x000000018d89b344 _pthread_wqthread + 1452 (pthread.c:2205) 2 libsystem_pthread.dylib 0x000000018d89ad8c start_wqthread + 4 Thread 11: 0 libsystem_pthread.dylib 0x000000018d89ad88 start_wqthread + 0 Thread 12 name: Thread 12: 0 libsystem_kernel.dylib 0x000000018d7d7260 __select_nocancel + 8 1 libsystem_dnssd.dylib 0x000000018d78fc54 deliver_request + 1004 (dnssd_clientstub.c:342) 2 libsystem_dnssd.dylib 0x000000018d790f60 DNSServiceCreateConnection + 120 (dnssd_clientstub.c:1791) 3 libsystem_network.dylib 0x000000018d84f13c __nw_resolver_set_update_handler_block_invoke + 872 (resolver.m:1034) 4 libdispatch.dylib 0x000000018d6921bc _dispatch_client_callout + 16 (object.m:455) 5 libdispatch.dylib 0x000000018d69f7f0 _dispatch_barrier_sync_f_invoke + 84 (queue.c:3457) 6 libsystem_network.dylib 0x000000018d84ec9c nw_resolver_set_update_handler + 208 (resolver.m:1278) 7 libnetwork.dylib 0x000000019b044d7c -[NWConcrete_nw_endpoint_resolver startWithHandler:] + 508 (endpoint_resolver.m:95) 8 libnetwork.dylib 0x000000019b02ead0 nw_endpoint_handler_path_change + 2588 (endpoint_handler.m:986) 9 libnetwork.dylib 0x000000019b02dfc0 nw_endpoint_handler_start + 548 (endpoint_handler.m:470) 10 libdispatch.dylib 0x000000018d6921fc _dispatch_call_block_and_release + 24 (init.c:947) 11 libdispatch.dylib 0x000000018d6921bc _dispatch_client_callout + 16 (object.m:455) 12 libdispatch.dylib 0x000000018d6a03dc _dispatch_queue_serial_drain + 928 (inline_internal.h:2424) 13 libdispatch.dylib 0x000000018d6959a4 _dispatch_queue_invoke + 652 (queue.c:4864) 14 libdispatch.dylib 0x000000018d6a234c _dispatch_root_queue_drain + 572 (inline_internal.h:2461) 15 libdispatch.dylib 0x000000018d6a20ac _dispatch_worker_thread3 + 124 (queue.c:5561) 16 libsystem_pthread.dylib 0x000000018d89b2a0 _pthread_wqthread + 1288 (pthread.c:2196) 17 libsystem_pthread.dylib 0x000000018d89ad8c start_wqthread + 4 Thread 13 name: Thread 13: 0 libsystem_kernel.dylib 0x000000018d7b91dc semaphore_timedwait_trap + 8 1 libdispatch.dylib 0x000000018d6a4770 _dispatch_semaphore_wait_slow + 112 (semaphore.c:286) 2 CoreLocation 0x00000001967ff358 CLClientInvokeCallback(__CLClient*, CLClientEvent, objc_object*) + 412 (CLClient.mm:787) 3 CoreLocation 0x0000000196804790 ___ZL25_CLClientCreateConnectionP10__CLClient_block_invoke.151 + 92 (CLClient.mm:940) 4 CoreLocation 0x0000000196850150 ___ZN18CLConnectionClient30setInterruptionHandler_onQueueEU13block_pointerFvvE_block_invoke + 56 (CLConnectionClient.mm:227) 5 CoreLocation 0x000000019684dc74 ___ZL15setEventHandlerPU24objcproto13OS_xpc_object8NSObjectU13block_pointerFvNSt3__110shared_ptrI19CLConnectionMessageEEEU13block_pointerFvvES9_PS9__block_invoke + 676 (CLConnection.mm:181) 6 libxpc.dylib 0x000000018d8db8f4 _xpc_connection_call_event_handler + 68 (connection.c:546) 7 libxpc.dylib 0x000000018d8df860 do_mach_notify_port_destroyed + 124 (connection.c:1397) 8 libxpc.dylib 0x000000018d8df7b0 _Xmach_notify_port_destroyed + 80 (notifyServer.c:249) 9 libxpc.dylib 0x000000018d8df734 notify_server + 96 (notifyServer.c:512) 10 libxpc.dylib 0x000000018d8e4a74 _xpc_connection_pass2mig + 164 (connection.c:1206) 11 libxpc.dylib 0x000000018d8d9378 _xpc_connection_mach_event + 1336 (connection.c:1243) 12 libdispatch.dylib 0x000000018d69228c _dispatch_client_callout4 + 16 (object.m:482) 13 libdispatch.dylib 0x000000018d695d80 _dispatch_mach_msg_invoke + 328 (source.c:5833) 14 libdispatch.dylib 0x000000018d6a0210 _dispatch_queue_serial_drain + 468 (inline_internal.h:2461) 15 libdispatch.dylib 0x000000018d6951e0 _dispatch_mach_invoke + 652 (source.c:6040) 16 libdispatch.dylib 0x000000018d6a0210 _dispatch_queue_serial_drain + 468 (inline_internal.h:2461) 17 libdispatch.dylib 0x000000018d6959a4 _dispatch_queue_invoke + 652 (queue.c:4864) 18 libdispatch.dylib 0x000000018d6a0210 _dispatch_queue_serial_drain + 468 (inline_internal.h:2461) 19 libdispatch.dylib 0x000000018d6959a4 _dispatch_queue_invoke + 652 (queue.c:4864) 20 libdispatch.dylib 0x000000018d6a234c _dispatch_root_queue_drain + 572 (inline_internal.h:2461) 21 libdispatch.dylib 0x000000018d6a20ac _dispatch_worker_thread3 + 124 (queue.c:5561) 22 libsystem_pthread.dylib 0x000000018d89b2a0 _pthread_wqthread + 1288 (pthread.c:2196) 23 libsystem_pthread.dylib 0x000000018d89ad8c start_wqthread + 4 Thread 14: 0 libsystem_kernel.dylib 0x000000018d7d7a88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x000000018d89b344 _pthread_wqthread + 1452 (pthread.c:2205) 2 libsystem_pthread.dylib 0x000000018d89ad8c start_wqthread + 4 Thread 15: 0 libsystem_kernel.dylib 0x000000018d7d7a88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x000000018d89b344 _pthread_wqthread + 1452 (pthread.c:2205) 2 libsystem_pthread.dylib 0x000000018d89ad8c start_wqthread + 4 Thread 16: 0 libsystem_pthread.dylib 0x000000018d89ad88 start_wqthread + 0 Thread 17: 0 libsystem_kernel.dylib 0x000000018d7d7a88 __workq_kernreturn + 8 1 libsystem_pthread.dylib 0x000000018d89b344 _pthread_wqthread + 1452 (pthread.c:2205) 2 libsystem_pthread.dylib 0x000000018d89ad8c start_wqthread + 4 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x00000001004c656f x2: 0x00000001702400f0 x3: 0x000000017046aa80 x4: 0x0000000170274040 x5: 0x000000017046aa80 x6: 0x0000000100f03da0 x7: 0x0000000000000000 x8: 0x0000000000000018 x9: 0x00000001b3f8b014 x10: 0x00000001b3f8b018 x11: 0x00b8960100b89680 x12: 0x0000000000b89600 x13: 0x0000000000b89700 x14: 0x0000000000b896c0 x15: 0x0000000000b89601 x16: 0x000000018d1c6370 x17: 0x00000001002d04f4 x18: 0x0000000000000000 x19: 0x0000000174273340 x20: 0x0000000170055210 x21: 0x0000000000000000 x22: 0x0000000000000000 x23: 0x00000001b3f9d000 x24: 0x00000001b3f9d000 x25: 0x0000000000000000 x26: 0x0000000100dc4138 x27: 0x00000001b3f98ef8 x28: 0x0000000000000001 fp: 0x000000016fde1c30 lr: 0x00000001003008a8 sp: 0x000000016fde1c20 pc: 0x000000018d1c637c cpsr: 0x60000000 ```

  /cc @mapbox/ios

boundsj commented 7 years ago

I wanted to clarify that, in the Symbolicated / Unsymbolicated examples above, the Symbolicated log is also only partially symbolicated:

1   Mapbox 0x0000000100409734 mbgl::DefaultFileSource::resume() + 24
2   Mapbox 0x0000000100409734 mbgl::DefaultFileSource::resume() + 24
3   Mapbox 0x00000001003c9c1c _hidden#8730_ + 24 (__hidden#8849_:59)

The "_hidden" symbol in this particular case would've been:

3   Mapbox 0x00000001003c9c1c -[MGLOfflineStorage unpauseFileSource:] (MGLOfflineStorage.mm:59)
boundsj commented 7 years ago

@friedbunny

It appears that this is a bug in more recent versions of Xcode and a side affect of Bitcodeification. A very similar issue was reported in this open radar.

I downloaded the dSYM file from iTC for the first Symbolicated (that was actually partially symbolicated) crash report noted above and performed the repro steps noted in that radar. I confirmed that the dSYM Apple sends back contains many "_hidden" symbols:

nm CC99108F-9E76-39FE-B15F-D105D8406611.dSYM/Contents/Resources/DWARF/* | grep _hidden

0000000000005d98 t __hidden#0_
00000000000fada4 t __hidden#10000_
00000000000fada8 t __hidden#10001_
00000000000fae40 t __hidden#10002_
...

Happily, the Open Radar report was updated with a response from Apple Developer Relations and it does look like there is a chance this will be fixed in Xcode 8.3. I don't think there is much we can do at the moment other than hope for the best with Xcode 8.3 and also file a duplicate of https://openradar.appspot.com/28503166. I think we should move this issue of the 3.5.1 milestone but keep it open for our own tracking purposes. I'll update this ticket with the Open Radar dupe once I file it.

friedbunny commented 7 years ago

Sounds reasonable, @boundsj. It seems like Apple’s track record with bitcode and dSYMs isn’t great, judging by these Crashlytics users' experiences.

boundsj commented 7 years ago

We are publicly tracking in a duplicate Open Radar.

friedbunny commented 7 years ago

Still seeing this (via Crashlytics) in a TestFlight app built with Xcode 8.3.

friedbunny commented 7 years ago

https://openradar.appspot.com/28503166 was closed as resolved in Xcode 8.3, but inspection of dSYMs downloaded from TestFlight don’t show any significant differences between those built with 8.2 or 8.3.

We’ll keep an eye on this issue and close when crash logs are consistently usefully symbolicated. In the meantime, v3.5.2 will be built with Xcode 8.3.1.

riserpete commented 6 years ago

I seem to have the same problem, using the iOS SDK version 3.7.3 I get a crash that appears frequently in my app, and I can't seem to get more info than this:


0  Mapbox                         0x102f17da0 _hidden#13907_ + 379760
1  Mapbox                         0x102f182fc _hidden#13908_ + 381132
2  Mapbox                         0x102f69408 _hidden#15669_ + 713176
3  Mapbox                         0x102f7bf20 _hidden#15927_ + 789744
4  Mapbox                         0x102e44c2c _hidden#7149_ (__hidden#8198_:53)
5  Mapbox                         0x102e44bd0 _hidden#7148_ (__hidden#8038_:950)
6  GLKit                          0x18f65492c -[GLKView _display:] + 216
7  Mapbox                         0x102e453dc _hidden#7157_ (__hidden#8038_:1081)
8  QuartzCore                     0x1866af710 CA::Display::DisplayLink::dispatch_items(unsigned long long, unsigned long long, unsigned long long) + 672
9  IOKit                          0x1829ed098 IODispatchCalloutFromCFMessage + 392
10 CoreFoundation                 0x182710290 __CFMachPortPerform + 188
11 CoreFoundation                 0x18272b000 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56
12 CoreFoundation                 0x18272a704 __CFRunLoopDoSource1 + 440
13 CoreFoundation                 0x1827281d8 __CFRunLoopRun + 2196
14 CoreFoundation                 0x182647e58 CFRunLoopRunSpecific + 436
15 GraphicsServices               0x1844f4f84 GSEventRunModal + 100
16 UIKit                          0x18bd9c67c UIApplicationMain + 236```
friedbunny commented 6 years ago

We’ve been seeing a related issue for some time (since around ios-v3.7.0-alpha.1 in September 2017) where symbols from our core are consistently replaced with utrie2_enumForLeadSurrogate_58. This can apparently manifest on any crash, but we haven’t identified a cause or set of reproduction circumstances yet.

For example, here’s one such crash that ended up being #11940 (and ultimately ended up with a very different stack trace):

Assertion failed: (!expression::isZoomConstant(*expression)), function CameraFunction, file /Users/distiller/project/include/mbgl/style/function/camera_function.hpp, line 34.

Crashed: com.apple.main-thread
0  libsystem_kernel.dylib         0x183d792ec __pthread_kill + 8
1  libsystem_pthread.dylib        0x183f1e6a8 pthread_kill$VARIANT$armv81 + 360
2  libsystem_c.dylib              0x183ce7d0c abort + 140
3  libsystem_c.dylib              0x183cbc000 basename_r + 314
4  Mapbox                         0x1003e1140 MGLTimeIntervalFromDuration(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >) + 122684
5  Mapbox                         0x1003e09d8 MGLTimeIntervalFromDuration(std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> >) + 120788
6  Mapbox                         0x1004f11f4 utrie2_enumForLeadSurrogate_58 + 1016688
7  Mapbox                         0x1004ded5c utrie2_enumForLeadSurrogate_58 + 941784
8  Mapbox                         0x1004dea64 utrie2_enumForLeadSurrogate_58 + 941024
9  Mapbox                         0x1004e4590 utrie2_enumForLeadSurrogate_58 + 964364
10 Mapbox                         0x1004e531c utrie2_enumForLeadSurrogate_58 + 967832
11 Mapbox                         0x10057289c utrie2_enumForLeadSurrogate_58 + 1546776
12 Mapbox                         0x1005724f0 utrie2_enumForLeadSurrogate_58 + 1545836
13 Mapbox                         0x100571ae0 utrie2_enumForLeadSurrogate_58 + 1543260
14 Mapbox                         0x100570ad0 utrie2_enumForLeadSurrogate_58 + 1539148
15 Mapbox                         0x10057de24 utrie2_enumForLeadSurrogate_58 + 1593248
16 Mapbox                         0x1005800c4 utrie2_enumForLeadSurrogate_58 + 1602112
17 Mapbox                         0x1005e1990 utrie2_enumForLeadSurrogate_58 + 2001676
18 Mapbox                         0x100403854 utrie2_enumForLeadSurrogate_58 + 43472
19 Mapbox                         0x1004039e8 utrie2_enumForLeadSurrogate_58 + 43876
20 Mapbox                         0x1005d4810 utrie2_enumForLeadSurrogate_58 + 1948044
21 Mapbox                         0x1005d3cec utrie2_enumForLeadSurrogate_58 + 1945192
22 CoreFoundation                 0x18429b404 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 24
23 CoreFoundation                 0x18429ac2c __CFRunLoopDoSources0 + 276
24 CoreFoundation                 0x18429879c __CFRunLoopRun + 1204
25 CoreFoundation                 0x1841b8da8 CFRunLoopRunSpecific + 552
26 GraphicsServices               0x18619b020 GSEventRunModal + 100
27 UIKit                          0x18e19978c UIApplicationMain + 236
28 StudioPreview                  0x100077d14 main (OfflineStorage.swift:13)
29 libdyld.dylib                  0x183c49fc0 start + 4
1ec5 commented 6 years ago

We’ve been seeing a related issue for some time (since around ios-v3.7.0-alpha.1 in September 2017) where symbols from our core are consistent replaced with utrie2_enumForLeadSurrogate_58.

Stabbing in the dark here, but could this be an unrelated issue caused by -fvisibility=hidden? #7604 landed in both v3.6.1 and ios-v3.7.0-alpha.1. What puzzles me is that utrie2_enumForLeadSurrogate_58 would’ve been linked in from libicuuc via mbgl, and libicuuc is built with -fvisibility=hidden.

friedbunny commented 6 years ago

000000000013ad47 T _utrie2_enumForLeadSurrogate_58 can be found in our release dSYMs (as of 4.1.0b1), as can all of the expected mbgl symbols. The utrie symbols are almost the final ones in the dSYM (at least, if nm’s ordering is to be believed), so...?

friedbunny commented 6 years ago

Both of these issues (the original _hidden and the new _utrie) appear to stem from bitcode and the lack of .bcsymbolmap files in the submitted .xcarchive — manually adding our framework’s . bcsymbolmaps to a test app’s product folder (via a copy files build phase) was enough to get properly symbolicated core crashes in Crashlytics.

Symptoms I observed:

Unknowns:

Helpful links

friedbunny commented 6 years ago

Until we put out a new podspec/release with a fix for this, here’s a workaround:

  1. Find the two bcsymbolmap files for the in-use version of Mapbox.framework — you’ll likely have to download the release again directly from GitHub, as CocoaPods discards these during installation.
  2. Create a new Copy Files build phase in your project.
  3. Set the destination to Products Directory.
  4. Drag the two bcsymbolmap files as inputs for this phase.
  5. Check the “Copy only when installing” box. (Sorry, it should be checked in the image below.)

screen shot 2018-06-25 at 1 53 09 pm

You can verify that this worked by looking in the YourApp.xcarchive/BCSymbolMaps folder.

friedbunny commented 6 years ago

12257 has CocoaPods keep our bcsymbolmap files when installing the pod, but does not handle the copying of these files into the archived app — for how to do that yourself, see https://github.com/mapbox/mapbox-gl-native/pull/12257#issuecomment-401209457. This is available from ios-v4.2.0-alpha.1 onward.

As for properly symbolicating crashes in apps that were submitted without our bcsymbolmap files, unfortunately I wasn’t able to find a way to do this.

stale[bot] commented 5 years ago

This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions.

waris117 commented 5 years ago

Still CocoaPods fail to load these files even though these are there in Mapbox-iOS-SDK dynamic folder. Any one know fix? by commenting these lines in project-name-framewroks.sh works but that is not a solution install_bcsymbolmap "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/826E141E-8875-3C3B-A106-2B772F8A0684.bcsymbolmap" install_bcsymbolmap "${PODS_ROOT}/Mapbox-iOS-SDK/dynamic/D2C1B547-E1DE-365D-A6EF-DB16EE1D4375.bcsymbolmap"

friedbunny commented 5 years ago

@waris117 See https://github.com/mapbox/mapbox-gl-native/pull/12257#issuecomment-401209457 for our suggested workaround. The CocoaPods team is working on fixing this in 1.7.0 (https://github.com/CocoaPods/CocoaPods/pull/8470), which will eventually obviate these extra steps.

khaskheliAyaz commented 5 years ago

This is same issue, it shows missing reports. Screenshot 2019-10-02 at 4 57 20 PM using xcode 10 Fabric crash reports. while someother crash reports are very accurate. like below Screenshot 2019-10-02 at 5 00 17 PM

friedbunny commented 5 years ago

@khaskheliAyaz That appears to be a missing dSYM, rather than a partially-unsymbolicated crash report (as this issue covers) — see Crashlytics’ missing dSYM help page for advice on how to symbolicate that crash.