iOS-App: - Mehrere Abstürze mit gemeinsamen Themen: SIGSEGV und _sigtramp

Wird neu in obj-c ich bin kein Meister im Lesen von stacktraces, aber ich kann normalerweise herausfinden, wo der code zum starten der Suche. Jedoch, während der Prüfung einer der Tester ist durchweg Berichterstattung mehrere zufällige Abstürze. Und ich kann nicht Kopf noch Schwanz des stacktraces, da Sie nicht auf meinen eigenen code. Hier sind zwei:

0 WIT Free 0x000a5a92 _mh_execute_header + 338578
1 WIT Free 0x000a677c _mh_execute_header + 341884
2 libsystem_c.dylib 0x355cc7ec _sigtramp + 48
3 WIT Free 0x000fcd02 _mh_execute_header + 695554
4 WIT Free 0x000fd502 _mh_execute_header + 697602
5 WIT Free 0x000fd0a0 _mh_execute_header + 696480
6 WIT Free 0x000fea9c _mh_execute_header + 703132
7 WIT Free 0x000ffa3a _mh_execute_header + 707130
8 Foundation 0x31e1bc28 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0 + 16
9 Foundation 0x31d736d8 -[NSURLConnectionInternalConnection invokeForDelegate:] + 28
10 Foundation 0x31d736a2 -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:] + 198
11 Foundation 0x31d735c4 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:] + 60
12 CFNetwork 0x34c6c7f4 _ZN19URLConnectionClient23_clientDidFinishLoadingEPNS_26ClientConnectionEventQueueE + 192
13 CFNetwork 0x34c614a4 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 424
14 CFNetwork 0x34c61598 _ZN19URLConnectionClient26ClientConnectionEventQueue33processAllEventsAndConsumePayloadEP20XConnectionEventInfoI12XClientEvent18XClientEventParamsEl + 668
15 CFNetwork 0x34c611a2 _ZN19URLConnectionClient13processEventsEv + 106
16 CFNetwork 0x34c610d8 _ZN17MultiplexerSource7performEv + 156
17 CoreFoundation 0x314b1ad2 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 14
18 CoreFoundation 0x314b129e __CFRunLoopDoSources0 + 214
19 CoreFoundation 0x314b0044 __CFRunLoopRun + 652
20 CoreFoundation 0x314334a4 CFRunLoopRunSpecific + 300
21 CoreFoundation 0x3143336c CFRunLoopRunInMode + 104
22 GraphicsServices 0x334ad438 GSEventRunModal + 136
23 UIKit 0x30b96cd4 UIApplicationMain + 1080
24 WIT Free 0x000558b0 _mh_execute_header + 10416
25 WIT Free 0x00055857 _mh_execute_header + 10327

Und:

0 WIT Free 0x00067a92 _mh_execute_header + 338578
1 WIT Free 0x0006877c _mh_execute_header + 341884
2 libsystem_c.dylib 0x355cc7ec _sigtramp + 48
3 WIT Free 0x000bfc82 _mh_execute_header + 699522
4 WIT Free 0x000cc34e _mh_execute_header + 750414
5 WIT Free 0x000cd5a0 _mh_execute_header + 755104
6 libdispatch.dylib 0x35cf5c58 _dispatch_call_block_and_release + 12
7 libdispatch.dylib 0x35d00e90 _dispatch_main_queue_callback_4CF$VARIANT$up + 196
8 CoreFoundation 0x314b02ac __CFRunLoopRun + 1268
9 CoreFoundation 0x314334a4 CFRunLoopRunSpecific + 300
10 CoreFoundation 0x3143336c CFRunLoopRunInMode + 104
11 GraphicsServices 0x334ad438 GSEventRunModal + 136
12 UIKit 0x30b96cd4 UIApplicationMain + 1080
13 WIT Free 0x000178b0 _mh_execute_header + 10416
14 WIT Free 0x00017857 _mh_execute_header + 10327

Kann jemand aufschlüsseln und erklären, was ich da im Klartext? Einige Zeiger auf, warum diese Abstürze möglicherweise eintretenden wäre auch sehr hilfreich!

Edit: Mehr Informationen

  • Anscheinend die Abstürze fast immer zufällig auf eine ziemlich schwache Netzwerkverbindung.
  • Ich bin mit der asynchronen NSURLConnections mit einem Delegierten
  • Ich werde versuchen, stack-traces für alle threads mit PLCrashReporter
  • Bin ich mit der ARC
  • Die obersten drei Zeilen der trace-gemeinsam sind jeden einzigen Absturz (außer der hexadezimale Zahl - Speicher?):

:

0 WIT Free 0x000a5a92 _mh_execute_header + 338578
1 WIT Free 0x000a677c _mh_execute_header + 341884
2 libsystem_c.dylib 0x355cc7ec _sigtramp + 48

Dank

  • Wenn Sie nicht zeigen, um Ihren code, was ist ein "WITZ Frei"? (Der stack-traces seltsam Aussehen, als ob etwas versuchte zu drehen-Adressen in Symbole und tun über die Hälfte der Arbeit.)
  • Möglicherweise gibt es eine Diskrepanz zwischen dem Absturz info und die binäre/verwendete Symbole zu interpretieren.
  • WITZ Frei ist mein code. Was ist das _me_execute_header alle über? Ich kann nicht finden, etwas über es auf dem Netz?
  • Ich denke, was ist denn hier Los (Teil-Vermutung) ist dass, was auch immer erstellen, der stack-trace nicht finden können, die Symbole, die mit Ihrer app-eigenen code. _mh_execute_header ist ein bekanntes symbol/Adresse, die Sie verwendet als Basis zum berechnen eines offset -, wenn es hat keine besseren Informationen.
  • Dies könnte sein, weil die Ausnahme aufgetreten ist, in einer externen pre-kompilierte Bibliothek, die nicht interagieren mit meinem code?
  • Wenn es verbunden ist, in eine statische Bibliothek, das mag möglich sein, aber, da auch die tiefsten Ebenen der trace fehlen gültige Symbole (d.h. 25 WIT Free 0x00055857 _mh_execute_header + 10327), denke ich, eine verkorkste-Deutung der crash-Informationen ist wahrscheinlicher.
  • Unter den top-crash, es gibt ein paar Hinweise darauf, was schief geht, selbst bei dem, was da ist. Es gibt eine NSURLConnection im Spiel aussieht, als wäre er gerufen hat, wieder zu einem delegate im code. Anscheinend ist es mit einem block für die Verarbeitung, aber ich weiß nicht, ob das etwas ist, das wäre explizit im code oder einfach nur die Art und Weise NSURLConnection tut Dinge.
  • Ok, wir werden ich habe es endlich geschafft, reproduzieren Sie den Absturz mit einem debugging-Instanz angehängt. Der crash ist in der Tat durch eine 3rd-party-Bibliothek. Der stack-traces habe ich meine meine Frage wurden von TestFlight, aber die crash-logs re-symbolicated in XCode nicht zeigen _me_execute_header. Eine Antwort, die erklärt die details der _mh_execute_header und wie diagnostizieren, wie einen stack-trace akzeptiert werden würde. Es gibt nicht viel im Netz über _mh_execute_header also ich bin sicher, es wird ein paar Leuten helfen in der Zukunft!

InformationsquelleAutor djskinner | 2012-11-19
Schreibe einen Kommentar