2017-12-11 39 views
0

최근 파일럿 사용자에게 공개 된 내 앱에서 충돌 로그가 있습니다. Xcode를 통해 볼 때 충돌 로그는 UIKit: -[UIEventFetcher _receiveHIDEventInternal:] + 220을 가리 킵니다.이 문제는 재현 할 수 없으므로이 충돌을 디버깅하는 방법이나 그 원인을 파악하는 데 어려움이 있습니다. 다음은 같은 오류 로그입니다.iOS에서 UIKit이 다운 됨

OS Version:   iPhone OS 11.1.2 
Baseband Version: n/a 
Report Version:  104 

Exception Type: EXC_BAD_ACCESS (SIGSEGV) 
Exception Subtype: KERN_INVALID_ADDRESS at 0x0000000000000030 
VM Region Info: 0x30 is not in any region. Bytes before following region: 4329832400 
     REGION TYPE      START - END    [ VSIZE] PRT/MAX SHRMOD REGION DETAIL 
     UNUSED SPACE AT START 
---> 
     __TEXT     0000000102140000-0000000102144000 [ 16K] r-x/r-x SM=COW ...My App] 

Termination Signal: Segmentation fault: 11 
Termination Reason: Namespace SIGNAL, Code 0xb 
Terminating Process: exc handler [0] 
Triggered by Thread: 1 

Thread 0 name: 
Thread 0: 
0 CoreFoundation     0x000000018597e1c8 -[__NSArrayM insertObject:atIndex:] + 1288 (NSArrayM_Common.h:278) 
1 CoreFoundation     0x000000018597de50 -[__NSArrayM insertObject:atIndex:] + 400 (NSArrayM_Common.h:256) 
2 My App     0x0000000102362bfc CLSExceptionRecordNSException + 404 
3 My App     0x00000001023628a0 CLSTerminateHandler() + 396 
4 libc++abi.dylib     0x0000000184cef54c std::__terminate(void (*)()) + 16 (cxa_handlers.cpp:66) 
5 libc++abi.dylib     0x0000000184cef158 __cxa_rethrow + 144 (cxa_exception.cpp:557) 
6 libobjc.A.dylib     0x0000000184d006e8 objc_exception_rethrow + 44 (objc-exception.mm:559) 
7 CoreFoundation     0x0000000185978024 CFRunLoopRunSpecific + 544 (CFRunLoop.c:3259) 
8 GraphicsServices    0x000000018780ff84 GSEventRunModal + 100 (GSEvent.c:2245) 
9 UIKit       0x000000018ef4c2e8 UIApplicationMain + 208 (UIApplication.m:3949) 
10 My App     0x00000001021ff514 main + 92 (main.m:14) 
11 libdyld.dylib     0x000000018549a56c start + 4 

Thread 1 name: 
Thread 1 Crashed: 
0 CoreFoundation     0x000000018597e1c8 -[__NSArrayM insertObject:atIndex:] + 1288 (NSArrayM_Common.h:278) 
1 CoreFoundation     0x000000018597de50 -[__NSArrayM insertObject:atIndex:] + 400 (NSArrayM_Common.h:256) 
2 UIKit       0x000000018faab55c -[UIEventFetcher _receiveHIDEventInternal:] + 220 (UIEventFetcher.m:229) 
3 IOKit       0x0000000185d46170 __IOHIDEventSystemClientQueueCallback + 236 (IOHIDEventSystemClient.c:1037) 
4 CoreFoundation     0x0000000185a40010 __CFMachPortPerform + 188 (CFMachPort.c:689) 
5 CoreFoundation     0x0000000185a5a96c __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__ + 56 (CFRunLoop.c:1998) 
6 CoreFoundation     0x0000000185a5a070 __CFRunLoopDoSource1 + 440 (CFRunLoop.c:2135) 
7 CoreFoundation     0x0000000185a57b44 __CFRunLoopRun + 2196 (CFRunLoop.c:3150) 
8 CoreFoundation     0x0000000185977fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245) 
9 Foundation      0x00000001863a16e4 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304 (NSRunLoop.m:367) 
10 Foundation      0x00000001863c0afc -[NSRunLoop(NSRunLoop) runUntilDate:] + 96 (NSRunLoop.m:411) 
11 UIKit       0x000000018faab2f4 -[UIEventFetcher threadMain] + 136 (UIEventFetcher.m:436) 
12 Foundation      0x00000001864a2860 __NSThread__start__ + 996 (NSThread.m:1181) 
13 libsystem_pthread.dylib   0x00000001856dc31c _pthread_body + 308 (pthread.c:740) 
14 libsystem_pthread.dylib   0x00000001856dc1e8 _pthread_start + 312 (pthread.c:799) 
15 libsystem_pthread.dylib   0x00000001856dac28 thread_start + 4 

Thread 2 name: 
Thread 2: 
0 libsystem_kernel.dylib   0x00000001855aa670 write + 8 
1 My App     0x0000000102358d0c CLSSDKFileLog + 336 
2 My App     0x0000000102350338 CLSMachExceptionServer + 1148 
3 libsystem_pthread.dylib   0x00000001856dc31c _pthread_body + 308 (pthread.c:740) 
4 libsystem_pthread.dylib   0x00000001856dc1e8 _pthread_start + 312 (pthread.c:799) 
5 libsystem_pthread.dylib   0x00000001856dac28 thread_start + 4 

Thread 3 name: 
Thread 3: 
0 libsystem_kernel.dylib   0x00000001855a8bc4 mach_msg_trap + 8 
1 libsystem_kernel.dylib   0x00000001855a8a3c mach_msg + 72 (mach_msg.c:103) 
2 CoreFoundation     0x0000000185a59c74 __CFRunLoopServiceMachPort + 196 (CFRunLoop.c:2613) 
3 CoreFoundation     0x0000000185a57840 __CFRunLoopRun + 1424 (CFRunLoop.c:2969) 
4 CoreFoundation     0x0000000185977fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245) 
5 CFNetwork      0x00000001860e2264 +[NSURLConnection(Loader) _resourceLoadLoop:] + 404 (NSURLConnection.mm:367) 
6 Foundation      0x00000001864a2860 __NSThread__start__ + 996 (NSThread.m:1181) 
7 libsystem_pthread.dylib   0x00000001856dc31c _pthread_body + 308 (pthread.c:740) 
8 libsystem_pthread.dylib   0x00000001856dc1e8 _pthread_start + 312 (pthread.c:799) 
9 libsystem_pthread.dylib   0x00000001856dac28 thread_start + 4 

Thread 4: 
0 libsystem_kernel.dylib   0x00000001855c9150 __psynch_cvwait + 8 
1 libsystem_pthread.dylib   0x00000001856ded30 _pthread_cond_wait$VARIANT$mp + 640 (pthread_cond.c:579) 
2 libc++.1.dylib     0x0000000184c82ea4 std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&) + 24 (__threading_support:278) 
3 JavaScriptCore     0x000000018cd25b94 void std::__1::condition_variable_any::wait<std::__1::unique_lock<bmalloc::Mutex> >(std::__1::unique_lock<bmalloc::Mutex>&) + 96 (condition_variable:202) 
4 JavaScriptCore     0x000000018cd25abc bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>::threadRunLoop() + 172 (condition_variable:211) 
5 JavaScriptCore     0x000000018cd25e20 void* std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct> >, void (*)(bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*), bmalloc::AsyncTask<bmalloc::Heap, void (bmalloc::Heap::*)()>*> >(void*) + 44 (type_traits:4291) 
6 libsystem_pthread.dylib   0x00000001856dc31c _pthread_body + 308 (pthread.c:740) 
7 libsystem_pthread.dylib   0x00000001856dc1e8 _pthread_start + 312 (pthread.c:799) 
8 libsystem_pthread.dylib   0x00000001856dac28 thread_start + 4 

Thread 5 name: 
Thread 5: 
0 libsystem_kernel.dylib   0x00000001855a8bc4 mach_msg_trap + 8 
1 libsystem_kernel.dylib   0x00000001855a8a3c mach_msg + 72 (mach_msg.c:103) 
2 CoreFoundation     0x0000000185a59c74 __CFRunLoopServiceMachPort + 196 (CFRunLoop.c:2613) 
3 CoreFoundation     0x0000000185a57840 __CFRunLoopRun + 1424 (CFRunLoop.c:2969) 
4 CoreFoundation     0x0000000185977fb8 CFRunLoopRunSpecific + 436 (CFRunLoop.c:3245) 
5 WebCore       0x000000018d7ebe04 RunWebThread(void*) + 456 (WebCoreThread.mm:694) 
6 libsystem_pthread.dylib   0x00000001856dc31c _pthread_body + 308 (pthread.c:740) 
7 libsystem_pthread.dylib   0x00000001856dc1e8 _pthread_start + 312 (pthread.c:799) 
8 libsystem_pthread.dylib   0x00000001856dac28 thread_start + 4 

Thread 6: 
0 libsystem_pthread.dylib   0x00000001856dac1c start_wqthread + 0 

Thread 7: 
0 libsystem_kernel.dylib   0x00000001855c9dbc __workq_kernreturn + 8 
1 libsystem_pthread.dylib   0x00000001856db134 _pthread_wqthread + 1288 (pthread.c:0) 
2 libsystem_pthread.dylib   0x00000001856dac20 start_wqthread + 4 

Thread 8: 
0 libsystem_pthread.dylib   0x00000001856dac1c start_wqthread + 0 

Thread 1 crashed with ARM Thread State (64-bit): 
    x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000000 
    x4: 0x0000000000000000 x5: 0x0000000000000000 x6: 0x0000000000000001 x7: 0x0000000000000000 
    x8: 0x0000000000000000 x9: 0x0000000000000006 x10: 0x0000000000000000 x11: 0x00000000fffffff0 
    x12: 0x0000000000000058 x13: 0x00000000fffffff0 x14: 0x0000000185615f89 x15: 0x000000000000004d 
    x16: 0x00000001856d1de0 x17: 0x000000018597dcc0 x18: 0x0000000000000000 x19: 0x0000000000000006 
    x20: 0x000000018fc6dd6a x21: 0x0000000000000000 x22: 0x0000000217cf4450 x23: 0x0000000000000000 
    x24: 0x0000000000000000 x25: 0x00000001c0ba4d00 x26: 0x00000001c4240550 x27: 0x00000001b489518c 
    x28: 0x0000000000000006 fp: 0x000000016df74c20 lr: 0x000000018597de50 
    sp: 0x000000016df74b80 pc: 0x000000018597e1c8 cpsr: 0x20000000 

도움을 주시면 감사하겠습니다.

답변

0

한 사용자에서 하나 개의 휴대 전화에서 하나 개의 충돌 ........

를 "물건이 발생"까지 분필 및 이동 - 당신은 아마도에서 발생 가능한 모든 문제를 추적 할 수 없습니다 적어도 당신이 앱을 끝내고 대중에게 나눠 줄 수는 없다면, 적어도 전화.

정말로 "찾아야"하면 더 많은 테스터가 있어야 중복 될 수 있습니다.

일회성 문제는 문제가되지 않습니다.

+0

이 개수는 최대 3 개까지였습니다. 내 응용 프로그램에 crashlytics가 설치되어 있습니다. 한 가지 분명한 것은 각 충돌 장치가 사용 가능한 RAM의 약 1 ~ 4 % 만 가지고 있다는 것입니다. 그것이 잠재적 인 원인 일 수 있습니까? – Gamerlegend

+0

여전히 3을 계산하면 많은 말을하기가 어렵습니다. 3 인 경우 심각한 문제가 발생하지만 100000이면 그다지 중요하지 않습니다 ... 그러나 RAM 번호가 이상하게 보입니다. Xcode에서 여러 부분에서 실행되는 내용을 확인합니다. 앱 - 일부 코드가 도망 가고있는 것을 발견 할 수 있습니다. 또한 didReceiveMemoryWarning을 추적하고 그걸로 뭔가를 할 것을 고려할 것입니다. –