Skip to content

[bug] SIGSEGV when trying to show Home Assistant #15725

Description

@TheChilliPL

Describe the bug

Tauri crashes within libwebkit2gtk-4.1.so.0 when trying to show Home Assistant within.

Happens both with https://demo.home-assistant.io (white screen) as well as on a custom Home Assistant instance (there it happens when HASS tries to load after logging in, while the throbber is visible on the screen).

Reproduction

main.rs
// Prevents additional console window on Windows in release, DO NOT REMOVE!!
#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")]

use log::LevelFilter;
use tauri::{WebviewUrl, WebviewWindowBuilder};

#[cfg_attr(mobile, tauri::mobile_entry_point)]
fn main() {
    pretty_env_logger::formatted_builder()
        .filter_level(LevelFilter::Info)
        .parse_default_env()
        .init();

    unsafe { std::env::set_var("WEBKIT_DISABLE_DMABUF_RENDERER", "1") };

    tauri::Builder::default()
        .setup(|app| {
            let window = WebviewWindowBuilder::new(
                app,
                "main",
                WebviewUrl::External(
                    "https://demo.home-assistant.io".parse().unwrap(),
                ),
            )
                .build()?;

            Ok(())
        })
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

Expected behavior

The app should load Home Assistant client properly without SIGSEGV.

Full tauri info output

Full `cargo tauri info` output
$ cargo tauri info

[✔] Environment
    - OS: EndeavourOS Rolling Release x86_64 (X64) (Unknown DE on wayland)
    ✔ webkit2gtk-4.1: 2.52.5
    ✔ rsvg2: 2.62.3
    ✔ rustc: 1.97.0 (2d8144b78 2026-07-07)
    ✔ cargo: 1.97.0 (c980f4866 2026-06-30)
    ✔ rustup: 1.29.0 (2026-03-23)
    ✔ Rust toolchain: stable-x86_64-unknown-linux-gnu (overridden by environment variable RUSTUP_TOOLCHAIN)
    - node: 26.4.0
    - pnpm: 11.3.0
    - yarn: 1.22.22
    - npm: 12.0.0
    - deno: deno 2.9.2

[-] Packages
    - tauri 🦀: 2.11.5
    - tauri-build 🦀: 2.6.3
    - wry 🦀: 0.55.1
    - tao 🦀: 0.35.3
    - tauri-cli 🦀: 2.11.4

[-] Plugins

[-] App
    - build-type: bundle
    - CSP: unset 

Stack trace

Stack trace (gdb)
Thread 1 "hass-tray" received signal SIGSEGV, Segmentation fault.
0x00007ffff3cecfee in ?? () from /usr/lib/libwebkit2gtk-4.1.so.0
(gdb) backtrace
#0  0x00007ffff3cecfee in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#1  0x00007ffff3c86a0a in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#2  0x00007ffff34d0596 in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#3  0x00007ffff3a57702 in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#4  0x00007ffff353ee24 in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#5  0x00007ffff3a4a1a9 in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#6  0x00007ffff3a4cc82 in ??? () at /usr/lib/libwebkit2gtk-4.1.so.0
#7  0x00007ffff14902af in ??? () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#8  0x00007ffff149052f in ??? () at /usr/lib/libjavascriptcoregtk-4.1.so.0
#9  0x00007ffff7b9cbfd in ??? () at /usr/lib/libglib-2.0.so.0
#10 0x00007ffff7b9ee57 in ??? () at /usr/lib/libglib-2.0.so.0
#11 0x00007ffff7b9efe5 in g_main_context_iteration () at /usr/lib/libglib-2.0.so.0
#12 0x00007ffff19ead7f in gtk_main_iteration_do () at /usr/lib/libgtk-3.so.0
#13 0x000055555639e379 in gtk::auto::functions::main_iteration_do (blocking=true) at src/auto/functions.rs:392
#14 0x0000555555d98c21 in tao::platform_impl::platform::event_loop::{impl#1}::run_return::{closure#0}<tauri_runtime_wry::Message<tauri::EventLoopMessage>, tauri_runtime_wry::make_event_handler::{closure_env#0}<tauri::EventLoopMessage, tauri::app::{impl#16}::make_run_event_loop_callback::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>>>> ()         
    at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tao-0.35.3/src/platform_impl/linux/event_loop.rs:1154
#15 0x0000555555dda410 in glib::auto::main_context::MainContext::with_thread_default<i32, tao::platform_impl::platform::event_loop::{impl#1}::run_return::{closure_env#0}<tauri_runtime_wry::Message<tauri::EventLoopMessage>, tauri_runtime_wry::make_event_handler::{closure_env#0}<tauri::EventLoopMessage, tauri::app::{impl#16}::make_run_event_loop_callback::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>>>>> (self=0x7fffffff8ad8, func=...) at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/glib-0.18.5/src/main_context.rs:154                                    
#16 0x0000555555d98652 in tao::platform_impl::platform::event_loop::EventLoop<tauri_runtime_wry::Message<tauri::EventLoopMessage>>::run_return<tauri_runtime_wry::Message<tauri::EventLoopMessage>, tauri_runtime_wry::make_event_handler::{closure_env#0}<tauri::EventLoopMessage, tauri::app::{impl#16}::make_run_event_loop_callback::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>>>> (self=0x7fffffff8e50, callback=...) at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tao-0.35.3/src/platform_impl/linux/event_loop.rs:1044                                          
#17 0x0000555555d986e3 in tao::platform_impl::platform::event_loop::EventLoop<tauri_runtime_wry::Message<tauri::EventLoopMessage>>::run<tauri_runtime_wry::Message<tauri::EventLoopMessage>, tauri_runtime_wry::make_event_handler::{closure_env#0}<tauri::EventLoopMessage, tauri::app::{impl#16}::make_run_event_loop_callback::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>>>> (self=..., callback=...) at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tao-0.35.3/src/platform_impl/linux/event_loop.rs:997
#18 0x0000555555ea7ae4 in tao::event_loop::EventLoop<tauri_runtime_wry::Message<tauri::EventLoopMessage>>::run<tauri_runtime_wry::Message<tauri::EventLoopMessage>, tauri_runtime_wry::make_event_handler::{closure_env#0}<tauri::EventLoopMessage, tauri::app::{impl#16}::make_run_event_loop_callback::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>>>>   
    (self=..., event_handler=...) at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tao-0.35.3/src/event_loop.rs:224
#19 0x0000555555cd905e in tauri_runtime_wry::{impl#47}::run<tauri::EventLoopMessage, tauri::app::{impl#16}::make_run_event_loop_callback::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>>> (self=..., callback=...) at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tauri-runtime-wry-2.11.4/src/lib.rs:3241                            
#20 0x0000555555e7f904 in tauri::app::App<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>::run<tauri_runtime_wry::Wry<tauri::EventLoopMessage>, tauri::app::{impl#19}::run::{closure_env#0}<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>> (self=..., callback=...) at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tauri-2.11.5/src/app.rs:1373                                                                                                   
#21 0x0000555555e85513 in tauri::app::Builder<tauri_runtime_wry::Wry<tauri::EventLoopMessage>>::run<tauri_runtime_wry::Wry<tauri::EventLoopMessage>> (self=..., context=...)
    at /home/chilli/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/tauri-2.11.5/src/app.rs:2450
#22 0x0000555555f4a41d in hass_tray::main () at src/main.rs:34

Additional context

It both happens on my PC with an Nvidia GPU as well as on my laptop with an integrated AMD GPU.

I tried:

  • WEBKIT_DISABLE_JIT=1
  • WEBKIT_DISABLE_WEB_PROCESS_SANDBOX=1
  • WEBKIT_FORCE_SANDBOX=0
  • GDK_BACKEND=x11
  • WEBKIT_DISABLE_SANDBOX_THIS_IS_DANGEROUS=1
  • WEBKIT_DISABLE_DMABUF_RENDERER=1
  • WEBKIT_DISABLE_COMPOSITING_MODE=1
  • WEBKIT_DISABLE_ACCELERATED_COMPOSITING=1
  • WEBKIT_DISABLE_SITE_ISOLATION=1
    so basically all env vars I could find online, to no effect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    platform: Linuxstatus: needs triageThis issue needs to triage, applied to new issuesstatus: upstreamThis issue is blocked by upstream dependencies and we need to wait or contribute upstream fixestype: bug

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions