Anoop Vaidya
Anoop Vaidya

Reputation: 46543

How to trace these crashes?

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

Answers (1)

bbum
bbum

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

Related Questions