OpenWebRTC iOS zufälliger Absturz gstglcontext

8

Ich arbeite an einem WebRTC-Projekt. Ich habe OpenWebRTC gewählt, um es in meinem Projekt zu implementieren.

Ich habe es geschafft, sowohl für das Web als auch für iOS zu funktionieren. Ich habe einen Signalisierungsserver in asp.net MVC entwickelt und coTurn Server als Turn-Server verwendet.

Alles funktioniert gut außer einem Problem.

Die iOS App stürzt zufällig mit der Ausnahme

ab
  

EXC_BAD_ACCESS Ausnahme: (gstglcontext (14): EXC_BAD_ACCESS (Code = 1, Adresse = 0x30))

Die Ausnahme wird von irgendwo innerhalb des SDK ausgelöst. Ich habe seit Tagen versucht, eine Lösung zu finden, ist aber bisher nicht gelungen.

Hat jemand anderes ein ähnliches Problem?

Im Folgenden finden Sie den Stack-Trace aus den Geräteprotokollen des Absturzes

%Vor%

Ich habe das Problem weiter aufgespürt.

Die Ausnahme wird in der folgenden Zeile in gstglimagesink.c in der Funktion 'gst_glimage_sink_on_draw'

ausgelöst %Vor%     
Shayan Jalil 22.03.2017, 20:29
quelle

2 Antworten

5

Aktualisieren Sie die gstreamer-Bibliothek auf Version 1.10.4. Die neuere Version von gstreamer hat diesen Fehler behoben. Zum Aktualisieren ändern Sie das Skript 'update-gst.sh' wie folgt master_commit = git ls-remote git://anongit.freedesktop.org/git/gstreamer/$i | grep "1.10.4$" | awk '{print }'

Führen Sie dann das Skript aus, danach erstellen Sie zuerst einen sauberen Build für os x und dann iOS.

    
Syed Ali hassan 03.04.2017, 05:33
quelle
3
%Vor%

Bei dieser Zeile ist gl eine virtuelle Konvertierungstabelle vom Typ GstGLFuncs . GstGLFuncs ist ein Member vom Typ struct GstGLContext , der Benutzerdaten enthält.

Sie haben also eindeutig keine Daten, auf die Sie zugreifen möchten. Sie haben einen Dangling-Zeiger . Dies könnte sein, weil

  1. Der Zeiger (in Ihrem Fall GstGLContext ) zeigt auf Speicher, der in Ordnung war, aber sein Chunk war     freigegeben.
  2. Der Zeiger ist beschädigt.

Die Codezeile, auf der Ihre App abstürzt, ist nicht die Ursache des Problems. Das Problem in # 1 ist, welche Codezeile die vorzeitige Deallokation verursachte, und das Problem in # 2 ist, welche Codezeile den Zeiger beschädigte.

    
Partho Biswas 29.03.2017 11:04
quelle