[Webkit-unassigned] [Bug 219437] New: [Debug][GStreamer] Crash in fast/mediastream/change-tracks-media-stream-being-played.html
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Dec 2 09:46:03 PST 2020
https://bugs.webkit.org/show_bug.cgi?id=219437
Bug ID: 219437
Summary: [Debug][GStreamer] Crash in
fast/mediastream/change-tracks-media-stream-being-play
ed.html
Product: WebKit
Version: WebKit Nightly Build
Hardware: Unspecified
OS: Unspecified
Status: NEW
Severity: Normal
Priority: P2
Component: WebRTC
Assignee: webkit-unassigned at lists.webkit.org
Reporter: aboya at igalia.com
CC: youennf at gmail.com
At the moment this crash is reproduced very easily (so far I've got it every time) in buildbox2 when using run-webkit-tests --gtk --debug
I looked at this one in particular because I made a patch for the black bars/resize at the end bug that prevents the tracks from being deleted on EOS and reuses the webkit track classes by changing the pad pointer. That is the only test where I see changes: It crashes both before and after, and in the same functions (videoSampleAvailable or audioSampleAvailable), but with my patch it's a virtual pure function being called and without it's a plain SIGSEGV.
Previous reports also mention a g_type_check_instance_cast segfault inside WebCore::WebKitMediaStreamTrackObserver::audioSamplesAvailable https://bugs.webkit.org/show_bug.cgi?id=209130
Having a cleaner base with no crash would be nice.
Program terminated with signal SIGSEGV, Segmentation fault.
#0 0x00007f36a3bf2efb in WebCore::RealtimeMediaSource::videoSampleAvailable (this=0x7f36875e4700, mediaSample=...) at ../../Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:208
208 observer->videoSampleAvailable(mediaSample);
[Current thread is 1 (Thread 0x7f3687e479c0 (LWP 126))]
Thread 1 (Thread 0x7f3687e479c0 (LWP 126)):
#0 0x00007f36a3bf2efb in WebCore::RealtimeMediaSource::videoSampleAvailable(WebCore::MediaSample&) (this=0x7f36875e4700, mediaSample=...) at ../../Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:208
#1 0x00007f36a3c1ecac in WebCore::RealtimeVideoSource::videoSampleAvailable(WebCore::MediaSample&) (this=0x7f36875e4700, sample=...) at ../../Source/WebCore/platform/mediastream/RealtimeVideoSource.cpp:189
#2 0x00007f36a3bf2f14 in WebCore::RealtimeMediaSource::videoSampleAvailable(WebCore::MediaSample&) (this=0x7f3687553000, mediaSample=...) at ../../Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:208
#3 0x00007f36a3c1d901 in WebCore::RealtimeVideoCaptureSource::dispatchMediaSampleToObservers(WebCore::MediaSample&) (this=0x7f3687553000, sample=...) at ../../Source/WebCore/platform/mediastream/RealtimeVideoCaptureSource.cpp:399
#4 0x00007f36a4830192 in WebCore::MockRealtimeVideoSourceGStreamer::updateSampleBuffer() (this=0x7f3687553000) at ../../Source/WebCore/platform/mediastream/gstreamer/MockRealtimeVideoSourceGStreamer.cpp:70
#5 0x00007f36a3c4d217 in WebCore::MockRealtimeVideoSource::generateFrame() (this=0x7f3687553000) at ../../Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp:449
#6 0x00007f36a3c5f051 in std::__invoke_impl<void, void (WebCore::MockRealtimeVideoSource::*&)(), WebCore::MockRealtimeVideoSource*&>(std::__invoke_memfun_deref, void (WebCore::MockRealtimeVideoSource::*&)(), WebCore::MockRealtimeVideoSource*&) (__f=@0x7f362e052ee8: (void (WebCore::MockRealtimeVideoSource::*)(WebCore::MockRealtimeVideoSource * const)) 0x7f36a3c4d024 <WebCore::MockRealtimeVideoSource::generateFrame()>, __t=@0x7f362e052ef8: 0x7f3687553000) at /usr/include/c++/10.2.0/bits/invoke.h:73
#7 0x00007f36a3c5eebf in std::__invoke<void (WebCore::MockRealtimeVideoSource::*&)(), WebCore::MockRealtimeVideoSource*&>(void (WebCore::MockRealtimeVideoSource::*&)(), WebCore::MockRealtimeVideoSource*&) (__fn=@0x7f362e052ee8: (void (WebCore::MockRealtimeVideoSource::*)(WebCore::MockRealtimeVideoSource * const)) 0x7f36a3c4d024 <WebCore::MockRealtimeVideoSource::generateFrame()>) at /usr/include/c++/10.2.0/bits/invoke.h:95
#8 0x00007f36a3c5ed4d in std::_Bind<void (WebCore::MockRealtimeVideoSource::*(WebCore::MockRealtimeVideoSource*))()>::__call<void, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0x7f362e052ee8, __args=...) at /usr/include/c++/10.2.0/functional:416
#9 0x00007f36a3c5ec27 in std::_Bind<void (WebCore::MockRealtimeVideoSource::*(WebCore::MockRealtimeVideoSource*))()>::operator()<, void>() (this=0x7f362e052ee8) at /usr/include/c++/10.2.0/functional:499
#10 0x00007f36a3c5eb46 in WTF::Detail::CallableWrapper<std::_Bind<void (WebCore::MockRealtimeVideoSource::*(WebCore::MockRealtimeVideoSource*))()>, void>::call() (this=0x7f362e052ee0) at DerivedSources/ForwardingHeaders/wtf/Function.h:52
#11 0x00007f369fcda633 in WTF::Function<void ()>::operator()() const (this=0x7f3687553208) at DerivedSources/ForwardingHeaders/wtf/Function.h:83
#12 0x00007f36a3c5eb86 in WTF::RunLoop::Timer<WebCore::MockRealtimeVideoSource>::fired() (this=0x7f36875531e0) at DerivedSources/ForwardingHeaders/wtf/RunLoop.h:184
#13 0x00007f36912de9c1 in operator()(gpointer) const (__closure=0x0, userData=0x7f36875531e0) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:177
#14 0x00007f36912dea01 in _FUN(gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:181
#15 0x00007f36912de00d in operator()(GSource*, GSourceFunc, gpointer) const (__closure=0x0, source=0x561683020ef0, callback=0x7f36912de9e4 <_FUN(gpointer)>, userData=0x7f36875531e0) at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:53
#16 0x00007f36912de05b in _FUN(GSource*, GSourceFunc, gpointer) () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:56
#17 0x00007f368a22004f in g_main_dispatch (context=0x561682c20af0) at ../glib/gmain.c:3325
#18 g_main_context_dispatch (context=0x561682c20af0) at ../glib/gmain.c:4016
#19 0x00007f368a2203f8 in g_main_context_iterate (context=0x561682c20af0, block=block at entry=1, dispatch=dispatch at entry=1, self=<optimized out>) at ../glib/gmain.c:4092
#20 0x00007f368a220713 in g_main_loop_run (loop=0x561682ba1c10) at ../glib/gmain.c:4290
#21 0x00007f36912de624 in WTF::RunLoop::run() () at ../../Source/WTF/wtf/glib/RunLoopGLib.cpp:108
#22 0x00007f36a11a2c25 in WebKit::AuxiliaryProcessMain<WebKit::WebProcess, WebKit::WebProcessMainGtk>(int, char**) (argc=4, argv=0x7fff70c1f4d8) at ../../Source/WebKit/Shared/AuxiliaryProcessMain.h:68
#23 0x00007f36a11a2438 in WebKit::WebProcessMain(int, char**) (argc=4, argv=0x7fff70c1f4d8) at ../../Source/WebKit/WebProcess/gtk/WebProcessMainGtk.cpp:66
#24 0x0000561681c97d88 in main(int, char**) (argc=4, argv=0x7fff70c1f4d8) at ../../Source/WebKit/WebProcess/EntryPoint/unix/WebProcessMain.cpp:45
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20201202/84fa76c2/attachment-0001.htm>
More information about the webkit-unassigned
mailing list