Deciphering a Crash Report - iOS - xCode

0

I am trying to replicate a bug in my app which is happening for users occasionally. I have the below crash report. Am I right in thinking the app is crashing due to an NSDictionary not having a value for a specific key ? And is there anything else I can deduce from the report ?

Date/Time:       2013-09-19 12:12:54.627 +0800
OS Version:      iOS 6.1.3 (10B329)
Report Version:  104

Exception Type:  EXC_CRASH (SIGTRAP)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread:  0

Last Exception Backtrace:
0   CoreFoundation                  0x31bbd3e2 __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x39a5795e objc_exception_throw + 26
2   CoreFoundation                  0x31b0e876 -[__NSPlaceholderDictionary initWithObjects:forKeys:count:] + 130
3   CoreFoundation                  0x31b0e732 +[NSDictionary dictionaryWithObject:forKey:] + 46
4   MyApp                           0x00103f34 -[WebViewJavascriptBridge _sendData:responseCallback:handlerName:] (WebViewJavascriptBridge.m:95)
5   MyApp                           0x00103d2a -[WebViewJavascriptBridge callHandler:data:responseCallback:] (WebViewJavascriptBridge.m:67)
6   MyApp                           0x00103cec -[WebViewJavascriptBridge callHandler:data:] (WebViewJavascriptBridge.m:63)
7   MyApp                           0x000c3be2 -[ContractViewController updateHTML] (ContractViewController.m:293)
8   MyApp                           0x000c2fec -[ContractViewController startEditableContract] (ContractViewController.m:199)
9   MyApp                           0x000c2bc2 -[ContractViewController viewDidLoad] (ContractViewController.m:192)
10  UIKit                           0x339eb574 -[UIViewController loadViewIfRequired] + 360
11  UIKit                           0x33a401f2 -[UIViewController contentScrollView] + 22
12  UIKit                           0x33a40138 -[UINavigationController _computeAndApplyScrollContentInsetDeltaForViewController:] + 24
13  UIKit                           0x33a4001c -[UINavigationController _layoutViewController:] + 28
14  UIKit                           0x33a3ff48 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 268
15  UIKit                           0x33a3f694 -[UINavigationController _startTransition:fromViewController:toViewController:] + 60
16  UIKit                           0x33a3f57c -[UINavigationController _startDeferredTransitionIfNeeded:] + 320
17  UIKit                           0x33a2db56 -[UINavigationController pushViewController:transition:forceImmediate:] + 854
18  UIKit                           0x33a2d7f6 -[UINavigationController pushViewController:animated:] + 34
19  MyApp                           0x000b91dc -[ExhibitorDetailsViewController contractLoadButton:] (ExhibitorDetailsViewController.m:680)
20  UIKit                           0x33ab7082 -[UIApplication sendAction:to:from:forEvent:] + 66
21  UIKit                           0x33ab7036 -[UIApplication sendAction:toTarget:fromSender:forEvent:] + 26
22  UIKit                           0x33ab7010 -[UIControl sendAction:to:forEvent:] + 40
23  UIKit                           0x33ab68c6 -[UIControl(Internal) _sendActionsForEvents:withEvent:] + 498
24  UIKit                           0x33ab6db4 -[UIControl touchesEnded:withEvent:] + 484
25  UIKit                           0x339df5f4 -[UIWindow _sendTouchesForEvent:] + 520
26  UIKit                           0x339cc8dc -[UIApplication sendEvent:] + 376
27  UIKit                           0x339cc1ea _UIApplicationHandleEvent + 6194
28  GraphicsServices                0x356c05f2 _PurpleEventCallback + 586
29  GraphicsServices                0x356c0222 PurpleEventCallback + 30
30  CoreFoundation                  0x31b923e2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 30
31  CoreFoundation                  0x31b92386 __CFRunLoopDoSource1 + 134
32  CoreFoundation                  0x31b9120a __CFRunLoopRun + 1378
33  CoreFoundation                  0x31b04238 CFRunLoopRunSpecific + 352
34  CoreFoundation                  0x31b040c4 CFRunLoopRunInMode + 100
35  GraphicsServices                0x356bf336 GSEventRunModal + 70
36  UIKit                           0x33a202b4 UIApplicationMain + 1116
37  MyApp                           0x00095e02 main (main.m:15)
38  libdyld.dylib                   0x39e84b1c start + 0


Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libsystem_kernel.dylib          0x39f4a838 __kill + 8
1   MyApp                           0x00107ed0 TFHandleExceptions + 988
2   CoreFoundation                  0x31bbd6cc __handleUncaughtException + 624
3   libobjc.A.dylib                 0x39a57a46 _objc_terminate() + 126
4   libc++abi.dylib                 0x394a4118 safe_handler_caller(void (*)()) + 76
5   libc++abi.dylib                 0x394a41b0 std::terminate() + 16
6   libc++abi.dylib                 0x394a5626 __cxa_rethrow + 90
7   libobjc.A.dylib                 0x39a579b0 objc_exception_rethrow + 8
8   CoreFoundation                  0x31b0429c CFRunLoopRunSpecific + 452
9   CoreFoundation                  0x31b040c4 CFRunLoopRunInMode + 100
10  GraphicsServices                0x356bf336 GSEventRunModal + 70
11  UIKit                           0x33a202b4 UIApplicationMain + 1116
12  MyApp                           0x00095e02 main (main.m:15)
13  libdyld.dylib                   0x39e84b1c start + 0

Thread 1 name:  Dispatch queue: com.apple.libdispatch-manager
Thread 1:
0   libsystem_kernel.dylib          0x39f3b5d0 kevent64 + 24
1   libdispatch.dylib               0x39e76d22 _dispatch_mgr_invoke + 806
2   libdispatch.dylib               0x39e72374 _dispatch_mgr_thread + 32

Thread 2 name:  WebThread
Thread 2:
0   libsystem_kernel.dylib          0x39f4b0fc __psynch_mutexwait + 24
1   libsystem_c.dylib               0x39e93e66 pthread_mutex_lock + 390
2   WebCore                         0x37aea2b8 _WebTryThreadLock(bool) + 184
3   WebCore                         0x37aea1e8 WebRunLoopLock(__CFRunLoopObserver*, unsigned long, void*) + 40
4   CoreFoundation                  0x31b9293e __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 18
5   CoreFoundation                  0x31b90c34 __CFRunLoopDoObservers + 272
6   CoreFoundation                  0x31b91076 __CFRunLoopRun + 974
7   CoreFoundation                  0x31b04238 CFRunLoopRunSpecific + 352
8   CoreFoundation                  0x31b040c4 CFRunLoopRunInMode + 100
9   WebCore                         0x37ae8390 RunWebThread(void*) + 440
10  libsystem_c.dylib               0x39ea40de _pthread_start + 306
11  libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 3 name:  com.apple.NSURLConnectionLoader
Thread 3:
0   libsystem_kernel.dylib          0x39f3ae30 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x39f3afd0 mach_msg + 48
2   CoreFoundation                  0x31b922b6 __CFRunLoopServiceMachPort + 126
3   CoreFoundation                  0x31b9102c __CFRunLoopRun + 900
4   CoreFoundation                  0x31b04238 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x31b040c4 CFRunLoopRunInMode + 100
6   Foundation                      0x32451888 +[NSURLConnection(Loader) _resourceLoadLoop:] + 304
7   Foundation                      0x324d522c __NSThread__main__ + 968
8   libsystem_c.dylib               0x39ea40de _pthread_start + 306
9   libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 4:
0   libsystem_kernel.dylib          0x39f3ae30 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x39f3afd0 mach_msg + 48
2   CoreFoundation                  0x31b922b6 __CFRunLoopServiceMachPort + 126
3   CoreFoundation                  0x31b9102c __CFRunLoopRun + 900
4   CoreFoundation                  0x31b04238 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x31b040c4 CFRunLoopRunInMode + 100
6   Foundation                      0x324285be -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7   Foundation                      0x324cbc40 -[NSRunLoop(NSRunLoop) run] + 76
8   MyApp                           0x0011cf4c -[TFNetworkManager networkRunLoopThreadEntry] + 120
9   Foundation                      0x324d522c __NSThread__main__ + 968
10  libsystem_c.dylib               0x39ea40de _pthread_start + 306
11  libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 5 name:  com.apple.CFSocket.private
Thread 5:
0   libsystem_kernel.dylib          0x39f4b594 __select + 20
1   CoreFoundation                  0x31b96474 __CFSocketManager + 676
2   libsystem_c.dylib               0x39ea40de _pthread_start + 306
3   libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 6 name:  JavaScriptCore::BlockFree
Thread 6:
0   libsystem_kernel.dylib          0x39f4b08c __psynch_cvwait + 24
1   libsystem_c.dylib               0x39e9cafc _pthread_cond_wait + 644
2   libsystem_c.dylib               0x39e9c870 pthread_cond_timedwait + 40
3   JavaScriptCore                  0x35ab5df6 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 102
4   JavaScriptCore                  0x35bc8532 JSC::BlockAllocator::blockFreeingThreadMain() + 78
5   JavaScriptCore                  0x35bdb030 WTF::wtfThreadEntryPoint(void*) + 12
6   libsystem_c.dylib               0x39ea40de _pthread_start + 306
7   libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 7 name:  JavaScriptCore::Marking
Thread 7:
0   libsystem_kernel.dylib          0x39f4b08c __psynch_cvwait + 24
1   libsystem_c.dylib               0x39e9cafc _pthread_cond_wait + 644
2   libsystem_c.dylib               0x39ea6cf8 pthread_cond_wait + 36
3   JavaScriptCore                  0x35b5b6dc JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 140
4   JavaScriptCore                  0x35b5b620 JSC::MarkStackThreadSharedData::markingThreadMain() + 140
5   JavaScriptCore                  0x35bdb030 WTF::wtfThreadEntryPoint(void*) + 12
6   libsystem_c.dylib               0x39ea40de _pthread_start + 306
7   libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 8:
0   libsystem_kernel.dylib          0x39f3ae30 mach_msg_trap + 20
1   libsystem_kernel.dylib          0x39f3afd0 mach_msg + 48
2   CoreFoundation                  0x31b922b6 __CFRunLoopServiceMachPort + 126
3   CoreFoundation                  0x31b9102c __CFRunLoopRun + 900
4   CoreFoundation                  0x31b04238 CFRunLoopRunSpecific + 352
5   CoreFoundation                  0x31b040c4 CFRunLoopRunInMode + 100
6   Foundation                      0x324285be -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7   Foundation                      0x324cbc40 -[NSRunLoop(NSRunLoop) run] + 76
8   MyApp                           0x0012e308 +[AFURLConnectionOperation networkRequestThreadEntryPoint:] + 120
9   Foundation                      0x324d522c __NSThread__main__ + 968
10  libsystem_c.dylib               0x39ea40de _pthread_start + 306
11  libsystem_c.dylib               0x39ea3fa4 thread_start + 4

Thread 9:
0   libsystem_kernel.dylib          0x39f4bd98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x39e99ad6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x39e997f2 _pthread_wqthread + 362
3   libsystem_c.dylib               0x39e99680 start_wqthread + 4

Thread 10:
0   libsystem_kernel.dylib          0x39f4bd98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x39e99ad6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x39e997f2 _pthread_wqthread + 362
3   libsystem_c.dylib               0x39e99680 start_wqthread + 4

Thread 11:
0   libsystem_kernel.dylib          0x39f4bd98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x39e99ad6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x39e997f2 _pthread_wqthread + 362
3   libsystem_c.dylib               0x39e99680 start_wqthread + 4

Thread 12:
0   libsystem_kernel.dylib          0x39f4bd98 __workq_kernreturn + 8
1   libsystem_c.dylib               0x39e99ad6 _pthread_workq_return + 14
2   libsystem_c.dylib               0x39e997f2 _pthread_wqthread + 362
3   libsystem_c.dylib               0x39e99680 start_wqthread + 4

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000001      r3: 0x3ba42fc8
    r4: 0xffffffff    r5: 0x2fd6c311      r6: 0x2fd6c310      r7: 0x2fd6c9e0
    r8: 0x2fd6c340    r9: 0x3ba38898     r10: 0x2fd6c318     r11: 0x00000015
    ip: 0x00000025    sp: 0x2fd6c2fc      lr: 0x00107ed5      pc: 0x39f4a838
  cpsr: 0x00080010

Code which is crashing :

- (void)_sendData:(NSDictionary *)data responseCallback:(WVJBResponseCallback)responseCallback handlerName:(NSString*)handlerName {
    NSMutableDictionary* message = [NSMutableDictionary dictionaryWithObject:data forKey:@"data"];

    if (responseCallback) {
        NSString* callbackId = [NSString stringWithFormat:@"objc_cb_%ld", ++_uniqueId];
        _responseCallbacks[callbackId] = [responseCallback copy];
        message[@"callbackId"] = callbackId;
    }

    if (handlerName) {
        message[@"handlerName"] = handlerName;
    }
    [self _queueMessage:message];
}
ios
objective-c
xcode
crash
crash-reports
asked on Stack Overflow Oct 30, 2013 by GuybrushThreepwood • edited Oct 30, 2013 by GuybrushThreepwood

1 Answer

1

The crash happens in the file WebViewJavascriptBridge.m in line 95 in the method [WebViewJavascriptBridge _sendData:responseCallback:handlerName:].

That line causes an exception in [__NSPlaceholderDictionary initWithObjects:forKeys:count:]. Since the exception message isn't shown in the crash report, and you don't provide any source code of that place we can only assume what is happening.

One assumption would be, your are creating a dictionary with nil values or keys. But without code or you actually debugging this, this is only an assumption.

answered on Stack Overflow Oct 30, 2013 by Kerni

User contributions licensed under CC BY-SA 3.0