iOS9: Doppelte Zeilen in Absturzberichten führen dazu, dass symbolicatecrash hängen bleibt
Das istkeine Frage weil ich schon einen Workaround gefunden habe. Ich veröffentliche es, damit andere die Stunden nutzen können, die ich damit verbracht habe, und meine vorgeschlagene Problemumgehung verwenden können.
Ich habe einige seltsame Absturzberichte - eine einzelne Zeile wurde viele Male dupliziert:
...
0x190e08000 - 0x190e49fff Notes arm64 <f45c09ce977b3282ab0e879252dfebee> /System/Library/PrivateFrameworks/Notes.framework/Notes
0x190f9c000 - 0x190fa6fff NotificationsUI arm64 <73dcb247ed183ce7bb330d7bb55f93bd> /System/Library/PrivateFrameworks/NotificationsUI.framework/NotificationsUI
0x190fa8000 - 0x190faafff OAuth arm64 <c2658cb3208b342dbe1e91cea30ebdd5> /System/Library/PrivateFrameworks/OAuth.framework/OAuth
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x191900000 - 0x191903fff ParsecSubscriptionServiceSupport arm64 <c70467637c9332c7b0be897200c9ccb1> /System/Library/PrivateFrameworks/ParsecSubscriptionServiceSupport.framework/ParsecSubscriptionServiceSupport
0x1919c8000 - 0x1919ebfff Pegasus arm64 <82f60f2d5ad73b5fa89d283a4e992e88> /System/Library/PrivateFrameworks/Pegasus.framework/Pegasus
0x191a30000 - 0x191a57fff PersistentConnection arm64 <8d0b7602daee3aa588c37704a6e3a206> /System/Library/PrivateFrameworks/PersistentConnection.framework/PersistentConnection
...
it hat dazu geführt, dass das Symbolicatecrash (Perl) -Skript nicht mehr reagiert. Der Grund dafür ist, dass das Skript ursprünglich ähnliche Einträge verketten sollte, vorausgesetzt, sie haben eine andere Basisadresse. Dieser Code hat jedoch nie funktioniert, da er einen Fehler aufweist:
# add ourselves to that chain
$images{$nextIDKey}{nextID} = $image{base};
# and store under the key we just recorded
$bundlename = $bundlename . $image{base};
Der Fehler ist, dass die erste Zeilesollte eigentlich sein:
$images{$nextIDKey}{nextID} = $bundlename . $image{base};
Jedoch schlage ich ein @ v Workaround ignoriert diese doppelten Zeilen durch Hinzufügen einesnext
Befehl etwas oberhalb dieses Codes, d. h.
# frameworks and apps (and whatever) may share the same name, so disambiguate
if ( defined($images{$bundlename}) ) {
next;
dies ist keine saubere Lösung, da uns hier ein gewisser Schutz fehlt, aber zumindest wird es in den meisten Fällen funktionieren.
Hoffentlich wird Apple diese Duplikate bald entfernen.