iOS crash log: how to make sense of it when the crashing thread has no app frame

0

Please see the crash log below.
The crashing thread 66 and the Last Exception backtrace has no TestApp frame.
Can I conclude that the crash was caused by code that was not written by me?

Note: the TestApp did not symbolicate even though I have the dsym and all, not sure why at this point, by since the thread 66 and the exception backtrace had no references to the TestApp code, I did not spend time on manual symbolication so far.

EDIT: I am using ARC.
EDIT2 : I am using JS in the code also, so this crash might come from there also. Not sure how would show up if that's the case.

Incident Identifier: 5F8D81B8DCE
CrashReporter Key:   a666d85467307431
Hardware Model:      iPad4,4
Process:             TestApp [286]
Path:                /var/mobile/Applications/177CBA10-C0F0-4DEE-85B8-6FAB64BC70E6/TestApp.app/TestApp
Identifier:          com.sample.TestApp
Version:             1.8 (1.8)
Code Type:           ARM (Native)
Parent Process:      launchd [1]

Date/Time:           2014-01-01 18:21:31.055 +0100
OS Version:          iOS 7.0.4 (11B554a)
Report Version:      104

Exception Type:  EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Triggered by Thread:  66

Last Exception Backtrace:
0   CoreFoundation                  0x302f8e83 __exceptionPreprocess + 131
1   libobjc.A.dylib                 0x3a9946c7 objc_exception_throw + 38
2   CoreFoundation                  0x302f8dc5 +[NSException raise:format:] + 112
3   Foundation                      0x30c33d05 -[NSData(NSData) getBytes:range:] + 240
4   CoreFoundation                  0x302512ad CFDataGetBytes + 204
5   ImageIO                         0x31032397 CGImageReadGetBytesAtOffset + 282
6   ImageIO                         0x31032271 CGImageReadSessionGetBytes + 28
7   ImageIO                         0x3104e417 fill_input_buffer + 150
8   ImageIO                         0x3104d7ef read_markers + 150
9   ImageIO                         0x3104d535 consume_markers + 36
10  ImageIO                         0x3104d36d _cg_jpeg_consume_input + 104
11  ImageIO                         0x3104d2db _cg_jpeg_read_header + 42
12  ImageIO                         0x31051249 startDecompressing + 60
13  ImageIO                         0x31050d27 copyImageBlockSetJPEG + 3214
14  ImageIO                         0x31039c8b ImageProviderCopyImageBlockSetCallback + 538
15  CoreGraphics                    0x3038046d CGImageProviderCopyImageBlockSetWithOptions + 136
16  QuartzCore                      0x3272b4e1 CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int) + 680
17  QuartzCore                      0x3272a991 CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double) + 292
18  QuartzCore                      0x3271680b CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1234
19  QuartzCore                      0x3271632d CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 80
20  QuartzCore                      0x32713083 CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2146
21  QuartzCore                      0x327117a1 CA::CG::Queue::render_callback(void*) + 268
22  libdispatch.dylib               0x3ae7de7b _dispatch_queue_drain + 374
23  libdispatch.dylib               0x3ae7af93 _dispatch_queue_invoke + 42
24  libdispatch.dylib               0x3ae7e745 _dispatch_root_queue_drain + 76
25  libdispatch.dylib               0x3ae7e9c5 _dispatch_worker_thread2 + 56
26  libsystem_pthread.dylib         0x3afa8dff _pthread_wqthread + 298
27  libsystem_pthread.dylib         0x3afa8cc4 start_wqthread + 8


Thread 66 Crashed:
0   libsystem_kernel.dylib          0x3af441fc __pthread_kill + 8
1   libsystem_pthread.dylib         0x3afaba4f pthread_kill + 55
2   libsystem_c.dylib               0x3aef5029 abort + 73
3   libc++abi.dylib                 0x3a34398b abort_message + 71
4   libc++abi.dylib                 0x3a35c6e3 default_terminate_handler() + 251
5   libobjc.A.dylib                 0x3a994937 _objc_terminate() + 191
6   libc++abi.dylib                 0x3a35a1b1 std::__terminate(void (*)()) + 77
7   libc++abi.dylib                 0x3a359a05 __cxa_throw + 113
8   libobjc.A.dylib                 0x3a994797 objc_exception_throw + 247
9   CoreFoundation                  0x302f8dc1 +[NSException raise:format:] + 109
10  Foundation                      0x30c33d01 -[NSData(NSData) getBytes:range:] + 237
11  CoreFoundation                  0x302512a9 CFDataGetBytes + 201
12  ImageIO                         0x31032393 CGImageReadGetBytesAtOffset + 279
13  ImageIO                         0x3103226d CGImageReadSessionGetBytes + 25
14  ImageIO                         0x3104e413 fill_input_buffer + 147
15  ImageIO                         0x3104d7ed read_markers + 149
16  ImageIO                         0x3104d533 consume_markers + 35
17  ImageIO                         0x3104d36b _cg_jpeg_consume_input + 103
18  ImageIO                         0x3104d2d7 _cg_jpeg_read_header + 39
19  ImageIO                         0x31051245 startDecompressing + 57
20  ImageIO                         0x31050d23 copyImageBlockSetJPEG + 3211
21  ImageIO                         0x31039c89 ImageProviderCopyImageBlockSetCallback + 537
22  CoreGraphics                    0x3038046b CGImageProviderCopyImageBlockSetWithOptions + 135
23  QuartzCore                      0x3272b4dd CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int) + 677
24  QuartzCore                      0x3272a98d CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double) + 289
25  QuartzCore                      0x32716807 CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1231
26  QuartzCore                      0x32716329 CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 77
27  QuartzCore                      0x32713081 0x326f7000 + 114817
28  QuartzCore                      0x3271179d CA::CG::Queue::render_callback(void*) + 265
29  libdispatch.dylib               0x3ae7de77 _dispatch_queue_drain + 371
30  libdispatch.dylib               0x3ae7af8f _dispatch_queue_invoke + 39
31  libdispatch.dylib               0x3ae7e743 _dispatch_root_queue_drain + 75
32  libdispatch.dylib               0x3ae7e9c1 _dispatch_worker_thread2 + 53
33  libsystem_pthread.dylib         0x3afa8dfd _pthread_wqthread + 297
34  libsystem_pthread.dylib         0x3afa8cc0 start_wqthread + 4

Thread 67:
0   libsystem_kernel.dylib          0x3af44c7c __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x3afa8e07 _pthread_wqthread + 307
2   libsystem_pthread.dylib         0x3afa8cc0 start_wqthread + 4

Thread 66 crashed with ARM Thread State (32-bit):
    r0: 0x00000000    r1: 0x00000000      r2: 0x00000000      r3: 0x3aee7aa9
    r4: 0x00000006    r5: 0x0c2be000      r6: 0x00000000      r7: 0x0c2b76d4
    r8: 0x17d0dcf0    r9: 0x00000001     r10: 0x00000000     r11: 0x3b13fee8
    ip: 0x00000148    sp: 0x0c2b76c8      lr: 0x3afaba53      pc: 0x3af441fc
  cpsr: 0x00000010

Binary Images:
0xb4000 - 0x4c7fff TestApp armv7  <5c0bc5876928328c8f91fdf9b67fa8e7> /var/mobile/Applications/177CBA10-C0F0-4DEE-85B8-6FAB64BC70E6/TestApp.app/TestApp
ios
symbolicatecrash
asked on Stack Overflow Jan 6, 2014 by Zsolt • edited Jan 6, 2014 by Zsolt

1 Answer

0

The problem came from Google Analytics.
Updated from 3.0 to 3.0.2. So it seems that the crash came from an outside library.

2014-01-06 14:58:39.518 TestApp[1099:1403] WARNING: GoogleAnalytics 3.0 void GAIUncaughtExceptionHandler(NSException *) (GAIUncaughtExceptionHandler.m:49): Uncaught exception: *** -[WebCoreSharedBufferData getBytes:range:]: range {0, 4000} exceeds data length 0
2014-01-06 14:58:44.542 TestApp[1099:1403] *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[WebCoreSharedBufferData getBytes:range:]: range {0, 4000} exceeds data length 0'
*** First throw call stack:
(0x30996e83 0x3b0326c7 0x30996dc5 0x312d1d05 0x308ef2ad 0x316d0397 0x316d0271 0x316ec417 0x316eb7ef 0x316eb535 0x316eb36d 0x316eb2db 0x316ef249 0x316eed27 0x316d7c8b 0x30a1e46d 0x32dc94e1 0x32dc8991 0x32db480b 0x32db432d 0x32db1083 0x32daf7a1 0x3b51be7b 0x3b518f93 0x3b51c745 0x3b51c9c5 0x3b646dff 0x3b646cc4)
libc++abi.dylib: terminating with uncaught exception of type NSException
(lldb) bt

    * thread #3: tid = 0x2b343, 0x3b5e21fc libsystem_kernel.dylib`__pthread_kill + 8, queue = 'CA::CG::Queue, stop reason = signal SIGABRT
        frame #0: 0x3b5e21fc libsystem_kernel.dylib`__pthread_kill + 8
        frame #1: 0x3b649a52 libsystem_pthread.dylib`pthread_kill + 58
        frame #2: 0x3b59302c libsystem_c.dylib`abort + 76
        frame #3: 0x3a9e198e libc++abi.dylib`abort_message + 74
        frame #4: 0x3a9fa6e6 libc++abi.dylib`default_terminate_handler() + 254
        frame #5: 0x3b032938 libobjc.A.dylib`_objc_terminate() + 192
        frame #6: 0x3a9f81b2 libc++abi.dylib`std::__terminate(void (*)()) + 78
        frame #7: 0x3a9f7a08 libc++abi.dylib`__cxa_throw + 116
        frame #8: 0x3b03279a libobjc.A.dylib`objc_exception_throw + 250
        frame #9: 0x30996dc4 CoreFoundation`+[NSException raise:format:] + 112
        frame #10: 0x312d1d04 Foundation`-[NSData(NSData) getBytes:range:] + 240
        frame #11: 0x308ef2ac CoreFoundation`CFDataGetBytes + 204
        frame #12: 0x316d0396 ImageIO`CGImageReadGetBytesAtOffset + 282
        frame #13: 0x316d0270 ImageIO`CGImageReadSessionGetBytes + 28
        frame #14: 0x316ec416 ImageIO`fill_input_buffer + 150
        frame #15: 0x316eb7ee ImageIO`read_markers + 150
        frame #16: 0x316eb534 ImageIO`consume_markers + 36
        frame #17: 0x316eb36c ImageIO`_cg_jpeg_consume_input + 104
        frame #18: 0x316eb2da ImageIO`_cg_jpeg_read_header + 42
        frame #19: 0x316ef248 ImageIO`startDecompressing + 60
        frame #20: 0x316eed26 ImageIO`copyImageBlockSetJPEG + 3214
        frame #21: 0x316d7c8a ImageIO`ImageProviderCopyImageBlockSetCallback + 538
        frame #22: 0x30a1e46c CoreGraphics`CGImageProviderCopyImageBlockSetWithOptions + 136
        frame #23: 0x32dc94e0 QuartzCore`CA::Render::create_image(CGImage*, CGColorSpace*, unsigned int) + 680
        frame #24: 0x32dc8990 QuartzCore`CA::Render::copy_image(CGImage*, CGColorSpace*, unsigned int, double) + 292
        frame #25: 0x32db480a QuartzCore`CA::CG::fill_image(CA::CG::Renderer&, CGImage*, CA::Rect const&, CA::Mat2<float> const&, bool, bool, CGInterpolationQuality, CA::Bounds const*) + 1234
        frame #26: 0x32db432c QuartzCore`CA::CG::DrawImage::draw_image(CA::CG::Renderer&, bool) const + 80
        frame #27: 0x32db1082 QuartzCore`CA::CG::DrawOp::render(CA::CG::Renderer&) const + 2146
        frame #28: 0x32daf7a0 QuartzCore`CA::CG::Queue::render_callback(void*) + 268
        frame #29: 0x3b51be7a libdispatch.dylib`_dispatch_queue_drain + 374
        frame #30: 0x3b518f92 libdispatch.dylib`_dispatch_queue_invoke + 42
        frame #31: 0x3b51c744 libdispatch.dylib`_dispatch_root_queue_drain + 76
        frame #32: 0x3b51c9c4 libdispatch.dylib`_dispatch_worker_thread2 + 56
        frame #33: 0x3b646dfe libsystem_pthread.dylib`_pthread_wqthread + 298
        frame #34: 0x3b646cc4 libsystem_pthread.dylib`start_wqthread + 8
    (lldb)
answered on Stack Overflow Jan 6, 2014 by Zsolt • edited Dec 30, 2015 by Pang

User contributions licensed under CC BY-SA 3.0