Reputation: 21154
My application crashes when I try to scroll the tableview very fast or reload the data from remote. Everything seems to be working fine, when I let the remote fetch happen first and then scroll the tableview. I have no idea what the crash log below means. It just works fine sometimes and crashes sometime.
Incident Identifier: 710A120C-97E3-45C8-A7B2-E6A7BD98BC1A
CrashReporter Key: 8bd54d8428128b9e6b8c04d59b86c40cccf33457
Hardware Model: iPhone5,2
Process: MyApp [5294]
Path: /var/mobile/Applications/B6ED5B19-B8D7-4146-90A2-F709AE35292F/MyApp.app/MyApp
Identifier: MyApp
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-02-26 16:45:27.693 +0200
OS Version: iOS 6.1.2 (10B146)
Report Version: 104
Exception Type: EXC_CRASH (SIGSEGV)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Crashed Thread: 1
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libobjc.A.dylib 0x3c3f658a _cache_getImp + 10
1 libobjc.A.dylib 0x3c3f6fa0 lookUpMethod + 24
2 libobjc.A.dylib 0x3c3f81e2 class_respondsToSelector + 26
3 CoreFoundation 0x3470a750 objectIsKindOfClass + 32
4 CoreFoundation 0x3470a49c __handleUncaughtException + 64
5 libobjc.A.dylib 0x3c3fba46 _objc_terminate() + 126
6 libc++abi.dylib 0x3be48118 safe_handler_caller(void (*)()) + 76
7 libc++abi.dylib 0x3be481b0 std::terminate() + 16
8 libc++abi.dylib 0x3be49626 __cxa_rethrow + 90
9 libobjc.A.dylib 0x3c3fb9b0 objc_exception_rethrow + 8
10 CoreFoundation 0x3465129c CFRunLoopRunSpecific + 452
11 CoreFoundation 0x346510c4 CFRunLoopRunInMode + 100
12 GraphicsServices 0x3822f336 GSEventRunModal + 70
13 UIKit 0x3656d2b4 UIApplicationMain + 1116
14 MyApp 0x000910a2 0x44000 + 315554
15 MyApp 0x0004668c 0x44000 + 9868
Thread 1 name: Dispatch queue: com.apple.libdispatch-manager
Thread 1 Crashed:
0 libsystem_kernel.dylib 0x3c8df5d0 kevent64 + 24
1 libdispatch.dylib 0x3c81ad22 _dispatch_mgr_invoke + 806
2 libdispatch.dylib 0x3c816374 _dispatch_mgr_thread + 32
Thread 2 name: WebThread
Thread 2:
0 libsystem_kernel.dylib 0x3c8dee30 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3c8defd0 mach_msg + 48
2 CoreFoundation 0x346df2b6 __CFRunLoopServiceMachPort + 126
3 CoreFoundation 0x346de02c __CFRunLoopRun + 900
4 CoreFoundation 0x34651238 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x346510c4 CFRunLoopRunInMode + 100
6 WebCore 0x3a650390 RunWebThread(void*) + 440
7 libsystem_c.dylib 0x3c8480de _pthread_start + 306
8 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 3 name: com.apple.NSURLConnectionLoader
Thread 3:
0 libsystem_kernel.dylib 0x3c8dee30 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3c8defd0 mach_msg + 48
2 CoreFoundation 0x346df2b6 __CFRunLoopServiceMachPort + 126
3 CoreFoundation 0x346de02c __CFRunLoopRun + 900
4 CoreFoundation 0x34651238 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x346510c4 CFRunLoopRunInMode + 100
6 Foundation 0x34f9e888 +[NSURLConnection(Loader) _resourceLoadLoop:] + 304
7 Foundation 0x3502222c __NSThread__main__ + 968
8 libsystem_c.dylib 0x3c8480de _pthread_start + 306
9 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 4:
0 libsystem_kernel.dylib 0x3c8efd98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3c83dad6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3c83d7f2 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3c83d680 start_wqthread + 4
Thread 5:
0 libsystem_kernel.dylib 0x3c8dee30 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3c8defd0 mach_msg + 48
2 CoreFoundation 0x346df2b6 __CFRunLoopServiceMachPort + 126
3 CoreFoundation 0x346de02c __CFRunLoopRun + 900
4 CoreFoundation 0x34651238 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x346510c4 CFRunLoopRunInMode + 100
6 Foundation 0x34f755be -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7 Foundation 0x35018c40 -[NSRunLoop(NSRunLoop) run] + 76
8 MyApp 0x0016b900 0x44000 + 1210624
9 Foundation 0x3502222c __NSThread__main__ + 968
10 libsystem_c.dylib 0x3c8480de _pthread_start + 306
11 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 6:
0 libsystem_kernel.dylib 0x3c8dee30 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3c8defd0 mach_msg + 48
2 CoreFoundation 0x346df2b6 __CFRunLoopServiceMachPort + 126
3 CoreFoundation 0x346de02c __CFRunLoopRun + 900
4 CoreFoundation 0x34651238 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x346510c4 CFRunLoopRunInMode + 100
6 Foundation 0x34f755be -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 250
7 Foundation 0x35018c40 -[NSRunLoop(NSRunLoop) run] + 76
8 MyApp 0x000e63d0 0x44000 + 664528
9 Foundation 0x3502222c __NSThread__main__ + 968
10 libsystem_c.dylib 0x3c8480de _pthread_start + 306
11 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 7 name: com.apple.CFSocket.private
Thread 7:
0 libsystem_kernel.dylib 0x3c8ef594 __select + 20
1 CoreFoundation 0x346e3474 __CFSocketManager + 676
2 libsystem_c.dylib 0x3c8480de _pthread_start + 306
3 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 8:
0 libsystem_kernel.dylib 0x3c8dee30 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3c8defd0 mach_msg + 48
2 CoreFoundation 0x346df2b6 __CFRunLoopServiceMachPort + 126
3 CoreFoundation 0x346de02c __CFRunLoopRun + 900
4 CoreFoundation 0x34651238 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x346afc46 CFRunLoopRun + 94
6 MyApp 0x00115d7e 0x44000 + 859518
7 Foundation 0x3502222c __NSThread__main__ + 968
8 libsystem_c.dylib 0x3c8480de _pthread_start + 306
9 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 9:
0 libsystem_kernel.dylib 0x3c8efd98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3c83dad6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3c83d7f2 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3c83d680 start_wqthread + 4
Thread 10:
0 libsystem_kernel.dylib 0x3c8efd98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3c83dad6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3c83d7f2 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3c83d680 start_wqthread + 4
Thread 11 name: JavaScriptCore::BlockFree
Thread 11:
0 libsystem_kernel.dylib 0x3c8ef08c __psynch_cvwait + 24
1 libsystem_c.dylib 0x3c840afc _pthread_cond_wait + 644
2 libsystem_c.dylib 0x3c840870 pthread_cond_timedwait + 40
3 JavaScriptCore 0x38625df6 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 102
4 JavaScriptCore 0x38738532 JSC::BlockAllocator::blockFreeingThreadMain() + 78
5 JavaScriptCore 0x3874b030 WTF::wtfThreadEntryPoint(void*) + 12
6 libsystem_c.dylib 0x3c8480de _pthread_start + 306
7 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 12 name: JavaScriptCore::Marking
Thread 12:
0 libsystem_kernel.dylib 0x3c8ef08c __psynch_cvwait + 24
1 libsystem_c.dylib 0x3c840afc _pthread_cond_wait + 644
2 libsystem_c.dylib 0x3c84acf8 pthread_cond_wait + 36
3 JavaScriptCore 0x386cb6dc JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 140
4 JavaScriptCore 0x386cb620 JSC::MarkStackThreadSharedData::markingThreadMain() + 140
5 JavaScriptCore 0x3874b030 WTF::wtfThreadEntryPoint(void*) + 12
6 libsystem_c.dylib 0x3c8480de _pthread_start + 306
7 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 13 name: WebCore: CFNetwork Loader
Thread 13:
0 libsystem_kernel.dylib 0x3c8dee30 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x3c8defd0 mach_msg + 48
2 CoreFoundation 0x346df2b6 __CFRunLoopServiceMachPort + 126
3 CoreFoundation 0x346de02c __CFRunLoopRun + 900
4 CoreFoundation 0x34651238 CFRunLoopRunSpecific + 352
5 CoreFoundation 0x346510c4 CFRunLoopRunInMode + 100
6 WebCore 0x3a6eaccc WebCore::runLoaderThread(void*) + 140
7 JavaScriptCore 0x3874b030 WTF::wtfThreadEntryPoint(void*) + 12
8 libsystem_c.dylib 0x3c8480de _pthread_start + 306
9 libsystem_c.dylib 0x3c847fa4 thread_start + 4
Thread 14:
0 libsystem_kernel.dylib 0x3c8efd98 __workq_kernreturn + 8
1 libsystem_c.dylib 0x3c83dad6 _pthread_workq_return + 14
2 libsystem_c.dylib 0x3c83d7f2 _pthread_wqthread + 362
3 libsystem_c.dylib 0x3c83d680 start_wqthread + 4
Thread 1 crashed with ARM Thread State (32-bit):
r0: 0x00000004 r1: 0x00000000 r2: 0x00000000 r3: 0x0042c714
r4: 0x00000001 r5: 0x00000000 r6: 0x0042c744 r7: 0x0042c764
r8: 0x00000000 r9: 0x0042c6c8 r10: 0x3e3a2188 r11: 0x00000002
ip: 0x00000171 sp: 0x0042c6d0 lr: 0x3c81ad27 pc: 0x3c8df5d0
cpsr: 0x60000010
I would be really happy if anybody could explain me what this crash log could relate to and how I could solve it. Many many thanks to all those who are willing to help others.
Upvotes: 4
Views: 11262
Reputation: 3400
Seems to me that it's dangling pointer, and you're sending message to it. As MikeD said, use breakpoint on exception if it can help. But it's not 100% reliable since you get a SIGSEGV and not a SIGABRT. And the exception throw is not really the cause of the crash, just a border effect.
Edit
Ok: In your log crash, it says that libsystem_kernel.dylib has crashed in a kevent call. That won't help you since this is private and opaque, and you can be 100% sure this lib do its job well. This can appears because you have used (unintentionally) a space memory where you should not write into. Like with a dangling pointer. Let's say you have allocated memory to 0x2000 and you have a pointer pointing to this memory, if you freed the memory but still using this pointer to this address, if someone else (like libsystem_kernel) use it, and you change some data in the same time (because of your dangling pointer). Then the other side will use data corrupted, and some random behavior will occur. That's why if you analyze literally your crash log, you'll do wrong statement. Because kevent from libSystem is stable.
By the way you have thread 1 who crashed, but look into thread 0, it was trying to raise an exception too, but it didn't get time to do it. This can occur because of data corrupted too.
That's why I recommend you to make another crash, and compare it to this one. If the crash log are the same, then i was totally wrong. If the crash log are different, this is a dangling pointer.
Upvotes: 4