2012-04-25 3 views
1

내 iPad 응용 프로그램은 최근에 iOS 시뮬레이터에서 실행되는 동안 신비한 SIGKILL 신호를 수신하고 있습니다. 애플리케이션 출시 후 2 분 이내에 발생하는 것으로 보이지만 매회 그렇지는 않습니다.시뮬레이터에서 실행중인 iPad 응용 프로그램의 신비한 SIGKILL

이 백 트레이스가 무엇을 나타낼 수 있습니까? 아니면 범인을 찾을 때까지 제거하려고 시도해야합니까?

관련 될 수있는 몇 가지 구성 요소가 있습니다. 한 예로 최근에 Crashlytics를 통합했습니다. 또 다른 예는 CLGeocoder를 사용하여 MKMapView에서 위치를 플로팅 한 것입니다.이 점은 실행 후 미확인 지점에서 문제가 발생하는 이유와 왜 그 중 하나에 MapKit이 표시되는지 설명 할 수 있습니다. 그러나 백 트레이스 나 로그에서 더 명확하게 표시하지 않으면 어둠 속에서 촬영하고 있습니다.

Xcode 4.3.2; 대상 아이폰 OS 5

* thread #1: tid = 0x1f03, 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10, stop reason = signal SIGKILL 
    frame #0: 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #1: 0x9c2c41f6 libsystem_kernel.dylib`mach_msg + 70 
    frame #2: 0x0178110a CoreFoundation`__CFRunLoopServiceMachPort + 186 
    frame #3: 0x016e4550 CoreFoundation`__CFRunLoopRun + 1312 
    frame #4: 0x016e3d84 CoreFoundation`CFRunLoopRunSpecific + 212 
    frame #5: 0x016e3c9b CoreFoundation`CFRunLoopRunInMode + 123 
    frame #6: 0x015af7d8 GraphicsServices`GSEventRunModal + 190 
    frame #7: 0x015af88a GraphicsServices`GSEventRun + 103 
    frame #8: 0x00394626 UIKit`UIApplicationMain + 1163 
    frame #9: 0x00001d4d Tablecloth`main + 141 at main.m:16 
    frame #10: 0x00001cb5 Tablecloth`start + 53 

    thread #3: tid = 0x2403, 0x9c2c790a libsystem_kernel.dylib`kevent + 10 
    frame #0: 0x9c2c790a libsystem_kernel.dylib`kevent + 10 
    frame #1: 0x020b9372 libdispatch.dylib`_dispatch_mgr_invoke + 918 
    frame #2: 0x020b7be1 libdispatch.dylib`_dispatch_mgr_thread + 53 

    thread #5: tid = 0x2603, 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #0: 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #1: 0x9c2c41f6 libsystem_kernel.dylib`mach_msg + 70 
    frame #2: 0x0178110a CoreFoundation`__CFRunLoopServiceMachPort + 186 
    frame #3: 0x016e45d5 CoreFoundation`__CFRunLoopRun + 1445 
    frame #4: 0x016e3d84 CoreFoundation`CFRunLoopRunSpecific + 212 
    frame #5: 0x016e3c9b CoreFoundation`CFRunLoopRunInMode + 123 
    frame #6: 0x03ede420 WebCore`_ZL12RunWebThreadPv + 560 
    frame #7: 0x93ebced9 libsystem_c.dylib`_pthread_start + 335 

    thread #6: tid = 0x2703, 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #0: 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #1: 0x9c2c41f6 libsystem_kernel.dylib`mach_msg + 70 
    frame #2: 0x0178110a CoreFoundation`__CFRunLoopServiceMachPort + 186 
    frame #3: 0x016e45d5 CoreFoundation`__CFRunLoopRun + 1445 
    frame #4: 0x016e3d84 CoreFoundation`CFRunLoopRunSpecific + 212 
    frame #5: 0x016e3c9b CoreFoundation`CFRunLoopRunInMode + 123 
    frame #6: 0x00d94e30 Foundation`+[NSURLConnection(Loader) _resourceLoadLoop:] + 398 
    frame #7: 0x00ca64d6 Foundation`-[NSThread main] + 76 
    frame #8: 0x00ca6447 Foundation`__NSThread__main__ + 1258 
    frame #9: 0x93ebced9 libsystem_c.dylib`_pthread_start + 335 

    thread #7: tid = 0x2803, 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #0: 0x9c2c4c22 libsystem_kernel.dylib`mach_msg_trap + 10 
    frame #1: 0x9c2c41f6 libsystem_kernel.dylib`mach_msg + 70 
    frame #2: 0x0178110a CoreFoundation`__CFRunLoopServiceMachPort + 186 
    frame #3: 0x016e45d5 CoreFoundation`__CFRunLoopRun + 1445 
    frame #4: 0x016e3d84 CoreFoundation`CFRunLoopRunSpecific + 212 
    frame #5: 0x016e3c9b CoreFoundation`CFRunLoopRunInMode + 123 
    frame #6: 0x0012286b MapKit`MKNormalizedPointForLayer + 30057 
    frame #7: 0x00ca64d6 Foundation`-[NSThread main] + 76 
    frame #8: 0x00ca6447 Foundation`__NSThread__main__ + 1258 
    frame #9: 0x93ebced9 libsystem_c.dylib`_pthread_start + 335 

    thread #8: tid = 0x2903, 0x9c2c6b42 libsystem_kernel.dylib`select$DARWIN_EXTSN + 10 
    frame #0: 0x9c2c6b42 libsystem_kernel.dylib`select$DARWIN_EXTSN + 10 
    frame #1: 0x017157cb CoreFoundation`__CFSocketManager + 939 
    frame #2: 0x93ebced9 libsystem_c.dylib`_pthread_start + 335 

    thread #9: tid = 0x2a03, 0x9c2c702e libsystem_kernel.dylib`__workq_kernreturn + 10 
    frame #0: 0x9c2c702e libsystem_kernel.dylib`__workq_kernreturn + 10 
    frame #1: 0x93ebeccf libsystem_c.dylib`_pthread_wqthread + 773 

편집 : Crashlytics 지원팀이 디버깅 나에게 도움이, 그리고 그것을 해결하기 위해 듯 것은 시뮬레이터 응용 프로그램에서 메뉴 항목 "... 콘텐츠 및 설정 재설정"를 사용하는 것이 었습니다. 왜 이런 일이 발생했는지는 명확하지 않지만 더 이상 디버깅 중단이 발생하지는 않습니다.

답변

3

SIGKILL은 일반적으로 사용자가 OS에 의해 사망했다고 제안합니다. 콘솔 로그는 스택 추적보다 유용 할 것입니다. 그것은 장치에 있다면, 나는 너무 많은 메모리를 사용하여 의심,하지만 그것은 시뮬레이터에서 매우 가능성이 낮습니다. 다른 일반적인 SIGKILL은 주 스레드를 너무 오랫동안 차단하면 (즉, 시뮬레이터에서 제공 한 것 같지는 않지만) 그렇게 보일 것입니다.

가장 적합한 곳은 실행 로그입니다.

+0

응답 해 주셔서 감사합니다. 실행 로그에서 볼 수있는 유일한 점은 지오 코딩이 완료되면 NSLog가 "updateMap"입니다. 나는 이것이 일반적인 앱 위임 메소드를 구현하여 그들이 길을 따라 호출되는지 확인하는 좋은 시간이라고 생각한다. Instruments에서 실행할 때 메모리 풋 프린트는 약 6MB였습니다. ARC를 사용하고 있습니다. – bneely

+0

아아아, 방금 NSLogs를 몇 가지 일반적인 응용 프로그램 대리인 메서드에 추가했습니다. 문제가 재현되어 SIGKILL 이전에 (applicationDidReceiveMemoryWarning :를 포함하여) 해당 메서드가 호출되지 않았습니다. – bneely

+0

"차단 된 주 스레드"SIGKILL은 백 트레이스에서 실행중인 주 스레드를 표시합니까? (그게 내가 기대하는 것이고, 알아내는 것이 상대적으로 쉽다.) – bneely

관련 문제