Repository navigation
Shell segfaults in libwebkitgtk-6.0 when opening any title since web v5.0.0-beta.40 #140
Description
Activity
Same crash here on the Flatpak (1.2.1, Pop!_OS / COSMIC Wayland, RTX 4060 + AMD iGPU). Same offset: segfault at 48 ... libwebkitgtk-6.0.so.4.16.9[fc3c82,...] — triggered by opening/installing an add-on or opening a title.
Edit: the plain beta.39 workaround has a catch — playback starts (audio, subtitles and timer work) but the player keeps showing the background art over the video. beta.39's ShellVideo only sets loaded (and makes the page transparent) on mpv-event-video-ready, which the Linux shell never sends. beta.40 added a fallback for shells without that event, which is why it works there. Step 2 below patches beta.39 to mark the video loaded once time-pos moves. #168 adds that event to the Linux shell; once it's merged, step 2 isn't needed.
Full workaround for the Flatpak, persists across reboots and keeps the app launcher working:
# 1. Get the beta.39 web UI
mkdir -p ~/.local/share/stremio-web-beta39 && cd ~/.local/share/stremio-web-beta39
curl -sSLO https://github.com/Stremio/stremio-web/releases/download/v5.0.0-beta.39/stremio-web.zip
unzip -q stremio-web.zip && rm stremio-web.zip
# 2. Patch it so the background hides once playback time moves
python3 - <<'EOF'
import glob
p = glob.glob('build/*/scripts/main.js')[0]
s = open(p).read()
old = 'case"time-pos":case"sub-delay":s[e.name]=Math.round(1e3*e.data);break;'
new = 'case"time-pos":case"sub-delay":s[e.name]=Math.round(1e3*e.data);"time-pos"===e.name&&e.data>0&&!s.loaded&&(s.loaded=!0,N(!1),C("loaded"));break;'
assert s.count(old) == 1
open(p, 'w').write(s.replace(old, new))
print('patched', p)
EOF
# 3. Serve it locally as a user service (starts on login)
mkdir -p ~/.config/systemd/user
cat > ~/.config/systemd/user/stremio-web-beta39.service <<'EOF'
[Unit]
Description=Local Stremio web UI beta.39 (workaround for #140)
[Service]
ExecStart=/usr/bin/python3 -m http.server 18080 --bind 127.0.0.1 -d %h/.local/share/stremio-web-beta39/build
Restart=on-failure
[Install]
WantedBy=default.target
EOF
systemctl --user daemon-reload && systemctl --user enable --now stremio-web-beta39.service
# 4. Make the desktop launcher use it
mkdir -p ~/.local/share/applications
sed 's#--command=stremio --file-forwarding com.stremio.Stremio @@u %u @@#--command=stremio com.stremio.Stremio --url http://127.0.0.1:18080 %u#' \
~/.local/share/flatpak/exports/share/applications/com.stremio.Stremio.desktop \
> ~/.local/share/applications/com.stremio.Stremio.desktop(For a system-wide Flatpak install, the source .desktop is in /var/lib/flatpak/exports/share/applications/ instead.)
Terminal launch: flatpak run com.stremio.Stremio --url http://127.0.0.1:18080
If you already loaded the unpatched beta.39, clear WebKit's cache so the patched file is picked up: rm -rf ~/.var/app/com.stremio.Stremio/cache/stremio/WebKitCache
Undo once this is fixed:
systemctl --user disable --now stremio-web-beta39.service
rm ~/.local/share/applications/com.stremio.Stremio.desktopSide note on NVIDIA/Wayland: if the window is black or animations freeze, flatpak override --user --env=GSK_RENDERER=gl com.stremio.Stremio fixed both for me (same idea as #158). With that set I no longer needed WEBKIT_DISABLE_DMABUF_RENDERER=1.
Describe the bug
Since web.stremio.com was updated to v5.0.0-beta.40 (2026-09-23), clicking any title (catalog poster → details) crashes the shell immediately with SIGSEGV. Pointing the same shell at a locally served v5.0.0-beta.39 build (
--url http://127.0.0.1:18080) works normally, so the trigger is in the beta.39 → beta.40 web changes.It reproduces on both the native package and the Flatpak, which ship different WebKitGTK builds, so it doesn't look like a regression in one WebKit version.
To reproduce
Environment
WEBKIT_DISABLE_DMABUF_RENDERER=1set;WEBKIT_DISABLE_COMPOSITING_MODE=1makes no differenceCrash
UI process (not the web process), null-pointer read at offset 0x48, same instruction every time:
On the first occurrence the web process also died:
WebKitWebProces: trap invalid opcode ... libwebkitgtk-6.0.so.4.16.10[505a339,...].Possibly relevant beta.40 changes (unverified): "fix: preserve meta item route transitions", "Scale the whole interface across web and shells".
Workaround
Serve the beta.39 release zip locally and launch with
--url: