Bug#1003325: epiphany-browser: SIGSEGV when accessing pages with HTML5 video content

Henry-Nicolas Tourneur debian at nilux.be
Sat Jan 8 12:03:48 GMT 2022


Package: epiphany-browser
Version: 3.38.2-1
Severity: normal

Dear Maintainer,

When using epiphany-browser to access a web page that contains HTML5
video content, the browser crashes with a SIGSEGV.
Example of web page that crashes the browser is youtube, or an html5
video test page such as https://tekeye.uk/html/html5-video-test-page

This involves VA-API, I am not sure exactly where the root cause lies
but since the issue is manifesting while using epiphany-browser
specifically, I thought I would start by opening a bug here.

I also noticed that, while I have 2 devices running bullseye with
identical HW and both systems up to date, only one of the 2 device has
the issue. Those are Purism Librem 14 laptops, shipping an Intel UHD
Graphics 620 chip.

To be able to troubleshoot further the issue, I installed the following
debug symbols:
ii  epiphany-browser-dbgsym                    3.38.2-1                         amd64        debug symbols for epiphany-browser
ii  gstreamer1.0-vaapi-dbgsym:amd64            1.18.4-2                         amd64        debug symbols for gstreamer1.0-vaapi
ii  intel-media-va-driver-dbgsym:amd64         21.1.1+dfsg1-1                   amd64        debug symbols for intel-media-va-driver
ii  libdrm-intel1-dbgsym:amd64                 2.4.104-1                        amd64        debug symbols for libdrm-intel1
ii  libva-wayland2-dbgsym:amd64                2.10.0-1                         amd64        debug symbols for libva-wayland2
ii  libwayland-server0-dbgsym:amd64            1.18.0-2~exp1.1                  amd64        debug symbols for libwayland-server0
Note: I couldn't install dbgsym for libwebkit2gtk-4.0-37 since it is
installed from stable-security

VA-API related packages installed:
root at belap02:/tmp# dpkg -l | grep VA
ii  gstreamer1.0-vaapi:amd64                   1.18.4-2                         amd64        VA-API plugins for GStreamer
ii  intel-media-va-driver:amd64                21.1.1+dfsg1-1                   amd64        VAAPI driver for the Intel GEN8+ Graphics family
ii  libva-drm2:amd64                           2.10.0-1                         amd64        Video Acceleration (VA) API for Linux -- DRM runtime
ii  libva-glx2:amd64                           2.10.0-1                         amd64        Video Acceleration (VA) API for Linux -- GLX runtime
ii  libva-wayland2:amd64                       2.10.0-1                         amd64        Video Acceleration (VA) API for Linux -- Wayland runtime
ii  libva-x11-2:amd64                          2.10.0-1                         amd64        Video Acceleration (VA) API for Linux -- X11 runtime
ii  libva2:amd64                               2.10.0-1                         amd64        Video Acceleration (VA) API for Linux -- runtime
ii  vainfo                                     2.10.0+ds1-1                     amd64        Video Acceleration (VA) API for Linux -- info program

A backtrace access using coredumpctl:
(gdb) bt
#0  KernelDll_AllocateStates (pKernelBin=pKernelBin at entry=0x7f30c00a32b0, uKernelSize=0, pFcPatchCache=pFcPatchCache at entry=0x0, uFcPatchCacheSize=<optimized out>, pDefaultRules=0x0, ModifyFunctionPointers=0x0)
    at ./media_driver/agnostic/common/vp/kdll/hal_kerneldll.c:3350
#1  0x00007f30c69fafdb in VphalRenderer::Initialize (this=0x7f30c00e5570, pSettings=0x7f30c7ffd9b0, isApoEnabled=<optimized out>) at ./media_driver/agnostic/common/vp/hal/vphal_renderer.cpp:1414
#2  0x00007f30c69e1e15 in VphalState::Allocate (pVpHalSettings=0x7f30c7ffd9b0, this=0x7f30c009fc60) at ./media_driver/agnostic/common/vp/hal/vphal.cpp:146
#3  VphalState::Allocate (this=0x7f30c009fc60, pVpHalSettings=0x7f30c7ffd9b0) at ./media_driver/agnostic/common/vp/hal/vphal.cpp:75
#4  0x00007f30c6be5105 in DdiVp_InitVpHal (pVpCtx=0x7f30c0081bb0) at ./media_driver/linux/common/vp/ddi/media_libva_vp.c:1800
#5  0x00007f30c6be959f in DdiVp_InitCtx (pVaDrvCtx=<optimized out>, pVpCtx=0x7f30c0081bb0) at ./media_driver/linux/common/vp/ddi/media_libva_vp.c:1660
#6  0x00007f30c6be999e in DdiVp_CreateContext (pVaDrvCtx=pVaDrvCtx at entry=0x7f30c003e5c0, vaConfigID=vaConfigID at entry=0, iWidth=iWidth at entry=0, iHeight=iHeight at entry=0, iFlag=iFlag at entry=0,
    vaSurfIDs=vaSurfIDs at entry=0x0, iNumSurfs=0, pVaCtxID=0x7f30c7ffdcdc) at ./media_driver/linux/common/vp/ddi/media_libva_vp.c:3109
#7  0x00007f30c6bb0be2 in DdiMedia_PutImage (ctx=0x7f30c003e5c0, surface=0, image=<optimized out>, src_x=0, src_y=0, src_width=64, src_height=64, dest_x=0, dest_y=0, dest_width=64, dest_height=64)
    at ./media_driver/linux/common/ddi/media_libva.cpp:5407
#8  0x00007f312650717c in vaPutImage () from /lib/x86_64-linux-gnu/libva.so.2
#9  0x00007f3126188b7c in gst_vaapi_surface_put_image (surface=surface at entry=0x7f30c0026d00, image=image at entry=0x55f944026770) at ../gst-libs/gst/vaapi/gstvaapisurface.c:761
#10 0x00007f3126147476 in extract_allowed_surface_formats (img_formats=0x7f30c002d6c0, display=0x7f310803de10) at ../gst/vaapi/gstvaapipluginbase.c:1451
#11 ensure_allowed_raw_caps (plugin=0x7f30c002f370) at ../gst/vaapi/gstvaapipluginbase.c:1483
#12 gst_vaapi_plugin_base_get_allowed_sinkpad_raw_caps (plugin=plugin at entry=0x7f30c002f370) at ../gst/vaapi/gstvaapipluginbase.c:1515
#13 0x00007f312614e6ce in ensure_allowed_sinkpad_caps (postproc=0x7f30c002f370) at ../gst/vaapi/gstvaapipostproc.c:1312
#14 gst_vaapipostproc_transform_caps_impl (direction=<optimized out>, trans=0x7f30c002f370) at ../gst/vaapi/gstvaapipostproc.c:1422
#15 gst_vaapipostproc_transform_caps (trans=0x7f30c002f370, direction=<optimized out>, caps=0x7f30c0048ad0, filter=0x0) at ../gst/vaapi/gstvaapipostproc.c:1445
#16 0x00007f31a80b44b3 in ?? () from /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#17 0x00007f31a80b7e6d in ?? () from /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#18 0x00007f31a7faee58 in gst_pad_query () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#19 0x00007f31a7faf5bb in gst_pad_peer_query () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#20 0x00007f31a7fee648 in gst_pad_peer_query_caps () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#21 0x00007f31a80b8064 in ?? () from /lib/x86_64-linux-gnu/libgstbase-1.0.so.0
#22 0x00007f31a7faee58 in gst_pad_query () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#23 0x00007f31a7febdd8 in gst_pad_query_caps () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#24 0x00007f31a7fa58e7 in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#25 0x00007f31a7fb1a7d in gst_pad_link_full () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#26 0x00007f3126156c7a in gst_vaapi_decode_bin_configure (vaapidecbin=0x7f30c0023110) at ../gst/vaapi/gstvaapidecodebin.c:351
#27 gst_vaapi_decode_bin_change_state (element=<optimized out>, transition=<optimized out>) at ../gst/vaapi/gstvaapidecodebin.c:223
#28 0x00007f31a7f8c34e in gst_element_change_state () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#29 0x00007f31a7f8ca8d in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#30 0x00007f31a7f8c1e3 in gst_element_sync_state_with_parent () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#31 0x00007f3150121c91 in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#32 0x00007f315012265f in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstplayback.so
#33 0x00007f31a7fa4eee in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#34 0x00007f31aab7f6b6 in g_hook_list_marshal () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#35 0x00007f31a7fa45d9 in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#36 0x00007f31a7fa7db5 in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#37 0x00007f31a7fa8344 in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#38 0x00007f31a7fa5ca0 in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#39 0x00007f31a7fb1160 in gst_pad_push_event () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#40 0x00007f31501c4af8 in ?? () from /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstcoreelements.so
#41 0x00007f31a7fdf73f in ?? () from /lib/x86_64-linux-gnu/libgstreamer-1.0.so.0
#42 0x00007f31aabb99a4 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f31aabb90bd in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f31a6eb8ea7 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#45 0x00007f31ab09bdef in clone () from /lib/x86_64-linux-gnu/libc.so.6

Some vainfo output:
libva info: VA-API version 1.10.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_10
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.10 (libva 2.10.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 21.1.1 ()
vainfo: Supported profile and entrypoints
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          :	VAEntrypointVLD
      VAProfileHEVCMain               :	VAEntrypointVLD
      VAProfileHEVCMain10             :	VAEntrypointVLD
      VAProfileVP9Profile0            :	VAEntrypointVLD
      VAProfileVP9Profile2            :	VAEntrypointVLD


-- System Information:
Debian Release: 11.2
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 5.10.0-10-amd64 (SMP w/12 CPU threads)
Locale: LANG=fr_BE.UTF-8, LC_CTYPE=fr_BE.UTF-8 (charmap=UTF-8), LANGUAGE=fr_BE:fr
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages epiphany-browser depends on:
ii  dbus-user-session [default-dbus-session-bus]  1.12.20-2
ii  dbus-x11 [dbus-session-bus]                   1.12.20-2
ii  epiphany-browser-data                         3.38.2-1
ii  gsettings-desktop-schemas                     3.38.0-2
ii  iso-codes                                     4.6.0-1
ii  libatk1.0-0                                   2.36.0-2
ii  libc6                                         2.31-13+deb11u2
ii  libcairo2                                     1.16.0-5
ii  libdazzle-1.0-0                               3.38.0-1
ii  libgcr-base-3-1                               3.38.1-2
ii  libgcr-ui-3-1                                 3.38.1-2
ii  libgdk-pixbuf-2.0-0                           2.42.2+dfsg-1
ii  libglib2.0-0                                  2.66.8-1
ii  libgmp10                                      2:6.2.1+dfsg-1+deb11u1
ii  libgtk-3-0                                    3.24.24-4
ii  libhandy-1-0                                  1.0.3-2
ii  libhogweed6                                   3.7.3-1
ii  libjavascriptcoregtk-4.0-18                   2.34.3-1~deb11u1
ii  libjson-glib-1.0-0                            1.6.2-1
ii  libnettle8                                    3.7.3-1
ii  libpango-1.0-0                                1.46.2-3
ii  libsecret-1-0                                 0.20.4-2
ii  libsoup2.4-1                                  2.72.0-2
ii  libsqlite3-0                                  3.34.1-3
ii  libwebkit2gtk-4.0-37                          2.34.3-1~deb11u1
ii  libxml2                                       2.9.10+dfsg-6.7

Versions of packages epiphany-browser recommends:
ii  ca-certificates  20210119
ii  evince           3.38.2-1
ii  yelp             3.38.3-1

epiphany-browser suggests no packages.

-- no debconf information



More information about the pkg-gnome-maintainers mailing list