RESOLVED FIXED 264707
[GStreamer] MediaPlayer's codecs hashmap needs protection
https://bugs.webkit.org/show_bug.cgi?id=264707
Summary [GStreamer] MediaPlayer's codecs hashmap needs protection
Philippe Normand
Reported 2023-11-12 06:54:36 PST
imported/w3c/web-platform-tests/media-source/mediasource-append-buffer.html is flaky crash on WPE Debug bot. Thread 1 (Thread 0x7fe4b8ff9640 (LWP 605352)): #0 0x00007fe8931c6e73 in WTF::removeIterator<WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >, WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >(WTF::HashTableConstIterator<WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >, WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >*) (it=0x7fe4b8ff8490) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/HashTable.h:1491 #1 0x00007fe8931c5d7e in WTF::HashTableConstIterator<WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >, WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::~HashTableConstIterator() (this=0x7fe4b8ff8490, __in_chrg=<optimized out>) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/HashTable.h:168 #2 0x00007fe8931c4a02 in WTF::HashTableIterator<WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >, WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >::~HashTableIterator() (this=0x7fe4b8ff8490, __in_chrg=<optimized out>) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/HashTable.h:253 #3 0x00007fe893bae442 in WTF::HashTableAddResult<WTF::HashTableIterator<WTF::HashTable<WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> >, WTF::String, WTF::KeyValuePair<WTF::String, WTF::String>, WTF::KeyValuePairKeyExtractor<WTF::KeyValuePair<WTF::String, WTF::String> >, WTF::DefaultHash<WTF::String>, WTF::HashMap<WTF::String, WTF::String, WTF::DefaultHash<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTraits<WTF::String>, WTF::HashTableTraits>::KeyValuePairTraits, WTF::HashTraits<WTF::String> > >::~HashTableAddResult() (this=0x7fe4b8ff8490, __in_chrg=<optimized out>) at /app/webkit/WebKitBuild/WPE/Debug/WTF/Headers/wtf/HashTable.h:308 #4 0x00007fe89b4ce1f3 in operator()(GstPad*, GstPadProbeInfo*, WebCore::MediaPlayerPrivateGStreamer*) const (__closure=0x0, pad=0x7fe550051100 [GstPad|sink], info=0x7fe4b8ff8740, player=0x7fe878803a40) at /app/webkit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:3076 #5 0x00007fe89b4ce274 in _FUN(GstPad*, GstPadProbeInfo*, WebCore::MediaPlayerPrivateGStreamer*) () at /app/webkit/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:3078 #6 0x00007fe8882cd289 in probe_hook_marshal (hook=0x7fe55000c480, data=0x7fe4b8ff85f0) at ../gst/gstpad.c:3669 #7 0x00007fe8884cd197 in g_hook_list_marshal (hook_list=0x7fe550051198, may_recurse=1, marshaller=0x7fe8882ccec0 <probe_hook_marshal>, data=0x7fe4b8ff85f0) at ../glib/ghook.c:674 #8 0x00007fe8882cd870 in do_probe_callbacks (pad=pad@entry=0x7fe550051100 [GstPad|sink], info=info@entry=0x7fe4b8ff8740, defaultval=defaultval@entry=GST_FLOW_OK) at ../gst/gstpad.c:3853 #9 0x00007fe8882d0b70 in gst_pad_send_event_unchecked (pad=pad@entry=0x7fe550051100 [GstPad|sink], event=event@entry=0x7fe494008690 [None], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5911 #10 0x00007fe8882d16a0 in gst_pad_push_event_unchecked (pad=pad@entry=0x7fe494052520 [GstPad|src_1], event=0x7fe494008690 [None], type=<optimized out>, type@entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5572 #11 0x00007fe8882d1c50 in push_sticky (pad=pad@entry=0x7fe494052520 [GstPad|src_1], ev=ev@entry=0x7fe4b8ff8900, user_data=user_data@entry=0x7fe4b8ff8970) at ../gst/gstpad.c:4057 #12 0x00007fe8882c27a3 in events_foreach (pad=0x7fe494052520 [GstPad|src_1], func=0x7fe8882d1b50 <push_sticky>, user_data=0x7fe4b8ff8970) at ../gst/gstpad.c:613 #13 0x00007fe8882d5237 in check_sticky (event=0x7fe494008690 [None], pad=0x7fe494052520 [GstPad|src_1]) at ../gst/gstpad.c:4116 #14 gst_pad_push_event (pad=pad@entry=0x7fe494052520 [GstPad|src_1], event=event@entry=0x7fe494008690 [None]) at ../gst/gstpad.c:5705 #15 0x00007fe8004f5339 in gst_single_queue_push_one (allow_drop=<synthetic pointer>, object=0x7fe494008690 [None], sq=0x7fe494051b30, mq=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2079 #16 gst_multi_queue_loop (pad=<optimized out>) at ../plugins/elements/gstmultiqueue.c:2358 #17 0x00007fe888307911 in gst_task_func (task=0x7fe494052950 [GstTask|multiqueue36:src_1]) at ../gst/gsttask.c:384 #18 0x00007fe888510fb2 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:350 #19 0x00007fe88850bc02 in g_thread_proxy (data=0x7fe814007dd0) at ../glib/gthread.c:831 #20 0x00007fe887d5b25a in start_thread (arg=<optimized out>) at pthread_create.c:442 #21 0x00007fe887de3fc4 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:100
Attachments
Philippe Normand
Comment 1 2023-11-12 06:58:47 PST
EWS
Comment 2 2023-11-13 02:24:11 PST
Committed 270629@main (9c761fded496): <https://commits.webkit.org/270629@main> Reviewed commits have been landed. Closing PR #20391 and removing active labels.
Radar WebKit Bug Importer
Comment 3 2023-11-13 02:25:15 PST
Note You need to log in before you can comment on or make changes to this bug.