2014-12-22 4 views
5

Hat jemand eine Ahnung, was diesen Absturz verursacht?SIGTRAP Fehler auf iOS - AutoreleasePoolPage :: busted

Es passiert sehr selten.

Die Absturzberichte kommen via HockeyApp vom Gerät. Ich konnte es nicht am Simulator reproduzieren.

Irgendwelche Ideen sehr geschätzt.

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

Thread 0 Crashed: 
0 libobjc.A.dylib      0x0000000197c73c10 _objc_trap() + 0 
1 libobjc.A.dylib      0x0000000197c73c80 _objc_fatal + 80 
2 libobjc.A.dylib      0x0000000197c8e7fc (anonymous namespace)::AutoreleasePoolPage::busted(bool) + 140 
3 libobjc.A.dylib      0x0000000197c8d54c (anonymous namespace)::AutoreleasePoolPage::pop(void*) + 88 
4 CoreFoundation      0x0000000187418f94 _CFAutoreleasePoolPop + 24 
5 UIKit        0x000000018bcd8c28 _wrapRunLoopWithAutoreleasePoolHandler + 72 
6 CoreFoundation      0x00000001874ee14c __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 28 
7 CoreFoundation      0x00000001874eb0d8 __CFRunLoopDoObservers + 356 
8 CoreFoundation      0x00000001874eb4b8 __CFRunLoopRun + 832 
9 CoreFoundation      0x00000001874191f4 CFRunLoopRunSpecific + 392 
10 GraphicsServices      0x00000001905a75a4 GSEventRunModal + 164 
11 UIKit        0x000000018bd4a784 UIApplicationMain + 1484 
12 MyAppName       0x00000001001794d4 main (main.mm:15) 
13 libdyld.dylib      0x00000001982e2a08 start + 0 

Thread 1: 
0 libsystem_kernel.dylib    0x00000001983e0c94 kevent64 + 8 
1 libdispatch.dylib     0x00000001982bb3b4 _dispatch_mgr_thread + 48 

Thread 2: 
0 libsystem_kernel.dylib    0x00000001983e0e7c mach_msg_trap + 8 
1 CoreFoundation      0x00000001874ed5cc __CFRunLoopServiceMachPort + 196 
2 CoreFoundation      0x00000001874eb520 __CFRunLoopRun + 936 
3 CoreFoundation      0x00000001874191f4 CFRunLoopRunSpecific + 392 
4 CFNetwork       0x0000000186f1d6a4 +[NSURLConnection(Loader) _resourceLoadLoop:] + 436 
5 Foundation       0x0000000188405c0c __NSThread__main__ + 1068 
6 libsystem_pthread.dylib    0x0000000198497e80 _pthread_body + 160 
7 libsystem_pthread.dylib    0x0000000198497ddc _pthread_start + 156 
8 libsystem_pthread.dylib    0x0000000198494fb0 thread_start + 0 

Thread 3: 
0 libsystem_kernel.dylib    0x00000001983fb498 __select + 8 
1 libsystem_pthread.dylib    0x0000000198497e80 _pthread_body + 160 
2 libsystem_pthread.dylib    0x0000000198497ddc _pthread_start + 156 
3 libsystem_pthread.dylib    0x0000000198494fb0 thread_start + 0 

Thread 4: 
0 libsystem_kernel.dylib    0x00000001983fbc78 __workq_kernreturn + 8 
1 libsystem_pthread.dylib    0x0000000198494fa8 start_wqthread + 0 

Thread 5: 
0 libsystem_kernel.dylib    0x00000001983fbc78 __workq_kernreturn + 8 
1 libsystem_pthread.dylib    0x0000000198494fa8 start_wqthread + 0 
+0

Erstellen Sie Ihre eigenen Auto Release Pools? Schauen Sie sich auch NSURLConnection an - das ist fast sicher mit Threading zu tun. Mein Rat ist, ein kleines Demo-Projekt zu erstellen, das diese NSURLConnections nur so nah an Ihrem echten Code macht (wenn möglich mit Ihrem echten Code, dann einfach bis zum Absturz). Wenn Sie den Absturz reproduzieren können, sind Sie gut dran Ihr Weg, um das Problem zu beheben, oder Sie können in der Lage sein, Ihre echte App zu verzweigen und anzupassen, um einfach ihren NSURLConnection-Code zu verwenden. –

+0

Ich rufe NSURLConnection nicht direkt in meinem Code an. Obwohl ich HockeyApp enthalten habe. Könnte das sein Verwenden NSURLConnection? Dies könnte auch die Ausnahme Break Points von Danypata erwähnt werden - ich verstehe nicht ganz, wie die Interna von HockeyApp funktionieren. –

+0

& Ja, ich erstelle Auto Release-Pools. An verschiedenen Orten, wo ich Schleifencode, der erstellt Viele andere Zwischenvariablen –

Antwort

1

Ich reparierte dies am Ende durch Refactoring meines Codes.

Ich hatte Blöcke, an denen ich mich für ein Navigationsmenü festhielt - die Idee war, den Block nur aufzurufen, wenn eine Menüschaltfläche angetippt wurde.

Ich refaktoriert meine Navigationsmenü-Tasten nicht mehr auf die Blöcke und diese Fehler verschwanden.

0

Seltsame Abstürze können auftreten, wenn das Gerät nicht genügend freien Speicher hat.

Dies sind normalerweise verschiedene einzelne Abstürze an absolut unterschiedlichen Orten.

Blick angebracht Screenshots mit Crash Info von einem meiner apps

(I Crashlytics bin mit für immer Crash-Berichte, es zeigt auch Informationen über freie Speicher)

enter image description here

enter image description here

enter image description here