2014-12-22 12 views
5

Czy ktoś ma jakiekolwiek pojęcie, co powoduje tę awarię?Błąd SIGTRAP na iOS - AutoreleasePoolPage :: busted

Zdarza się bardzo rzadko.

Raporty o awariach nadchodzą za pośrednictwem HockeyApp z urządzenia. Nie udało mi się odtworzyć go na symulatorze.

Wszelkie pomysły bardzo doceniane.

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

Czy tworzysz własne puli automatycznej dystrybucji? Spójrz również na NSURLConnection - więc jest to prawie na pewno związane z wątkami. Moja rada jest taka, aby stworzyć mały projekt demonstracyjny, który tylko te połączenia NSURLC w sposób tak bliski twojemu prawdziwemu kodowi (używając twojego prawdziwego kodu, jeśli to możliwe, a następnie po prostu uruchamiaj go ciągle aż do awarii .Jeśli możesz odtworzyć awarię, jesteś na dobrej drodze sposób, aby rozwiązać problem, lub może być w stanie rozgałęzić i dostosować swoją rzeczywistą aplikację do ciągłego korzystania z jego kodu NSURLConnection –

+0

Nie dzwoni NSURLConnection bezpośrednio w moim kodzie.Ponieważ mam włączone HockeyApp. Czy to możliwe Może to obejmować także wyjątkowe punkty przerwania wspomniane przez danąpata - nie do końca rozumiem, jak działają wewnętrzne funkcje HockeyApp –

+0

i tak, tworzę pulę automatycznej dystrybucji, w różnych miejscach, w których mam pętlę kodu, która tworzy wiele zmiennych pośrednich –

Odpowiedz

1

Naprawiłem to na końcu przez refaktoryzacja mojego kodu.

Miałem klocki, które trzymałem dla menu nawigacyjnego - pomysł polegał na tym, aby wywołać blok po naciśnięciu przycisku menu.

I refactored moje przyciski menu nawigacji, aby już nie polegać na blokach i te błędy zniknęły AutoreleasePoolPage::busted.

0

Dziwne awarie mogą wystąpić, gdy urządzenie nie ma wystarczającej ilości wolnej pamięci.

To zwykle różne pojedyncze awarie w absolutnie różnych miejscach.

Look załączeniu zrzuty ekranu z informacją zderzenia z jednym z moich aplikacji

(używam Crashlytics uzyskiwania raportów o awariach, ale także pokazuje informacje o wolnej pamięci)

enter image description here

enter image description here

enter image description here

Powiązane problemy