[Webkit-unassigned] [Bug 210498] [GStreamer] GL context is accessed after finalized in WebKitGLVideo bin

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sun May 31 15:47:36 PDT 2020


https://bugs.webkit.org/show_bug.cgi?id=210498

--- Comment #10 from Alicia Boya García <aboya at igalia.com> ---
(In reply to Alicia Boya García from comment #9)
> In fact, I added lots of ref() calls to WebKitGLVideoSink's GstContext and
> the crash was reproducible with the same message, so the context hitting
> ref_count == 0 while remaining in use has to be a different one.

I confirmed it's not indeed the same GstContext, but this is no big deal because creating a new GstContext containing the same GL context is normal and often necessary: e.g. a "gst.gl.local_context" query has to be replied with a "gst.gl.local_context" GstContext, a "gst.gl.app_context" GstContext would not do it, even if they contain the same actual GL context. gst_gl_handle_context_query() does exactly this.

BUT (and I didn't notice this at first) the refcount problem is NOT with the GstContext, but with the GstGLContext, which is a different structure, with the *actual* GL context.

There is still the question of why this GL context is being deleted prematurely 
while being in use though, see the following two threads:

Thread 2 (Thread 0x7f904cb302c0 (LWP 1274)):
#0  0x00007f904da77f8d in syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f904edba283 in g_cond_wait (cond=0x7f77e001f1d8, mutex=0x7f77e001f1c0) at ../glib/gthread-posix.c:1540
#2  0x00007f904f40161d in gst_gl_context_finalize (object=0x7f77e001f220 [GstGLContextGLX]) at ../gst-libs/gst/gl/gstglcontext.c:674
#3  0x00007f904ee5dd6e in g_object_unref (_object=<optimized out>) at ../gobject/gobject.c:3499
#4  0x00007f904ee5dd6e in g_object_unref (_object=0x7f77e001f220) at ../gobject/gobject.c:3391
#5  0x00007f904f6453b5 in gst_object_unref (object=<optimized out>) at ../gst/gstobject.c:266
#6  0x00007f904f3f89c4 in gst_gl_base_filter_reset (filter=0x559b8bce6110 [GstGLUploadElement|gluploadelement56]) at ../gst-libs/gst/gl/gstglbasefilter.c:250
#7  0x00007f904f3f89c4 in gst_gl_base_filter_stop (bt=0x559b8bce6110 [GstGLUploadElement|gluploadelement56]) at ../gst-libs/gst/gl/gstglbasefilter.c:266
#8  0x00007f904f799c16 in gst_base_transform_activate (trans=trans at entry=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], active=active at entry=0) at ../libs/gst/base/gstbasetransform.c:2445
#9  0x00007f904f799cf5 in gst_base_transform_sink_activate_mode (pad=<optimized out>, mode=GST_PAD_MODE_PUSH, active=0, parent=0x559b8bce6110 [GstGLUploadElement|gluploadelement56]) at ../libs/gst/base/gstbasetransform.c:2465
#10 0x00007f904f799cf5 in gst_base_transform_sink_activate_mode (pad=<optimized out>, parent=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], mode=<optimized out>, active=0) at ../libs/gst/base/gstbasetransform.c:2454
#11 0x00007f904f692a9a in activate_mode_internal (pad=pad at entry=0x7f77200e6340 [GstPad|sink], parent=parent at entry=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], mode=mode at entry=GST_PAD_MODE_PUSH, active=active at entry=0) at ../gst/gstpad.c:1217
#12 0x00007f904f693665 in gst_pad_set_active (pad=pad at entry=0x7f77200e6340 [GstPad|sink], active=0) at ../gst/gstpad.c:1115
#13 0x00007f904f66e455 in activate_pads (vpad=<optimized out>, ret=0x7ffddf0adb30, active=0x7ffddf0adb8c) at ../gst/gstelement.c:3040
#14 0x00007f904f68313c in gst_iterator_fold (it=it at entry=0x559b8b5622b0, func=func at entry=0x7f904f66e430 <activate_pads>, ret=ret at entry=0x7ffddf0adb30, user_data=user_data at entry=0x7ffddf0adb8c) at ../gst/gstiterator.c:617
#15 0x00007f904f66ee86 in iterator_activate_fold_with_resync (iter=iter at entry=0x559b8b5622b0, user_data=user_data at entry=0x7ffddf0adb8c, func=0x7f904f66e430 <activate_pads>) at ../gst/gstelement.c:3064
#16 0x00007f904f670f7e in gst_element_pads_activate (element=element at entry=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], active=<optimized out>, active at entry=0) at ../gst/gstelement.c:3108
#17 0x00007f904f6711b1 in gst_element_change_state_func (element=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], transition=<optimized out>) at ../gst/gstelement.c:3174
#18 0x00007f904f3f87df in gst_gl_base_filter_change_state (element=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst-libs/gst/gl/gstglbasefilter.c:386
#19 0x00007f90083b8075 in gst_gl_upload_element_change_state (element=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../ext/gl/gstgluploadelement.c:295
#20 0x00007f904f6733f2 in gst_element_change_state (element=element at entry=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:2952
#21 0x00007f904f673b39 in gst_element_set_state_func (element=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], state=GST_STATE_READY) at ../gst/gstelement.c:2906
#22 0x00007f904f650ca8 in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=23612742846799 [6:33:32.742846799], element=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], bin=0x559b8bcb6040 [WebKitGLVideoSink|webkitglvideosink56]) at ../gst/gstbin.c:2605
#23 0x00007f904f650ca8 in gst_bin_change_state_func (element=0x559b8bcb6040 [WebKitGLVideoSink|webkitglvideosink56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstbin.c:2947
#24 0x00007f906803e097 in webKitGLVideoSinkChangeState(GstElement*, GstStateChange) (element=0x559b8bcb6040 [WebKitGLVideoSink|webkitglvideosink56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../../Source/WebCore/platform/graphics/gstreamer/GLVideoSinkGStreamer.cpp:221
#25 0x00007f904f6733f2 in gst_element_change_state (element=element at entry=0x559b8bcb6040 [WebKitGLVideoSink|webkitglvideosink56], transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:2952
#26 0x00007f904f673b39 in gst_element_set_state_func (element=0x559b8bcb6040 [WebKitGLVideoSink|webkitglvideosink56], state=GST_STATE_READY) at ../gst/gstelement.c:2906
#27 0x00007f904f650ca8 in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=23612742846799 [6:33:32.742846799], element=0x559b8bcb6040 [WebKitGLVideoSink|webkitglvideosink56], bin=0x559b8bcf8070 [GstFPSDisplaySink|sink]) at ../gst/gstbin.c:2605
#28 0x00007f904f650ca8 in gst_bin_change_state_func (element=0x559b8bcf8070 [GstFPSDisplaySink|sink], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstbin.c:2947
#29 0x00007f900837839c in fps_display_sink_change_state (element=0x559b8bcf8070 [GstFPSDisplaySink|sink], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/debugutils/fpsdisplaysink.c:663
#30 0x00007f904f6733f2 in gst_element_change_state (element=element at entry=0x559b8bcf8070 [GstFPSDisplaySink|sink], transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:2952
#31 0x00007f904f673b39 in gst_element_set_state_func (element=0x559b8bcf8070 [GstFPSDisplaySink|sink], state=GST_STATE_READY) at ../gst/gstelement.c:2906
#32 0x00007f904f650ca8 in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=23612742846799 [6:33:32.742846799], element=0x559b8bcf8070 [GstFPSDisplaySink|sink], bin=0x7f7720084ad0 [GstBin|vbin]) at ../gst/gstbin.c:2605
#33 0x00007f904f650ca8 in gst_bin_change_state_func (element=0x7f7720084ad0 [GstBin|vbin], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstbin.c:2947
#34 0x00007f904f6733f2 in gst_element_change_state (element=element at entry=0x7f7720084ad0 [GstBin|vbin], transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:2952
#35 0x00007f904f673b39 in gst_element_set_state_func (element=0x7f7720084ad0 [GstBin|vbin], state=GST_STATE_READY) at ../gst/gstelement.c:2906
#36 0x00007f904f650ca8 in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=23612742846799 [6:33:32.742846799], element=0x7f7720084ad0 [GstBin|vbin], bin=0x559b8b9861e0 [GstPlaySink|playsink]) at ../gst/gstbin.c:2605
#37 0x00007f904f650ca8 in gst_bin_change_state_func (element=0x559b8b9861e0 [GstPlaySink|playsink], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstbin.c:2947
#38 0x00007f90087c0d00 in gst_play_sink_change_state (element=0x559b8b9861e0 [GstPlaySink|playsink], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/playback/gstplaysink.c:4979
#39 0x00007f904f6733f2 in gst_element_change_state (element=element at entry=0x559b8b9861e0 [GstPlaySink|playsink], transition=transition at entry=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:2952
#40 0x00007f904f673b39 in gst_element_set_state_func (element=0x559b8b9861e0 [GstPlaySink|playsink], state=GST_STATE_READY) at ../gst/gstelement.c:2906
#41 0x00007f904f650ca8 in gst_bin_element_set_state (next=GST_STATE_READY, current=GST_STATE_PAUSED, start_time=0 [0:00:00.000000000], base_time=23612742846799 [6:33:32.742846799], element=0x559b8b9861e0 [GstPlaySink|playsink], bin=0x559b8b82b640 [GstPlayBin3|mediastream-56]) at ../gst/gstbin.c:2605
#42 0x00007f904f650ca8 in gst_bin_change_state_func (element=0x559b8b82b640 [GstPlayBin3|mediastream-56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstbin.c:2947
#43 0x00007f90087bb12c in gst_play_bin3_change_state (element=0x559b8b82b640 [GstPlayBin3|mediastream-56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/playback/gstplaybin3.c:4943
#44 0x00007f904f6733f2 in gst_element_change_state (element=element at entry=0x559b8b82b640 [GstPlayBin3|mediastream-56], transition=GST_STATE_CHANGE_PAUSED_TO_READY) at ../gst/gstelement.c:2952
#45 0x00007f904f673e28 in gst_element_continue_state (element=element at entry=0x559b8b82b640 [GstPlayBin3|mediastream-56], ret=ret at entry=GST_STATE_CHANGE_NO_PREROLL) at ../gst/gstelement.c:2660
#46 0x00007f904f6734ef in gst_element_change_state (element=element at entry=0x559b8b82b640 [GstPlayBin3|mediastream-56], transition=transition at entry=GST_STATE_CHANGE_PLAYING_TO_PAUSED) at ../gst/gstelement.c:2998
#47 0x00007f904f673b39 in gst_element_set_state_func (element=0x559b8b82b640 [GstPlayBin3|mediastream-56], state=GST_STATE_NULL) at ../gst/gstelement.c:2906
#48 0x00007f9068048330 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() (this=0x7f77b43cf3c0, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:304
#49 0x00007f90680486d4 in WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer() (this=0x7f77b43cf3c0, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:307
#50 0x00007f906738f4c0 in std::default_delete<WebCore::MediaPlayerPrivateInterface>::operator()(WebCore::MediaPlayerPrivateInterface*) const (this=0x7f90080a2288, __ptr=0x7f77b43cf3c0) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#51 0x00007f906738da36 in std::unique_ptr<WebCore::MediaPlayerPrivateInterface, std::default_delete<WebCore::MediaPlayerPrivateInterface> >::~unique_ptr() (this=0x7f90080a2288, __in_chrg=<optimized out>) at /usr/include/c++/9.3.0/bits/unique_ptr.h:292
#52 0x00007f906737ebb6 in WebCore::MediaPlayer::~MediaPlayer() (this=0x7f90080a2240, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/MediaPlayer.cpp:411
#53 0x00007f906737ebf2 in WebCore::MediaPlayer::~MediaPlayer() (this=0x7f90080a2240, __in_chrg=<optimized out>) at ../../Source/WebCore/platform/graphics/MediaPlayer.cpp:414
#54 0x00007f9063f2d358 in std::default_delete<WebCore::MediaPlayer>::operator()(WebCore::MediaPlayer*) const (this=0x7ffddf0ae827, __ptr=0x7f90080a2240) at /usr/include/c++/9.3.0/bits/unique_ptr.h:81
#55 0x00007f9063f27278 in WTF::RefCounted<WebCore::MediaPlayer, std::default_delete<WebCore::MediaPlayer> >::deref() const (this=0x7f90080a2248) at DerivedSources/ForwardingHeaders/wtf/RefCounted.h:190
#56 0x00007f9063f24f32 in WTF::derefIfNotNull<WebCore::MediaPlayer>(WebCore::MediaPlayer*) (ptr=0x7f90080a2240) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:44
#57 0x00007f9063f20c40 in WTF::RefPtr<WebCore::MediaPlayer, WTF::DumbPtrTraits<WebCore::MediaPlayer> >::~RefPtr() (this=0x7ffddf0ae8a0, __in_chrg=<optimized out>) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:70
#58 0x00007f9063f223c9 in WTF::RefPtr<WebCore::MediaPlayer, WTF::DumbPtrTraits<WebCore::MediaPlayer> >::operator=<WebCore::MediaPlayer>(WTF::Ref<WebCore::MediaPlayer, WTF::DumbPtrTraits<WebCore::MediaPlayer> >&&) (this=0x7f9001a46c48, reference=...) at DerivedSources/ForwardingHeaders/wtf/RefPtr.h:181
#59 0x00007f90669f05be in WebCore::HTMLMediaElement::createMediaPlayer() (this=0x7f9001a46610) at ../../Source/WebCore/html/HTMLMediaElement.cpp:6594
#60 0x00007f90669d998a in WebCore::HTMLMediaElement::prepareForLoad() (this=0x7f9001a46610) at ../../Source/WebCore/html/HTMLMediaElement.cpp:1156
#61 0x00007f90669d9299 in WebCore::HTMLMediaElement::setSrcObject(WTF::Optional<WTF::Variant<WTF::RefPtr<WebCore::MediaStream, WTF::DumbPtrTraits<WebCore::MediaStream> >, WTF::RefPtr<WebCore::MediaSource, WTF::DumbPtrTraits<WebCore::MediaSource> >, WTF::RefPtr<WebCore::Blob, WTF::DumbPtrTraits<WebCore::Blob> > > >&&) (this=0x7f9001a46610, mediaProvider=...) at ../../Source/WebCore/html/HTMLMediaElement.cpp:1057
#62 0x00007f906534c9c1 in WebCore::<lambda()>::operator()(void) const (__closure=0x7ffddf0aea70) at DerivedSources/WebCore/JSHTMLMediaElement.cpp:611
#63 0x00007f90653589bc in WebCore::AttributeSetter::call<WebCore::setJSHTMLMediaElementSrcObjectSetter(JSC::JSGlobalObject&, WebCore::JSHTMLMediaElement&, JSC::JSValue, JSC::ThrowScope&)::<lambda()> >(JSC::JSGlobalObject &, JSC::ThrowScope &, WebCore::<lambda()> &&) (functor=...) at ../../Source/WebCore/bindings/js/JSDOMAttribute.h:97
#64 0x00007f906534ca65 in WebCore::setJSHTMLMediaElementSrcObjectSetter(JSC::JSGlobalObject&, WebCore::JSHTMLMediaElement&, JSC::JSValue, JSC::ThrowScope&) (lexicalGlobalObject=..., thisObject=..., value=..., throwScope=...) at DerivedSources/WebCore/JSHTMLMediaElement.cpp:610
#65 0x00007f9065358ad4 in WebCore::IDLAttribute<WebCore::JSHTMLMediaElement>::set<WebCore::setJSHTMLMediaElementSrcObjectSetter>(JSC::JSGlobalObject&, JSC::EncodedJSValue, JSC::EncodedJSValue, char const*) (lexicalGlobalObject=..., thisValue=140152103305360, encodedValue=2, attributeName=0x7f9069dc3c9b "srcObject") at ../../Source/WebCore/bindings/js/JSDOMAttribute.h:50
#66 0x00007f906534cac2 in WebCore::setJSHTMLMediaElementSrcObject(JSC::JSGlobalObject*, long, long) (lexicalGlobalObject=0x7f77b45cafc0, thisValue=140152103305360, encodedValue=2) at DerivedSources/WebCore/JSHTMLMediaElement.cpp:618
#67 0x00007f90552c3b65 in JSC::callCustomSetter(JSC::JSGlobalObject*, bool (*)(JSC::JSGlobalObject*, long, long), bool, JSC::JSValue, JSC::JSValue) (globalObject=0x7f77b45cafc0, setter=0x7f906534ca93 <WebCore::setJSHTMLMediaElementSrcObject(JSC::JSGlobalObject*, long, long)>, isAccessor=true, thisValue=..., value=...) at ../../Source/JavaScriptCore/runtime/CustomGetterSetter.cpp:41
#68 0x00007f90552c3c1d in JSC::callCustomSetter(JSC::JSGlobalObject*, JSC::JSValue, bool, JSC::JSObject*, JSC::JSValue, JSC::JSValue) (globalObject=0x7f77b45cafc0, customGetterSetter=..., isAccessor=true, base=0x7f90084d70c0, thisValue=..., value=...) at ../../Source/JavaScriptCore/runtime/CustomGetterSetter.cpp:58
#69 0x00007f90553ffa37 in JSC::JSObject::putInlineSlow(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) (this=0x7f77b4550090, globalObject=0x7f77b45cafc0, propertyName=..., value=..., slot=...) at ../../Source/JavaScriptCore/runtime/JSObject.cpp:823
#70 0x00007f90549c0f23 in JSC::JSObject::putInlineForJSObject(JSC::JSCell*, JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) (cell=0x7f77b4550090, globalObject=0x7f77b45cafc0, propertyName=..., value=..., slot=...) at ../../Source/JavaScriptCore/runtime/JSObjectInlines.h:270
#71 0x00007f90549b9ad8 in JSC::JSCell::putInline(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) (this=0x7f77b4550090, globalObject=0x7f77b45cafc0, propertyName=..., value=..., slot=...) at ../../Source/JavaScriptCore/runtime/JSCellInlines.h:394
#72 0x00007f90549bbc91 in JSC::JSValue::putInline(JSC::JSGlobalObject*, JSC::PropertyName, JSC::JSValue, JSC::PutPropertySlot&) (this=0x7ffddf0aeeb8, globalObject=0x7f77b45cafc0, propertyName=..., value=..., slot=...) at ../../Source/JavaScriptCore/runtime/JSCJSValueInlines.h:1073
#73 0x00007f90550baa94 in JSC::LLInt::llint_slow_path_put_by_id(JSC::CallFrame*, JSC::Instruction const*) (callFrame=0x7ffddf0af040, pc=0x7f900809dbd7) at ../../Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:898
#74 0x00007f9054074a99 in llint_op_put_by_id () at /app/webkit/Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:97
#75 0x0000000000000000 in  ()

Thread 1 (Thread 0x7f772effd700 (LWP 1846)):
#0  0x00007f904ed72ee5 in _g_log_abort (breakpoint=1) at ../glib/gmessages.c:554
#1  0x00007f904ed741c9 in g_logv (log_domain=0x7f904ee8a2f7 "GLib-GObject", log_level=G_LOG_LEVEL_CRITICAL, format=<optimized out>, args=args at entry=0x7f772effa6c0) at ../glib/gmessages.c:1373
#2  0x00007f904ed74393 in g_log (log_domain=log_domain at entry=0x7f904ee8a2f7 "GLib-GObject", log_level=log_level at entry=G_LOG_LEVEL_CRITICAL, format=format at entry=0x7f904edc577f "%s: assertion '%s' failed") at ../glib/gmessages.c:1415
#3  0x00007f904ed74b8d in g_return_if_fail_warning (log_domain=log_domain at entry=0x7f904ee8a2f7 "GLib-GObject", pretty_function=pretty_function at entry=0x7f904ee8d978 <__func__.15604> "g_object_ref", expression=expression at entry=0x7f904ee8c715 "old_val > 0") at ../glib/gmessages.c:2771
#4  0x00007f904ee5d9fa in g_object_ref (_object=0x7f77e001f220) at ../gobject/gobject.c:3368
#5  0x00007f904ee5d9fa in g_object_ref (_object=0x7f77e001f220) at ../gobject/gobject.c:3360
#6  0x00007f904ee5db08 in g_value_object_collect_value (value=0x7f772effa7d8, n_collect_values=<optimized out>, collect_values=<optimized out>, collect_flags=<optimized out>) at ../gobject/gobject.c:4007
#7  0x00007f904f6b7a46 in gst_structure_set_valist_internal (structure=0x559b8b7cc540, fieldname=<optimized out>, varargs=varargs at entry=0x7f772effa880) at ../gst/gststructure.c:631
#8  0x00007f904f6b8dc6 in gst_structure_set (structure=structure at entry=0x559b8b7cc540, field=field at entry=0x7f904f430a19 "context") at ../gst/gststructure.c:663
#9  0x00007f904f41b8e5 in gst_gl_handle_context_query (element=element at entry=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], query=query at entry=0x7f7720054d90 [GstQuery], display=<optimized out>, gl_context=0x7f77e001f220 [GstGLContextGLX|glcontextglx59], other_context=<optimized out>) at ../gst-libs/gst/gl/gstglutils.c:550
#10 0x00007f904f3f8b1b in gst_gl_base_filter_query (trans=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], direction=GST_PAD_SRC, query=0x7f7720054d90 [GstQuery]) at ../gst-libs/gst/gl/gstglbasefilter.c:224
#11 0x00007f904f695238 in gst_pad_query (pad=pad at entry=0x7f7714090860 [GstPad|src], query=query at entry=0x7f7720054d90 [GstQuery]) at ../gst/gstpad.c:4072
#12 0x00007f904f69599b in gst_pad_peer_query (pad=pad at entry=0x7f771407d8f0 [GstPad|sink], query=query at entry=0x7f7720054d90 [GstQuery]) at ../gst/gstpad.c:4204
#13 0x00007f904f41a9b6 in pad_query (item=<optimized out>, value=0x7f772effabc0, user_data=0x7f7720054d90) at ../gst-libs/gst/gl/gstglutils.c:108
#14 0x00007f904f68313c in gst_iterator_fold (it=it at entry=0x7f7708003800, func=func at entry=0x7f904f41a990 <pad_query>, ret=ret at entry=0x7f772effabc0, user_data=user_data at entry=0x7f7720054d90) at ../gst/gstiterator.c:617
#15 0x00007f904f41ab26 in gst_gl_run_query (element=<optimized out>, query=query at entry=0x7f7720054d90 [GstQuery], direction=direction at entry=GST_PAD_SINK) at ../gst-libs/gst/gl/gstglutils.c:136
#16 0x00007f904f41babd in gst_gl_query_local_gl_context (element=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56], direction=direction at entry=GST_PAD_SINK, context_ptr=context_ptr at entry=0x559b8bce66c8) at ../gst-libs/gst/gl/gstglutils.c:591
#17 0x00007f904f3f864e in _find_local_gl_context (filter=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56]) at ../gst-libs/gst/gl/gstglbasefilter.c:197
#18 0x00007f904f3f8df5 in gst_gl_base_filter_find_gl_context (filter=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56]) at ../gst-libs/gst/gl/gstglbasefilter.c:432
#19 0x00007f90083b94b1 in gst_gl_color_convert_element_transform_caps (bt=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56], direction=GST_PAD_SRC, caps=0x7f76f00082d0 [GstCaps], filter=0x7f76f0008140 [GstCaps]) at ../ext/gl/gstglcolorconvertelement.c:145
#20 0x00007f904f797e71 in gst_base_transform_transform_caps (trans=trans at entry=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56], direction=GST_PAD_SRC, caps=caps at entry=0x7f76f00082d0 [GstCaps], filter=filter at entry=0x7f76f0008140 [GstCaps]) at ../libs/gst/base/gstbasetransform.c:474
#21 0x00007f904f79bce5 in gst_base_transform_query_caps (filter=0x7f76f0008140 [GstCaps], pad=0x7f771407d8f0 [GstPad|sink], trans=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56]) at ../libs/gst/base/gstbasetransform.c:695
#22 0x00007f904f79bce5 in gst_base_transform_default_query (trans=0x559b8bce6480 [GstGLColorConvertElement|glcolorconvertelement56], direction=<optimized out>, query=0x7f76f00081e0 [GstQuery]) at ../libs/gst/base/gstbasetransform.c:1550
#23 0x00007f904f695238 in gst_pad_query (pad=pad at entry=0x7f771407d8f0 [GstPad|sink], query=query at entry=0x7f76f00081e0 [GstQuery]) at ../gst/gstpad.c:4072
#24 0x00007f904f69599b in gst_pad_peer_query (pad=pad at entry=0x7f7714090860 [GstPad|src], query=query at entry=0x7f76f00081e0 [GstQuery]) at ../gst/gstpad.c:4204
#25 0x00007f904f6d39dc in gst_pad_peer_query_caps (pad=pad at entry=0x7f7714090860 [GstPad|src], filter=filter at entry=0x7f76f0008140 [GstCaps]) at ../gst/gstutils.c:3107
#26 0x00007f904f79ba54 in gst_base_transform_query_caps (filter=0x7f7708023800 [GstCaps], pad=0x7f77200e6340 [GstPad|sink], trans=0x559b8bce6110 [GstGLUploadElement|gluploadelement56]) at ../libs/gst/base/gstbasetransform.c:678
#27 0x00007f904f79ba54 in gst_base_transform_default_query (trans=0x559b8bce6110 [GstGLUploadElement|gluploadelement56], direction=<optimized out>, query=0x7f76f0008190 [GstQuery]) at ../libs/gst/base/gstbasetransform.c:1550
#28 0x00007f904f695238 in gst_pad_query (pad=pad at entry=0x7f77200e6340 [GstPad|sink], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4072
#29 0x00007f904f69599b in gst_pad_peer_query (pad=pad at entry=0x7f77200e5140 [GstProxyPad|proxypad1190], query=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4204
#30 0x00007f904f6cdd3c in query_caps_func (pad=pad at entry=0x7f77200e5140 [GstProxyPad|proxypad1190], data=data at entry=0x7f772effb1f0) at ../gst/gstutils.c:2765
#31 0x00007f904f693d2e in gst_pad_forward (pad=pad at entry=0x559b8b98cab0 [GstGhostPad|sink], forward=forward at entry=0x7f904f6cdd10 <query_caps_func>, user_data=user_data at entry=0x7f772effb1f0) at ../gst/gstpad.c:3008
#32 0x00007f904f6d0a6a in gst_pad_proxy_query_caps (pad=pad at entry=0x559b8b98cab0 [GstGhostPad|sink], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstutils.c:2815
#33 0x00007f904f693f58 in gst_pad_query_caps_default (query=0x7f76f0008190 [GstQuery], pad=0x559b8b98cab0 [GstGhostPad|sink]) at ../gst/gstpad.c:3187
#34 0x00007f904f693f58 in gst_pad_query_default (pad=0x559b8b98cab0 [GstGhostPad|sink], parent=<optimized out>, query=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:3415
#35 0x00007f904f695238 in gst_pad_query (pad=pad at entry=0x559b8b98cab0 [GstGhostPad|sink], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4072
#36 0x00007f904f69599b in gst_pad_peer_query (pad=pad at entry=0x7f771408c7c0 [GstProxyPad|proxypad1191], query=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4204
#37 0x00007f904f6cdd3c in query_caps_func (pad=pad at entry=0x7f771408c7c0 [GstProxyPad|proxypad1191], data=data at entry=0x7f772effb4c0) at ../gst/gstutils.c:2765
#38 0x00007f904f693d2e in gst_pad_forward (pad=pad at entry=0x559b8b98cd30 [GstGhostPad|sink], forward=forward at entry=0x7f904f6cdd10 <query_caps_func>, user_data=user_data at entry=0x7f772effb4c0) at ../gst/gstpad.c:3008
#39 0x00007f904f6d0a6a in gst_pad_proxy_query_caps (pad=pad at entry=0x559b8b98cd30 [GstGhostPad|sink], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstutils.c:2815
#40 0x00007f904f693f58 in gst_pad_query_caps_default (query=0x7f76f0008190 [GstQuery], pad=0x559b8b98cd30 [GstGhostPad|sink]) at ../gst/gstpad.c:3187
#41 0x00007f904f693f58 in gst_pad_query_default (pad=0x559b8b98cd30 [GstGhostPad|sink], parent=<optimized out>, query=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:3415
#42 0x00007f904f695238 in gst_pad_query (pad=pad at entry=0x559b8b98cd30 [GstGhostPad|sink], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4072
#43 0x00007f904f69599b in gst_pad_peer_query (pad=pad at entry=0x7f771405e460 [GstGhostPad|src], query=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4204
#44 0x00007f904f6cdd3c in query_caps_func (pad=pad at entry=0x7f771405e460 [GstGhostPad|src], data=data at entry=0x7f772effb790) at ../gst/gstutils.c:2765
#45 0x00007f904f693d2e in gst_pad_forward (pad=pad at entry=0x7f771408d600 [GstProxyPad|proxypad1203], forward=forward at entry=0x7f904f6cdd10 <query_caps_func>, user_data=user_data at entry=0x7f772effb790) at ../gst/gstpad.c:3008
#46 0x00007f904f6d0a6a in gst_pad_proxy_query_caps (pad=pad at entry=0x7f771408d600 [GstProxyPad|proxypad1203], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstutils.c:2815
#47 0x00007f904f693f58 in gst_pad_query_caps_default (query=0x7f76f0008190 [GstQuery], pad=0x7f771408d600 [GstProxyPad|proxypad1203]) at ../gst/gstpad.c:3187
#48 0x00007f904f693f58 in gst_pad_query_default (pad=0x7f771408d600 [GstProxyPad|proxypad1203], parent=<optimized out>, query=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:3415
#49 0x00007f904f695238 in gst_pad_query (pad=pad at entry=0x7f771408d600 [GstProxyPad|proxypad1203], query=query at entry=0x7f76f0008190 [GstQuery]) at ../gst/gstpad.c:4072
#50 0x00007f904f6d130c in gst_pad_query_caps (pad=pad at entry=0x7f771408d600 [GstProxyPad|proxypad1203], filter=filter at entry=0x7f7708023800 [GstCaps]) at ../gst/gstutils.c:3061
#51 0x00007f904f799f6f in gst_base_transform_find_transform (caps=0x7f7718009d40 [GstCaps], pad=0x7f771405cd80 [GstPad|sink], trans=0x7f7714077a50 [GstVideoConvert|conv2]) at ../libs/gst/base/gstbasetransform.c:1123
#52 0x00007f904f799f6f in gst_base_transform_setcaps (trans=trans at entry=0x7f7714077a50 [GstVideoConvert|conv2], pad=0x7f771405cd80 [GstPad|sink], incaps=0x7f7718009d40 [GstCaps]) at ../libs/gst/base/gstbasetransform.c:1309
#53 0x00007f904f79c1ba in gst_base_transform_sink_eventfunc (trans=0x7f7714077a50 [GstVideoConvert|conv2], event=0x7f7718008490 [GstEvent]) at ../libs/gst/base/gstbasetransform.c:1898
#54 0x00007f904f68e1a4 in gst_pad_send_event_unchecked (pad=pad at entry=0x7f771405cd80 [GstPad|sink], event=event at entry=0x7f7718008490 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5766
#55 0x00007f904f68e754 in gst_pad_push_event_unchecked (pad=pad at entry=0x7f771405c690 [GstPad|src], event=0x7f7718008490 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5411
#56 0x00007f904f68ebca in push_sticky (pad=pad at entry=0x7f771405c690 [GstPad|src], ev=ev at entry=0x7f772effbc00, user_data=user_data at entry=0x7f772effbc70) at ../gst/gstevent.h:438
#57 0x00007f904f68c520 in events_foreach (pad=pad at entry=0x7f771405c690 [GstPad|src], func=func at entry=0x7f904f68eb70 <push_sticky>, user_data=user_data at entry=0x7f772effbc70) at ../gst/gstpad.c:608
#58 0x00007f904f697491 in check_sticky (event=0x7f7718008490 [GstEvent], pad=0x7f771405c690 [GstPad|src]) at ../gst/gstpad.c:3986
#59 0x00007f904f697491 in gst_pad_push_event (pad=pad at entry=0x7f771405c690 [GstPad|src], event=0x7f7718008490 [GstEvent]) at ../gst/gstpad.c:5542
#60 0x00007f904f79ad18 in gst_pad_set_caps (caps=0x7f7718009d40 [GstCaps], pad=0x7f771405c690 [GstPad|src]) at ../gst/gstcompat.h:59
#61 0x00007f904f79ad18 in gst_base_transform_setcaps (trans=trans at entry=0x7f77140729a0 [GstVideoBalance|videobalance], pad=<optimized out>, incaps=0x7f7718009d40 [GstCaps]) at ../libs/gst/base/gstbasetransform.c:1337
#62 0x00007f904f79c1ba in gst_base_transform_sink_eventfunc (trans=0x7f77140729a0 [GstVideoBalance|videobalance], event=0x7f77280045c0 [GstEvent]) at ../libs/gst/base/gstbasetransform.c:1898
#63 0x00007f904f68e1a4 in gst_pad_send_event_unchecked (pad=pad at entry=0x7f77200e60f0 [GstPad|sink], event=event at entry=0x7f77280045c0 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5766
#64 0x00007f904f68e754 in gst_pad_push_event_unchecked (pad=pad at entry=0x7f771405cfd0 [GstPad|src], event=0x7f77280045c0 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5411
#65 0x00007f904f68ebca in push_sticky (pad=pad at entry=0x7f771405cfd0 [GstPad|src], ev=ev at entry=0x7f772effbfa0, user_data=user_data at entry=0x7f772effc010) at ../gst/gstevent.h:438
#66 0x00007f904f68c520 in events_foreach (pad=pad at entry=0x7f771405cfd0 [GstPad|src], func=func at entry=0x7f904f68eb70 <push_sticky>, user_data=user_data at entry=0x7f772effc010) at ../gst/gstpad.c:608
#67 0x00007f904f697491 in check_sticky (event=0x7f77280045c0 [GstEvent], pad=0x7f771405cfd0 [GstPad|src]) at ../gst/gstpad.c:3986
#68 0x00007f904f697491 in gst_pad_push_event (pad=pad at entry=0x7f771405cfd0 [GstPad|src], event=0x7f77280045c0 [GstEvent]) at ../gst/gstpad.c:5542
#69 0x00007f904f79ad18 in gst_pad_set_caps (caps=0x7f7718009d40 [GstCaps], pad=0x7f771405cfd0 [GstPad|src]) at ../gst/gstcompat.h:59
#70 0x00007f904f79ad18 in gst_base_transform_setcaps (trans=trans at entry=0x7f771408e2e0 [GstVideoScale|scale], pad=<optimized out>, incaps=0x7f7718009d40 [GstCaps]) at ../libs/gst/base/gstbasetransform.c:1337
#71 0x00007f904f79c1ba in gst_base_transform_sink_eventfunc (trans=0x7f771408e2e0 [GstVideoScale|scale], event=0x7f7714006350 [GstEvent]) at ../libs/gst/base/gstbasetransform.c:1898
#72 0x00007f904f68e1a4 in gst_pad_send_event_unchecked (pad=pad at entry=0x7f771405d6c0 [GstPad|sink], event=event at entry=0x7f7714006350 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5766
#73 0x00007f904f68e754 in gst_pad_push_event_unchecked (pad=pad at entry=0x7f771405d470 [GstPad|src], event=0x7f7714006350 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5411
#74 0x00007f904f68ebca in push_sticky (pad=pad at entry=0x7f771405d470 [GstPad|src], ev=ev at entry=0x7f772effc340, user_data=user_data at entry=0x7f772effc3b0) at ../gst/gstevent.h:438
#75 0x00007f904f68c520 in events_foreach (pad=pad at entry=0x7f771405d470 [GstPad|src], func=func at entry=0x7f904f68eb70 <push_sticky>, user_data=user_data at entry=0x7f772effc3b0) at ../gst/gstpad.c:608
#76 0x00007f904f697491 in check_sticky (event=0x7f7714006350 [GstEvent], pad=0x7f771405d470 [GstPad|src]) at ../gst/gstpad.c:3986
#77 0x00007f904f697491 in gst_pad_push_event (pad=pad at entry=0x7f771405d470 [GstPad|src], event=0x7f7714006350 [GstEvent]) at ../gst/gstpad.c:5542
#78 0x00007f904f79ad18 in gst_pad_set_caps (caps=0x7f7718009d40 [GstCaps], pad=0x7f771405d470 [GstPad|src]) at ../gst/gstcompat.h:59
#79 0x00007f904f79ad18 in gst_base_transform_setcaps (trans=trans at entry=0x7f77140360d0 [GstVideoConvert|conv], pad=<optimized out>, incaps=0x7f7718009d40 [GstCaps]) at ../libs/gst/base/gstbasetransform.c:1337
#80 0x00007f904f79c1ba in gst_base_transform_sink_eventfunc (trans=0x7f77140360d0 [GstVideoConvert|conv], event=0x7f771c2818b0 [GstEvent]) at ../libs/gst/base/gstbasetransform.c:1898
#81 0x00007f904f68e1a4 in gst_pad_send_event_unchecked (pad=pad at entry=0x7f771405d220 [GstPad|sink], event=event at entry=0x7f771c2818b0 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5766
#82 0x00007f904f68e754 in gst_pad_push_event_unchecked (pad=pad at entry=0x7f771408d860 [GstProxyPad|proxypad1202], event=0x7f771c2818b0 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5411
#83 0x00007f904f68ebca in push_sticky (pad=pad at entry=0x7f771408d860 [GstProxyPad|proxypad1202], ev=ev at entry=0x7f772effc6e0, user_data=user_data at entry=0x7f772effc750) at ../gst/gstevent.h:438
#84 0x00007f904f68c520 in events_foreach (pad=pad at entry=0x7f771408d860 [GstProxyPad|proxypad1202], func=func at entry=0x7f904f68eb70 <push_sticky>, user_data=user_data at entry=0x7f772effc750) at ../gst/gstpad.c:608
#85 0x00007f904f697491 in check_sticky (event=0x7f771c2818b0 [GstEvent], pad=0x7f771408d860 [GstProxyPad|proxypad1202]) at ../gst/gstpad.c:3986
#86 0x00007f904f697491 in gst_pad_push_event (pad=pad at entry=0x7f771408d860 [GstProxyPad|proxypad1202], event=0x7f771c2818b0 [GstEvent]) at ../gst/gstpad.c:5542
#87 0x00007f904f697a0b in event_forward_func (pad=pad at entry=0x7f771408d860 [GstProxyPad|proxypad1202], data=data at entry=0x7f772effc850) at ../gst/gstevent.h:438
#88 0x00007f904f693d2e in gst_pad_forward (pad=pad at entry=0x7f771405e1e0 [GstGhostPad|sink], forward=forward at entry=0x7f904f697950 <event_forward_func>, user_data=user_data at entry=0x7f772effc850) at ../gst/gstpad.c:3008
#89 0x00007f904f693e75 in gst_pad_event_default (pad=pad at entry=0x7f771405e1e0 [GstGhostPad|sink], parent=parent at entry=0x7f77140221a0 [GstPlaySinkVideoConvert|vconv], event=0x7f771c2818b0 [GstEvent]) at ../gst/gstpad.c:3105
#90 0x00007f90087d3f1a in gst_play_sink_convert_bin_sink_event (pad=0x7f771405e1e0 [GstGhostPad|sink], parent=0x7f77140221a0 [GstPlaySinkVideoConvert|vconv], event=0x7f771c2818b0 [GstEvent]) at /usr/include/gstreamer-1.0/gst/gstevent.h:438
#91 0x00007f904f68e1a4 in gst_pad_send_event_unchecked (pad=pad at entry=0x7f771405e1e0 [GstGhostPad|sink], event=event at entry=0x7f771c2818b0 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5766
#92 0x00007f904f68e754 in gst_pad_push_event_unchecked (pad=pad at entry=0x7f7714091d30 [GstPad|src], event=0x7f771c2818b0 [GstEvent], type=<optimized out>, type at entry=GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM) at ../gst/gstpad.c:5411
#93 0x00007f904f68ebca in push_sticky (pad=pad at entry=0x7f7714091d30 [GstPad|src], ev=ev at entry=0x7f772effcab0, user_data=user_data at entry=0x7f772effcb20) at ../gst/gstevent.h:438
#94 0x00007f904f68c520 in events_foreach (pad=pad at entry=0x7f7714091d30 [GstPad|src], func=func at entry=0x7f904f68eb70 <push_sticky>, user_data=user_data at entry=0x7f772effcb20) at ../gst/gstpad.c:608
#95 0x00007f904f697491 in check_sticky (event=0x7f771c2818b0 [GstEvent], pad=0x7f7714091d30 [GstPad|src]) at ../gst/gstpad.c:3986
#96 0x00007f904f697491 in gst_pad_push_event (pad=0x7f7714091d30 [GstPad|src], event=event at entry=0x7f771c2818b0 [GstEvent]) at ../gst/gstpad.c:5542
#97 0x00007f900896ef52 in gst_queue_push_one (queue=0x7f77200a7050 [GstQueue|vqueue]) at ../plugins/elements/gstqueue.c:1455
#98 0x00007f900896ef52 in gst_queue_loop (pad=<optimized out>) at ../plugins/elements/gstqueue.c:1537
#99 0x00007f904f6c4be7 in gst_task_func (task=0x7f77000823b0 [GstTask|vqueue:src]) at ../gst/gsttask.c:328
#100 0x00007f904ed97004 in g_thread_pool_thread_proxy (data=<optimized out>) at ../glib/gthreadpool.c:354
#101 0x00007f904ed96761 in g_thread_proxy (data=0x7f770c002180) at ../glib/gthread.c:807
#102 0x00007f904fde95e2 in start_thread (arg=<optimized out>) at pthread_create.c:479
#103 0x00007f904da7d473 in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

-- 
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/20200531/fd951b72/attachment-0001.htm>


More information about the webkit-unassigned mailing list