2012-12-21 2 views
15

AppStore에있는 내 앱에서 이러한 충돌이 계속 발생합니다. CrashReport은 항상 다음과 같습니다 : 미안은 기본적으로 해당 내용을 표시하려면 JSON을 가져 오기 위해있는 navigationController으로 푸시 된 UIViewController에,에 AFJSONRequestOperation를 사용알 수없는 충돌 원인 (CrashReport가 연결된 상태) SIGTRAP. AFNetworking?

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 

. AFNetworking이 충돌을 일으 킵니다 (5 번 스레드에서)? 아니면 내 코드의 결함 일 수 있습니까? 나는 정말로 붙어있어 꽤 자주 일어난다. 모든 도움이나 질문을 매우 높이 평가!

+0

충돌을 상징하셨습니까? – Lukas

+0

"Crashed Thread : 0"이라고 표시됩니다. 물론 스레딩은 복잡해지고 어쩌면 이상한 상호 작용이있을 수 있지만 JavaScript가 어려워지는 것 같습니다 ... –

+1

Instruments에서 좀비를 찾으려고 했습니까? 좀비 오브젝트의 역사는 단서를 제공 할 수 있습니다 ... – user1885297

답변

0

일부 광고에서 iTunes가 열렸는지 확인하십시오. 어쩌면 응용 프로그램 초기화시 너무 많은 스레드를 열고 있습니다. 이러한 요청을 대기열에 추가 할 수 있습니다. 그냥 임의의 생각 ..

2

크래시에 따라 스레드 5에 문제가 없습니다; 스레드 0에 문제가 있습니다.

브라이언은 블로그 게시글에 타이머가 웹킷에서 어떻게 작동하는지에 대한 배경 정보를 추가합니다.

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

그 흥미로운 문제 OS가 6.0.1, (기록시 기준)가 아닌 최신 버전 6.1 7.x의도된다.

충돌은 CFRelease 중에 발생하며 리소스가 이미 해제되었을 때 발생합니다. 내 제안은 WebKit 버그처럼 들리는대로 새로운 OS에서 문제가 발생하는지 확인하는 것입니다. Webkit은 타이머를 담당하는 코드입니다.

타이머 코드는 어쨌든 다시 일을하고있다 : https://trac.webkit.org/changeset/

그래서 나는 최선의 선택이 최신 아이폰 OS가이 충돌, 또는 최신 6.x의 (6.1)이 있는지 확인하는 것입니다 생각합니다.

이 문제는 재현 할 수 없다고 가정 할 때 네트워킹 쿼리 (및 DB 쿼리)가 계속 발생하기 때문에 느린/신뢰할 수없는 네트워크 연결이있는 경우 타이머를 사용하는 고전적인 방법이 있습니다. Apple의 Network Link Conditioner를 사용하여 이러한 조건을 시뮬레이션하십시오. 그러면 WebKit에 문제가 나타날 수 있습니다.