Bug 255786 - [GStreamer][Debug] mediarecorder tests hitting ASSERT
Summary: [GStreamer][Debug] mediarecorder tests hitting ASSERT
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Philippe Normand
URL:
Keywords: InRadar
Depends on:
Blocks: GstWebRTC
  Show dependency treegraph
 
Reported: 2023-04-21 07:39 PDT by Philippe Normand
Modified: 2023-04-28 02:58 PDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe Normand 2023-04-21 07:39:58 PDT
http/wpt/mediarecorder/MediaRecorder-frame.html
http/wpt/mediarecorder/MediaRecorder-multiple-start-stop.html
http/wpt/mediarecorder/MediaRecorder-onremovetrack.html
http/wpt/mediarecorder/MediaRecorder-video-bitrate.html
http/wpt/mediarecorder/MediaRecorder-video-h264-profiles.html

Thread 1 (Thread 0x7fee1ffff640 (LWP 172574)):
#0  WTFCrash() () at /app/webkit/Source/WTF/wtf/Assertions.cpp:327
#1  0x00007ff185b3e069 in WTFCrashWithInfo(int, char const*, char const*, int) () at /app/webkit/WebKitBuild/Debug/WTF/Headers/wtf/Assertions.h:758
#2  0x00007ff18dc9babe in WebCore::RealtimeMediaSource::removeAudioSampleObserver(WebCore::RealtimeMediaSource::AudioSampleObserver&) (this=0x7ff16b5ac0e0, observer=...) at /app/webkit/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp:106
#3  0x00007ff189b62c23 in InternalSource::stopObserving() (this=0x7ff16b11e040) at /app/webkit/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:208
#4  0x00007ff189b5ecd1 in webkitMediaStreamSrcChangeState(GstElement*, GstStateChange) (element=0x55aa5111c410 [GstElement|webkitmediastreamsrc7], transition=GST_STATE_CHANGE_READY_TO_NULL) at /app/webkit/Source/WebCore/platform/mediastream/gstreamer/GStreamerMediaStreamSource.cpp:660
#5  0x00007ff17b57b3f6 in gst_element_change_state (element=element@entry=0x55aa5111c410 [GstElement|webkitmediastreamsrc7], transition=transition@entry=GST_STATE_CHANGE_READY_TO_NULL) at ../gst/gstelement.c:3093
#6  0x00007ff17b57ba40 in gst_element_set_state_func (element=0x55aa5111c410 [GstElement|webkitmediastreamsrc7], state=GST_STATE_NULL) at ../gst/gstelement.c:3047
#7  0x00007fefe84f61a7 in remove_source (urisrc=0x55aa51101020 [GstURISourceBin|urisourcebin7]) at ../gst/playback/gsturisourcebin.c:2228
#8  0x00007fefe84f9a08 in gst_uri_source_bin_change_state (element=0x55aa51101020 [GstElement|urisourcebin7], transition=<optimized out>) at ../gst/playback/gsturisourcebin.c:3013
#9  0x00007ff17b57b3f6 in gst_element_change_state (element=element@entry=0x55aa51101020 [GstElement|urisourcebin7], transition=transition@entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:3093
#10 0x00007ff17b57ba40 in gst_element_set_state_func (element=0x55aa51101020 [GstElement|urisourcebin7], state=GST_STATE_READY) at ../gst/gstelement.c:3047
#11 0x00007ff17b5533fb in gst_bin_element_set_state (next=<optimized out>, current=<optimized out>, start_time=<optimized out>, base_time=<optimized out>, element=0x55aa51101020 [GstElement|urisourcebin7], bin=0x55aa511c3180 [GstBin|uritranscodebin]) at ../gst/gstbin.c:2581
#12 gst_bin_change_state_func (element=0x55aa511c3180 [GstElement|uritranscodebin], transition=<optimized out>) at ../gst/gstbin.c:2930
#13 0x00007ff17b5a90c7 in gst_pipeline_change_state (element=0x55aa511c3180 [GstElement|uritranscodebin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstpipeline.c:529
#14 0x00007ff10c12d422 in gst_uri_transcode_bin_change_state (element=0x55aa511c3180 [GstElement|uritranscodebin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/transcode/gsturitranscodebin.c:467
#15 0x00007ff17b57b3f6 in gst_element_change_state (element=element@entry=0x55aa511c3180 [GstElement|uritranscodebin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:3093
#16 0x00007ff17b57b29a in gst_element_continue_state (element=element@entry=0x55aa511c3180 [GstElement|uritranscodebin], ret=ret@entry=GST_STATE_CHANGE_NO_PREROLL) at ../gst/gstelement.c:2801
#17 0x00007ff17b57b501 in gst_element_change_state (element=element@entry=0x55aa511c3180 [GstElement|uritranscodebin], transition=transition@entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at ../gst/gstelement.c:3139
#18 0x00007ff17b57ba40 in gst_element_set_state_func (element=0x55aa511c3180 [GstElement|uritranscodebin], state=GST_STATE_NULL) at ../gst/gstelement.c:3047
#19 0x00007ff1784a9acd in gst_transcoder_main (data=0x55aa50fbc820) at ../gst-libs/gst/transcoder/gsttranscoder.c:843
#20 0x00007ff17b7d3722 in g_thread_proxy (data=0x7fee9400f0c0) at ../glib/gthread.c:827
#21 0x00007ff17b0421da in start_thread (arg=<optimized out>) at pthread_create.c:442
#22 0x00007ff17b0caf44 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

STDERR: /app/webkit/Source/WebKit/NetworkProcess/storage/StorageUtilities.h(73) : bool WebKit::writeOriginToFile(const WTF::String&, const WebCore::ClientOrigin&)
STDERR: ASSERTION FAILED: isMainThread()
STDERR: /app/webkit/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp(106) : void WebCore::RealtimeMediaSource::removeAudioSampleObserver(AudioSampleObserver&)
Comment 1 Philippe Normand 2023-04-21 07:46:19 PDT
Same crash for fast/mediacapturefromelement/CanvasCaptureMediaStream-webgl-events.html
Comment 2 Philippe Normand 2023-04-21 08:39:59 PDT
Pull request: https://github.com/WebKit/WebKit/pull/13033
Comment 3 EWS 2023-04-24 03:29:39 PDT
Committed 263305@main (d20f97b6f4a0): <https://commits.webkit.org/263305@main>

Reviewed commits have been landed. Closing PR #13033 and removing active labels.
Comment 4 Radar WebKit Bug Importer 2023-04-24 03:30:22 PDT
<rdar://problem/108445961>