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
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)
User contributions licensed under CC BY-SA 3.0