ios - 未知的崩溃原因(附有 CrashReport)SIGTRAP。 AF网络?

标签 ios ios5 ios6 crash-reports plcrashreporter

我在 AppStore 中的应用程序中不断发生这些崩溃。 CrashReport 总是看起来像这样:

Incident Identifier: 986486D7-F013-4102-B9E3-84F923223914
CrashReporter Key:   [TODO]
Hardware Model:      iPhone4,1
Process:         MyApp [57885]
Path:            /Users/USER/MyApp.app/MyApp
Identifier:      de.myapp.iphone
Version:         12475
Code Type:       ARM
Parent Process:  launchd [1]

Date/Time:       2012-12-20 15:48:53 +0000
OS Version:      iPhone OS 6.0.1 (10A523)
Report Version:  104

Exception Type:  SIGTRAP
Exception Codes: #0 at 0x3abd62be
Crashed Thread:  0

Thread 0 Crashed:
0   CoreFoundation                      0x363582be CFRelease + 18
1   WebCore                             0x383de395 WebCore::stopSharedTimer() + 33
2   WebCore                             0x38433515 WebCore::TimerBase::~TimerBase() + 45
3   WebCore                             0x3846003b WebCore::Document::~Document() + 2751
4   WebCore                             0x3845f56d WebCore::HTMLDocument::~HTMLDocument() + 81
5   WebCore                             0x384e9473 WebCore::JSNodeOwner::finalize(JSC::Handle<JSC::Unknown>, void*) + 79
6   JavaScriptCore                      0x321e2067 JSC::WeakBlock::sweep() + 87
7   JavaScriptCore                      0x321e22ad JSC::WeakSet::sweep() + 53
8   JavaScriptCore                      0x3213d877 JSC::Heap::collect(JSC::Heap::SweepToggle) + 175
9   JavaScriptCore                      0x3213cad9 JSC::DefaultGCActivityCallbackPlatformData::timerDidFire(__CFRunLoopTimer*, void*) + 145
10  CoreFoundation                      0x363ec5df __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 15
11  CoreFoundation                      0x363ec291 __CFRunLoopDoTimer + 273
12  CoreFoundation                      0x363eaf01 __CFRunLoopRun + 1233
13  CoreFoundation                      0x3635debd CFRunLoopRunSpecific + 357
14  CoreFoundation                      0x3635dd49 CFRunLoopRunInMode + 105
15  GraphicsServices                    0x3490e2eb GSEventRunModal + 75
16  UIKit                               0x37b2b2f9 UIApplicationMain + 1121
17  MyApp                               0x00003927 main (main.m:20)

Thread 5:
0   libsystem_kernel.dylib              0x3681feb4 mach_msg_trap + 20
1   CoreFoundation                      0x363ec045 __CFRunLoopServiceMachPort + 129
2   CoreFoundation                      0x363eada3 __CFRunLoopRun + 883
3   CoreFoundation                      0x3635debd CFRunLoopRunSpecific + 357
4   CoreFoundation                      0x3635dd49 CFRunLoopRunInMode + 105
5   Foundation                          0x307f978f -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 255
6   Foundation                          0x3089d05d -[NSRunLoop(NSRunLoop) run] + 81
7   MyApp                               0x000c3225 +[AFURLConnectionOperation networkRequestThreadEntryPoint:] (AFURLConnectionOperation.m:157)
8   Foundation                          0x308a667d __NSThread__main__ + 973
9   libsystem_c.dylib                   0x33ab5311 _pthread_start + 309

Thread 6:
0   libsystem_kernel.dylib              0x3681feb4 mach_msg_trap + 20
1   CoreFoundation                      0x363ec045 __CFRunLoopServiceMachPort + 129
2   CoreFoundation                      0x363eada3 __CFRunLoopRun + 883
3   CoreFoundation                      0x3635debd CFRunLoopRunSpecific + 357
4   CoreFoundation                      0x3635dd49 CFRunLoopRunInMode + 105
5   Foundation                          0x30822bcd +[NSURLConnection(Loader) _resourceLoadLoop:] + 309
6   Foundation                          0x308a667d __NSThread__main__ + 973
7   libsystem_c.dylib                   0x33ab5311 _pthread_start + 309

Thread 7:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 8:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 10:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 13:
0   libsystem_kernel.dylib              0x3682239c pread + 20
1   libsqlite3.dylib                    0x33978109 sqlite3_get_table + 125
2   libsqlite3.dylib                    0x339772a7 sqlite3_get_table + 125
3   libsqlite3.dylib                    0x33d25fb1 0x33cde000 + 294833
4   libsqlite3.dylib                    0x33d13807 0x33cde000 + 219143
5   libsqlite3.dylib                    0x33d0d49d 0x33cde000 + 193693
6   libsqlite3.dylib                    0x3398648f sqlite3_step + 2143
7   CFNetwork                           0x3138276b __CFURLCache::DoBulkLookupAndStoreBasedOnTime(__CFString const*) + 459
8   CFNetwork                           0x313c4667 __ExecuteSQLSelectAndCreateResponse_block_invoke_0 + 35
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 17:
0   libsystem_kernel.dylib              0x3683008c __psynch_cvwait + 24
1   libsystem_c.dylib                   0x33aadaa5 pthread_cond_timedwait + 45
2   JavaScriptCore                      0x320d6c75 WTF::ThreadCondition::timedWait(WTF::Mutex&, double) + 109
3   JavaScriptCore                      0x321e8557 JSC::BlockAllocator::blockFreeingThreadMain() + 83
4   JavaScriptCore                      0x321fafab _ZN3WTFL19wtfThreadEntryPointEPv + 15
5   libsystem_c.dylib                   0x33ab5311 _pthread_start + 309

Thread 18:
0   libsystem_kernel.dylib              0x3683008c __psynch_cvwait + 24
1   libsystem_c.dylib                   0x33ab7f19 pthread_cond_wait + 41
2   JavaScriptCore                      0x3217bf41 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 149
3   JavaScriptCore                      0x3217be81 JSC::MarkStackThreadSharedData::markingThreadMain() + 145
4   JavaScriptCore                      0x321fafab _ZN3WTFL19wtfThreadEntryPointEPv + 15
5   libsystem_c.dylib                   0x33ab5311 _pthread_start + 309

Thread 22:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 25:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 43:
0   libsystem_kernel.dylib              0x3682239c pread + 20
1   libsqlite3.dylib                    0x33978109 sqlite3_get_table + 125
2   libsqlite3.dylib                    0x339772a7 sqlite3_get_table + 125
3   libsqlite3.dylib                    0x33d25fb1 0x33cde000 + 294833
4   libsqlite3.dylib                    0x33d13807 0x33cde000 + 219143
5   libsqlite3.dylib                    0x33d0d49d 0x33cde000 + 193693
6   libsqlite3.dylib                    0x3398648f sqlite3_step + 2143
7   CFNetwork                           0x3138276b __CFURLCache::DoBulkLookupAndStoreBasedOnTime(__CFString const*) + 459
8   CFNetwork                           0x313c4667 __ExecuteSQLSelectAndCreateResponse_block_invoke_0 + 35
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 44:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x31382619 __CFURLCache::DoBulkLookupAndStoreBasedOnTime(__CFString const*) + 121
2   CFNetwork                           0x313c4667 __ExecuteSQLSelectAndCreateResponse_block_invoke_0 + 35
3   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
4   libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
5   libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
6   libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 47:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 49:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 50:
0   libsystem_kernel.dylib              0x368300fc __psynch_mutexwait + 24
1   CFNetwork                           0x3137647f __CFURLCache::ExecuteSQLSelectAndCreateResponse(__CFString const*, bool) + 179
2   CFNetwork                           0x313763b1 __CFURLCache::LookupCachedURLResponse(__CFURLCacheNode*, bool) + 13
3   CFNetwork                           0x31387893 __CFURLCache::CopyResponseForRequest(_CFURLRequest const*, bool) + 231
4   CFNetwork                           0x313c2ee1 __CFURLCacheCopyResponseForRequestInternal(_CFURLCache const*, _CFURLRequest const*, unsigned char) + 33
5   CFNetwork                           0x313fe8bd ___loaderEvent_StartLoad_block_invoke_0 + 45
6   CFNetwork                           0x3141e657 ConnectionSession::withStorageSession(void ( block_pointer)(StorageSession const*)) const + 83
7   CFNetwork                           0x313ff9d5 __withStorageSessionAsync_block_invoke_0 + 17
8   CFNetwork                           0x313d3639 __withConnectionSessionAsync_block_invoke_0 + 17
9   libdispatch.dylib                   0x3807711f _dispatch_call_block_and_release + 11
10  libdispatch.dylib                   0x3807b961 _dispatch_root_queue_drain + 253
11  libdispatch.dylib                   0x3807bac1 _dispatch_worker_thread2 + 85
12  libsystem_c.dylib                   0x33aaaa11 _pthread_wqthread + 361

Thread 51:
0   libsystem_kernel.dylib              0x36830d98 __workq_kernreturn + 8
1   libsystem_c.dylib                   0x33aaaa16 _pthread_wqthread + 366

Thread 0 crashed with ARM Thread State:
    r0: 0x00000000     r1: 0x5df80157     r2: 0x1ddd4000     r3: 0x38596026 
    r4: 0x3be2c86c     r5: 0x00000000     r6: 0x00000000     r7: 0x2fd1be1c 
    r8: 0x00000000     r9: 0x00293498    r10: 0x00388800    r11: 0x04432d90 
    ip: 0x3bd68a50     sp: 0x2fd1bde8     lr: 0x368ba395     pc: 0x3abd62be 
  cpsr: 0x60000030 

我基本上是在 UIViewController 中使用 AFJSONRequestOperation,它已被推送到 NavigationController 以获取显示其内容的 JSON。 是 AFNetworking 导致崩溃(在线程 5 中)吗?或者它可能是我的代码中的一个缺陷?我真的卡住了,而且这种情况经常发生。非常感谢任何帮助或问题!

最佳答案

根据崩溃,这不是线程 5 的问题;这是线程 0 中的问题。

Brian 在他的博文中添加了一些关于计时器如何在 webkit 中运行的背景信息。

http://brrian.tumblr.com/post/13951629341/how-webkits-event-model-works

有趣的是,问题操作系统是 6.0.1,而不是较新的 6.1 版本,也不是 7.x(截至撰写本文时)。

崩溃发生在 CFRelease 期间,这往往发生在资源已被释放时。我的建议是查看问题是否发生在任何较新的操作系统上,因为它听起来像是 WebKit 错误。 Webkit 是负责定时器的代码。

无论如何,定时器代码已经被重新处理: https://trac.webkit.org/changeset/143210

所以我认为最好的选择是查看最新的 iOS 或最新的 6.x (6.1) 是否有过此崩溃。

如果做不到这一点,假设您无法重现问题,因为您正在进行网络查询(和数据库查询),当您的网络连接速度慢/不可靠时,计时器出现的经典方式。使用 Apple 的 Network Link Conditioner 来模拟这种情况。这可能会在 WebKit 中显示问题。

关于ios - 未知的崩溃原因(附有 CrashReport)SIGTRAP。 AF网络?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13988037/

相关文章:

ios - 体系结构 x86_64 : "_OBJC_CLASS_$_WKWebView", 的 undefined symbol 引用自:

ios - Firebase 未从 Facebook 捕获电子邮件/电话

iphone - NSURLConnection 没有响应

iphone - 带有 ios5 的 Restkit 和 three20

ios - 在 iOS 设备上访问用户的 iTunes 资料库是否需要许可?

ios - 为什么来自 CocoaPods 的 Acknowledgements.plist 在 iOS 9 上看起来乱七八糟,你能做些什么呢?

objective-c - iOS - 获取目录中文件大小的总和

properties - 嵌入在 UIScrollView 中的 UIImageView 和 UIImage 属性的强或弱声明?

iphone - 如何使用 ScrollView 在一个 View Controller 中设置 15 个文本字段

iphone - startMonitoringSignificantLocationChanges 是否可以终止我的应用程序