2015-07-23 19 views
12

Abbiamo ricevuto alcuni rapporti sugli arresti anomali con tracce di stack per noi difficili da decifrare. La traccia dello stack è interamente all'interno di MediaPlayer, Foundation, CoreFoundation e libsystem_c.dylib. Purtroppo non siamo stati in grado di riprodurre su nessuno dei nostri dispositivi di sviluppo, pertanto la risoluzione dei problemi si sta rivelando problematica.Cosa potrebbe causare l'arresto anomalo di iOS MediaPlayer?

Ecco un esempio della traccia dello stack. Qualcuno ha visto qualcosa di simile o ha qualche indicazione su cosa potrebbe causare questo incidente?

EXC_BAD_ACCESS KERN_PROTECTION_FAILURE at 0x000000016fc47fe0 
Thread : Crashed: com.apple.main-thread 
0 libsystem_c.dylib    0x0000000196a0624c localeconv_l 
1 libsystem_c.dylib    0x0000000196a55d6c __vfprintf + 108 
2 libsystem_c.dylib    0x0000000196a73680 __v2printf + 588 
3 libsystem_c.dylib    0x0000000196a0620c _vsnprintf + 304 
4 libsystem_c.dylib    0x0000000196a06c58 snprintf_l + 24 
5 CoreFoundation     0x000000018462b01c __CFStringAppendFormatCore + 11584 
6 CoreFoundation     0x00000001846282a4 _CFStringCreateWithFormatAndArgumentsAux2 + 248 
7 Foundation      0x000000018546e448 -[NSPlaceholderString initWithFormat:locale:arguments:] + 172 
8 Foundation      0x000000018546e308 +[NSString stringWithFormat:] + 76 
9 MediaPlayer     0x00000001869bf524 -[NSObject(MPLogDescription) MP_shortDescription] + 96 
10 MediaPlayer     0x00000001869bf598 -[AVPlayerItem(MPLogDescription) MP_shortDescription] + 72 
11 MediaPlayer     0x00000001869bde2c -[MPAVQueueCoordinator _syncPlayerItems] + 1316 
12 MediaPlayer     0x00000001869bd8a4 -[MPAVQueueCoordinator _syncItems] + 1452 
13 MediaPlayer     0x00000001869becbc -[MPAVQueueCoordinator _updateCurrentItem] + 620 
14 MediaPlayer     0x00000001869be61c -[MPAVQueueCoordinator _syncPlayerItems] + 3348 
15 MediaPlayer     0x00000001869bd8a4 -[MPAVQueueCoordinator _syncItems] + 1452 
16 MediaPlayer     0x00000001869becbc -[MPAVQueueCoordinator _updateCurrentItem] + 620 
17 MediaPlayer     0x00000001869be61c -[MPAVQueueCoordinator _syncPlayerItems] + 3348 
18 MediaPlayer     0x00000001869bd8a4 -[MPAVQueueCoordinator _syncItems] + 1452 
19 MediaPlayer     0x00000001869becbc -[MPAVQueueCoordinator _updateCurrentItem] + 620 
20 MediaPlayer     0x00000001869be61c -[MPAVQueueCoordinator _syncPlayerItems] + 3348 
... 

La traccia di stack continua per diverse centinaia di ripetizioni delle ultime tre righe sopra.

+0

Ciao Greg, sono stati in grado di trovare una soluzione a questo problema? Questo incidente si sta verificando anche a me e sto cercando di diagnosticare. – wsidell

+0

Qualche aggiornamento ragazzi? Anch'io sto affrontando lo stesso problema. –

+0

Sto combattendo questo esatto problema nella nostra app. Per farlo in modo coerente, prova a mettere il dispositivo in stato di stop con il pulsante di sospensione, quindi riattivalo e quindi esegui l'azione per far riprodurre il video. Succede ogni volta qui. –

risposta

0

Dalla tua descrizione, sembra che il lettore entri in un ciclo infinito che alloca memoria o aumenta un puntatore. Questo è (indovinando qui) molto probabilmente a causa del caricamento di un file video malformato.

Quando l'applicazione esaurisce lo spazio indirizzabile e/o il puntatore aumenta/diminuisce fino a un punto in cui punta all'esterno dello spazio indirizzo dell'applicazione, il kernel lo uccide per una violazione della memoria.

1

Proprio questo è accaduto sulla mia app iOS 8.4 qui. Risulta che l'App stava cercando di caricare un file video locale non esistente. Stava cercando di caricare "Animation.mp4" quando il file veniva chiamato "Intro.mp4" e non avevo alcun codice di cattura degli errori per rilevarlo.

Il risultato finale è stato esattamente lo stesso stack trace come sopra - le diverse centinaia di ripetizioni degli ultimi 3 linee di traccia, schermo bianco e un incidente App

Quindi potrebbe essere la pena di verificare questo - potrebbe aiutare qualcuno , anche se si spera che tu sia un po 'più sensibile e che abbiate qualche errore nel codice di caricamento del codice di caricamento :)

0

Ho riscontrato lo stesso problema ieri. Stavo Tring per caricare video nel MPMoviePlayerViewController

//Streaming video plying on MPMoviePlayerViewController 

NSString *fileURL = @"http://...../myvideo.mp4"; 

NSURL *url = [NSURL fileURLWithPath:fileURL]; 

MPMoviePlayerViewController *mpViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 

mpViewController.moviePlayer.movieSourceType = MPMovieSourceTypeStreaming; 

     // Present the movie player view controller 
     [self presentViewController:mpViewController animated:YES completion:nil]; 
     // Start playback 
     [mpViewController.moviePlayer play]; 

Dopo aver eseguito questo sto ottenendo seguente errore - [MPAVQueueCoordinator _syncPlayerItems]

Dopo aver trascorso un'ora ho trovato bug :) il mio codice. Stavo passando l'URL in "fileURLWithPath" a causa di ciò è show che erro. Per risolvere che ho appena sostituire

NSURL *url = [NSURL fileURLWithPath:fileURL]; 

con

NSURL *url = [NSURL URLWithString:fileURL]; 
Problemi correlati