Skip to content

SEGV when creating multiple window processes with same application ID on Linux #1186

@rhysd

Description

@rhysd

Describe the bug

Segmentation fault occurs when creating multiple application processes with the same application ID on Linux (Ubuntu 24.04).

Steps To Reproduce

Clone this repository.

git clone https://github.com/tauri-apps/tao.git && cd tao

Apply the following patch to modify window example.

diff --git a/examples/window.rs b/examples/window.rs
index c4804fc4..7be2ae5e 100644
--- a/examples/window.rs
+++ b/examples/window.rs
@@ -4,13 +4,16 @@
 
 use tao::{
   event::{Event, WindowEvent},
-  event_loop::{ControlFlow, EventLoop},
+  event_loop::{ControlFlow, EventLoop, EventLoopBuilder},
   window::WindowBuilder,
 };
+use tao::platform::unix::EventLoopBuilderExtUnix;
 
 #[allow(clippy::single_match)]
 fn main() {
-  let event_loop = EventLoop::new();
+  let event_loop = EventLoopBuilder::new()
+    .with_app_id("com.example.test")
+    .build();
 
   let mut window = Some(
     WindowBuilder::new()

Run the following command to open the first window.

cargo run --example window

Keeping the first window open, open another terminal and run the command again to create the second window. It causes SEGV as follows.

$ cargo run --example window
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.11s
     Running `target/debug/examples/window`
Segmentation fault (core dumped)

Expected behavior

The second window is opened successfully.

Screenshots

N/A

Platform and Versions (please complete the following information):
OS: Ubuntu 24.04 (amd64)
Rustc: rustc 1.93.0 (254b59607 2026-01-19)

Additional context

Nothing

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions