[Webkit-unassigned] [Bug 253085] REGRESSION(260881 at main): [GStreamer] DMABuf sink caused several unexpected crashes on the WPE Release bot

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 28 10:39:53 PST 2023


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

--- Comment #5 from Carlos Alberto Lopez Perez <clopez at igalia.com> ---
(In reply to Philippe Normand from comment #3)
> bt for imported/w3c/web-platform-tests/media-source/mediasource-duration.html
> 
> So we have a GPU but the crash is in swrast. :confused:
> 

Maybe the test environment is forcing the software renderer?

(In reply to Philippe Normand from comment #3)
> bt for imported/w3c/web-platform-tests/media-source/mediasource-duration.html
> 
> So we have a GPU but the crash is in swrast. :confused:
> 
> Thread 1 (Thread 0x7f09bcff9640 (LWP 523632)):
> #0  0x00007f0be120cdee in u_transfer_helper_transfer_unmap () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #1  0x00007f0be0ca68c2 in tc_call_texture_unmap () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #2  0x00007f0be0ca6c41 in tc_batch_execute () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #3  0x00007f0be0ca7d66 in _tc_sync.constprop.0 () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #4  0x00007f0be0caf128 in tc_flush () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #5  0x00007f0be07d92ae in st_context_flush () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #6  0x00007f0be070e688 in dri_flush () at
> /usr/lib/x86_64-linux-gnu/GL/default/lib/dri/swrast_dri.so
> #7  0x00007f0c47538359 in
> WebCore::MediaPlayerPrivateGStreamer::pushDMABufToCompositor() () at
> /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1
> #8  0x00007f0c47525efc in webKitVideoSinkSetMediaPlayerPrivate(_GstElement*,
> WebCore::MediaPlayerPrivateGStreamer*)::{lambda(_GstElement*,
> WebCore::MediaPlayerPrivateGStreamer*)#2}::_FUN(_GstElement*,
> WebCore::MediaPlayerPrivateGStreamer*) () at
> /app/webkit/WebKitBuild/Release/lib/libWPEWebKit-2.0.so.1
> #9  0x00007f0c3d47e056 in ffi_call_unix64 () at ../src/x86/unix64.S:104
> #10 0x00007f0c3d47cadd in ffi_call_int (cif=<optimized out>, fn=<optimized
> out>, rvalue=<optimized out>, avalue=<optimized out>, closure=<optimized
> out>) at ../src/x86/ffi64.c:673
> #11 0x00007f0c3d47d2b3 in ffi_call (cif=cif at entry=0x7f09bcff7780,
> fn=fn at entry=0x7f0c47525db0
> <webKitVideoSinkSetMediaPlayerPrivate(_GstElement*,
> WebCore::MediaPlayerPrivateGStreamer*)::{lambda(_GstElement*,
> WebCore::MediaPlayerPrivateGStreamer*)#2}::_FUN(_GstElement*,
> WebCore::MediaPlayerPrivateGStreamer*)>, rvalue=rvalue at entry=0x7f09bcff76e0,
> avalue=avalue at entry=0x7f09bcff76a0) at ../src/x86/ffi64.c:710
> #12 0x00007f0c3fc344c0 in g_cclosure_marshal_generic_va (closure=<optimized
> out>, return_value=<optimized out>, instance=<optimized out>,
> args_list=<optimized out>, marshal_data=<optimized out>, n_params=<optimized
> out>, param_types=<optimized out>) at ../gobject/gclosure.c:1648
> #13 0x00007f0c3fc4c480 in _g_closure_invoke_va (param_types=<optimized out>,
> n_params=<optimized out>, args=0x7f09bcff7990, instance=0x555f7b6f3c10,
> return_value=<optimized out>, closure=0x555f7b6f3f30) at
> ../gobject/gclosure.c:893
> #14 g_signal_emit_valist (instance=<optimized out>, signal_id=<optimized
> out>, detail=<optimized out>, var_args=var_args at entry=0x7f09bcff7990) at
> ../gobject/gsignal.c:3440
> #15 0x00007f0c3fc4c5b3 in g_signal_emit
> (instance=instance at entry=0x555f7b6f3c10, signal_id=<optimized out>,
> detail=detail at entry=0) at ../gobject/gsignal.c:3587
> #16 0x00007f0c4061348d in gst_app_sink_render_common (psink=0x555f7b6f3c10
> [GstBaseSink|webkit-dmabuf-video-appsink], data=<optimized out>,
> is_list=<optimized out>) at ../gst-libs/gst/app/gstappsink.c:1103
> #17 0x00007f0c405ea05e in gst_base_sink_chain_unlocked.constprop.0
> (basesink=0x555f7b6f3c10 [GstBaseSink|webkit-dmabuf-video-appsink],
> obj=0x7f0b40013c60, is_list=<optimized out>, pad=<optimized out>) at
> ../libs/gst/base/gstbasesink.c:3952
> #18 0x00007f0c405b7150 in gst_base_sink_chain_main (basesink=0x555f7b6f3c10
> [GstBaseSink|webkit-dmabuf-video-appsink], pad=<optimized out>,
> obj=0x7f0b40013c60, is_list=0) at ../libs/gst/base/gstbasesink.c:4078
> #19 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f0b50023570 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #20 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f0b1c051630
> [GstPad|proxypad724], type=type at entry=4112, data=data at entry=0x7f0b40013c60)
> at ../gst/gstpad.c:4739
> #21 0x00007f0c435ad4de in gst_pad_push (pad=0x7f0b1c051630
> [GstPad|proxypad724], buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #22 0x00007f0c43592aeb in gst_proxy_pad_chain_default (pad=<optimized out>,
> parent=<optimized out>, buffer=0x7f0b40013c60 [None]) at
> ../gst/gstghostpad.c:127
> #23 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x555f7b593640 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #24 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09c00238b0
> [GstPad|src], type=type at entry=4112, data=data at entry=0x7f0b40013c60) at
> ../gst/gstpad.c:4739
> #25 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09c00238b0 [GstPad|src],
> buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #26 0x00007f0c43592aeb in gst_proxy_pad_chain_default (pad=<optimized out>,
> parent=<optimized out>, buffer=0x7f0b40013c60 [None]) at
> ../gst/gstghostpad.c:127
> #27 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f09c401a7b0 [GstPad|proxypad811], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #28 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09b802b690
> [GstPad|src], type=type at entry=4112, data=data at entry=0x7f0b40013c60) at
> ../gst/gstpad.c:4739
> #29 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09b802b690 [GstPad|src],
> buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #30 0x00007f0c405d331b in gst_base_transform_chain (pad=<optimized out>,
> parent=0x7f09c403ef00 [GstObject|conv2], buffer=<optimized out>) at
> ../libs/gst/base/gstbasetransform.c:2391
> #31 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f09b802b8e0 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #32 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09b802b440
> [GstPad|src], type=type at entry=4112, data=data at entry=0x7f0b40013c60) at
> ../gst/gstpad.c:4739
> #33 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09b802b440 [GstPad|src],
> buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #34 0x00007f0c405d331b in gst_base_transform_chain (pad=<optimized out>,
> parent=0x7f09c401c0d0 [GstObject|videobalance], buffer=<optimized out>) at
> ../libs/gst/base/gstbasetransform.c:2391
> #35 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f09b802b1f0 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #36 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09b8033810
> [GstPad|src], type=type at entry=4112, data=data at entry=0x7f0b40013c60) at
> ../gst/gstpad.c:4739
> #37 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09b8033810 [GstPad|src],
> buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #38 0x00007f0c405d331b in gst_base_transform_chain (pad=<optimized out>,
> parent=0x7f09c403ea20 [GstObject|scale], buffer=<optimized out>) at
> ../libs/gst/base/gstbasetransform.c:2391
> #39 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f09b8033a60 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #40 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09c4040080
> [GstPad|src], type=type at entry=4112, data=data at entry=0x7f0b40013c60) at
> ../gst/gstpad.c:4739
> #41 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09c4040080 [GstPad|src],
> buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #42 0x00007f0c405d331b in gst_base_transform_chain (pad=<optimized out>,
> parent=0x7f09c403d9b0 [GstObject|conv], buffer=<optimized out>) at
> ../libs/gst/base/gstbasetransform.c:2391
> #43 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f09b8033cb0 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #44 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09c401a550
> [GstPad|proxypad810], type=type at entry=4112, data=data at entry=0x7f0b40013c60)
> at ../gst/gstpad.c:4739
> #45 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09c401a550
> [GstPad|proxypad810], buffer=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #46 0x00007f0c43592aeb in gst_proxy_pad_chain_default (pad=<optimized out>,
> parent=<optimized out>, buffer=0x7f0b40013c60 [None]) at
> ../gst/gstghostpad.c:127
> #47 0x00007f0c435a9775 in gst_pad_chain_data_unchecked
> (pad=pad at entry=0x7f09c0023640 [GstPad|sink], type=type at entry=4112,
> data=data at entry=0x7f0b40013c60) at ../gst/gstpad.c:4463
> #48 0x00007f0c435ad114 in gst_pad_push_data (pad=pad at entry=0x7f09b802ab00
> [GstPad|src], type=type at entry=4112, data=data at entry=0x7f0b40013c60) at
> ../gst/gstpad.c:4739
> #49 0x00007f0c435ad4de in gst_pad_push (pad=0x7f09b802ab00 [GstPad|src],
> buffer=buffer at entry=0x7f0b40013c60 [None]) at ../gst/gstpad.c:4858
> #50 0x00007f0bd40545ec in gst_queue_push_one (queue=0x7f09f000c760
> [GstQueue|vqueue]) at ../plugins/elements/gstqueue.c:1388
> #51 gst_queue_loop (pad=<optimized out>) at
> ../plugins/elements/gstqueue.c:1541
> #52 0x00007f0c435d5d41 in gst_task_func (task=0x7f09d001fcb0
> [GstTask|vqueue:src]) at ../gst/gsttask.c:384
> #53 0x00007f0c437e2692 in g_thread_pool_thread_proxy (data=<optimized out>)
> at ../glib/gthreadpool.c:350
> #54 0x00007f0c437df722 in g_thread_proxy (data=0x7f0b5c014640) at
> ../glib/gthread.c:827
> #55 0x00007f0c4304e1da in start_thread (arg=<optimized out>) at
> pthread_create.c:442
> #56 0x00007f0c430d6f44 in clone () at
> ../sysdeps/unix/sysv/linux/x86_64/clone.S:100

Yes, its is strange.

I have checked that the wayland environment works inside the flatpak SDK.

������ org.webkit.Sdk WPE at Release build]$ XDG_RUNTIME_DIR=/run/user/1000 WAYLAND_DISPLAY=wayland-0 /home/buildbot/waylandes2info | curl -F 'sprunge=<-' http://sprunge.us
http://sprunge.us/Qll6fh

You can see how it prints a different Mesa version than the previous one (that one was with the Mesa from the system)

But I don't know why it triggers rendering with swrast. The env var LIBGL_ALWAYS_SOFTWARE is only defined for the GTK port with the xvfb/weston display servers, but not for WPE

Please drop me a line if you want access to the server to debug it.

-- 
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/20230228/c7d25587/attachment-0001.htm>


More information about the webkit-unassigned mailing list