Reputation: 46543
I have been working with Obj-C, Xcode from years, but at times these crash happens to a project. I have no clue how to deal with these.
If someone has any idea, please guide me towards right direction, so that I can workout.
NOTE: The following logs are sent by customer from the live app.
Snipped of crash log is;
Date/Time: 2018-02-08 16:39:36.053 +0530
OS Version: Mac OS X 10.12.6 (16G29)
Report Version: 12
Anonymous UUID: 163431E3-7543-821C-B71C-392218AA5AD3
Sleep/Wake UUID: 1D59C34E-52D6-4F57-A2CE-4C8FAC4387FE
Time Awake Since Boot: 9100 seconds
Time Since Wake: 6000 seconds
System Integrity Protection: enabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: EXC_I386_GPFLT
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [0]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libdispatch.dylib 0x00007fffdb6ca521 _dispatch_call_block_and_release + 9
1 libdispatch.dylib 0x00007fffdb6c18fc _dispatch_client_callout + 8
2 libdispatch.dylib 0x00007fffdb6ceaac _dispatch_main_queue_callback_4CF + 925
3 com.apple.CoreFoundation 0x00007fffc5facbc9 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 9
4 com.apple.CoreFoundation 0x00007fffc5f6dc0d __CFRunLoopRun + 2205
5 com.apple.CoreFoundation 0x00007fffc5f6d114 CFRunLoopRunSpecific + 420
6 com.apple.HIToolbox 0x00007fffc54cdebc RunCurrentEventLoopInMode + 240
7 com.apple.HIToolbox 0x00007fffc54cdcf1 ReceiveNextEventCommon + 432
8 com.apple.HIToolbox 0x00007fffc54cdb26 _BlockUntilNextEventMatchingListInModeWithFilter + 71
9 com.apple.AppKit 0x00007fffc3a66a54 _DPSNextEvent + 1120
10 com.apple.AppKit 0x00007fffc41e27ee -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 2796
11 com.apple.AppKit 0x00007fffc3a5b3db -[NSApplication run] + 926
12 com.apple.AppKit 0x00007fffc3a25e0e NSApplicationMain + 1237
13 libdyld.dylib 0x00007fffdb6f7235 start + 1
Thread 1:
0 libsystem_kernel.dylib 0x00007fffdb825bf2 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fffdb9117fa _pthread_cond_wait + 712
2 libc++.1.dylib 0x00007fffda28e4cd std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 47
3 com.apple.JavaScriptCore 0x00007fffc8f7b43c void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 108
4 com.apple.JavaScriptCore 0x00007fffc8f7b3bb bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() + 155
5 com.apple.JavaScriptCore 0x00007fffc8f7b28d bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadEntryPoint(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*) + 29
6 com.apple.JavaScriptCore 0x00007fffc8f7b53d void* std::__1::__thread_proxy<std::__1::tuple<void (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 93
7 libsystem_pthread.dylib 0x00007fffdb91093b _pthread_body + 180
8 libsystem_pthread.dylib 0x00007fffdb910887 _pthread_start + 286
9 libsystem_pthread.dylib 0x00007fffdb91008d thread_start + 13
Upvotes: 0
Views: 318
Reputation: 162712
0 libdispatch.dylib 0x00007fffdb6ca521 _dispatch_call_block_and_release + 9
1 libdispatch.dylib 0x00007fffdb6c18fc _dispatch_client_callout + 8
2 libdispatch.dylib 0x00007fffdb6ceaac _dispatch_main_queue_callback_4CF + 925
The crash is happening when GCD is trying to execute a block on the main thread. Check you callback blocks to make sure they are cleanly capturing state and that all blocks that need to be copied are copied correctly.
This is likely because there is some object captured by the block that was prematurely released or because the block itself was over-released (unlikely).
Upvotes: 2