2015-08-10 15 views
17

Questa è non è una domanda perché ho già trovato una soluzione alternativa. Lo sto pubblicando in modo che gli altri possano approfittare delle ore che sto trascorrendo su di esso e utilizzare la soluzione alternativa suggerita.iOS9: le righe duplicate nei rapporti sugli arresti anomali causano il blocco di symbolicatecrash

Ho avuto alcune segnalazioni di crash strano - una singola linea è stato duplicato molte volte:

... 
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 
... 

ha causato la (perl) lo script symbolicatecrash rimanere bloccati. Il motivo è che lo script era originariamente concepito per concatenare voci simili, supponendo che avessero un indirizzo di base diverso. Tuttavia che il codice non è mai lavorato perché ha un bug:

# add ourselves to that chain 
$images{$nextIDKey}{nextID} = $image{base}; 

# and store under the key we just recorded 
$bundlename = $bundlename . $image{base}; 

Il bug è che prima linea dovrebbe effettivamente essere :

$images{$nextIDKey}{nextID} = $bundlename . $image{base}; 

Comunque io sto suggerendo una soluzione che verrà ignorare queste righe duplicate aggiungendo un comando next un po 'sopra questo codice, ovvero

# frameworks and apps (and whatever) may share the same name, so disambiguate 
if (defined($images{$bundlename})) { 
    next; 

questa non è una soluzione pulita perché qui mancano alcune protezioni, ma almeno funzionerà per la maggior parte dei casi.

In ogni caso sperando che Apple rimuova presto queste duplicazioni.

+1

Sto votando per chiudere questo problema come off-topic, perché è una segnalazione di bug, non una domanda. – Kreiri

+3

Ciao @Kreiri, lo so. Potrei fare la domanda sul perché è bloccato, quindi tornare con una soluzione. O potrei semplicemente non condividere il risultato di un lavoro di 2 giorni che potrebbe salvare un altro mal di testa ... – ishahak

+0

Grazie per aver condiviso questo, è stato veramente utile per me. Tuttavia, concordo con Kreiri che è una risposta, non una domanda. Sarebbe meglio strutturarsi per fare la domanda, e quindi presentare una risposta separata (e in questo modo potrei darti un voto per una buona domanda e una buona risposta!) –

risposta

5

È possibile utilizzare il seguente script della shell che patchare symbolicatecrash per risolvere il problema:

curl -o /tmp/t.patch https://raw.githubusercontent.com/zqxiaojin/OptSymbolicatecrash/master/fix_dead_loop.patch && cd `xcode-select -p`/../SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/ && sudo patch symbolicatecrash /tmp/t.patch && cd - 

o copiare i symbolicatecrash dal mio github https://github.com/zqxiaojin/OptSymbolicatecrash

+0

Fornisce un errore di autorizzazione bash quando viene copiato da github ed eseguito dal terminale –

+0

sh: /Volumes/40gb/Applications/Xcode.app/Contents/Developer/usr/bin/ xcrun: Nessun file o directory di questo tipo ## Attenzione: impossibile trovare lo strumento denominato "otool" nell'iPad SDK, ricadendo nella ricerca nell'SDK iOS sh: /Volumes/40gb/Applications/Xcode.app/Contents/Developer/usr/bin/xcrun: Nessun file o directory di questo tipo ## Attenzione: impossibile trovare lo strumento denominato "otool" nell'SDK di iOS, ricadere nella ricerca su Mac OS X SDK sh:/Volumi/40gb/Applicazioni/Xcode .app/Contents/Developer/usr/bin/xcrun: Nessun file o directory ... –

+0

curl -o /tmp/t.patch https://raw.githubusercontent.com/zqxiaojin/OptSymbolicate crash/master/fix_dead_loop.patch && cd 'xcode-select -p' /../ SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/&& sudo patch symbolicatecrash/tmp/t.patch && cd - %% totale ricevuto% Xferd Tempo medio Tempo Tempo Tempo corrente Caricamento Dload totale speso Velocità sinistra 100 1087 100 1087 0 0 4462 0 -: -: - -: -: - - -: -: - 4473 Password: patch: **** Impossibile trovare il file symbolicatecrash: nessun file o directory –

Problemi correlati