Skip to content

linux: stop ignoring SIGCHLD process-wide - #1191

Merged
mfisher31 merged 1 commit into
mainfrom
yabridge-fix
Sep 24, 2026
Merged

mfisher31 merged 1 commit into
mainfrom
yabridge-fix

Conversation

@mfisher31

Copy link
Copy Markdown
Member

Element set SIGCHLD to SIG_IGN on Linux to avoid zombie scanner processes. That makes the kernel auto-reap every child, so any code in the process that calls waitpid() gets ECHILD. yabridge spawns a wine helper while loading a bridged plugin and asserts on that failure, which crashed the scanner and the main app for every Windows plugin.

The scanner is launched through juce::ChildProcessManager, which polls and reaps its children itself, so the workaround is no longer needed.

Fixes #1149

Element set SIGCHLD to SIG_IGN on Linux to avoid zombie scanner
processes. That makes the kernel auto-reap every child, so any code in
the process that calls waitpid() gets ECHILD. yabridge spawns a wine
helper while loading a bridged plugin and asserts on that failure,
which crashed the scanner and the main app for every Windows plugin.

The scanner is launched through juce::ChildProcessManager, which polls
and reaps its children itself, so the workaround is no longer needed.

Fixes #1149
@mfisher31
mfisher31 merged commit 40520a5 into main Sep 24, 2026
5 checks passed
@mfisher31
mfisher31 deleted the yabridge-fix branch September 24, 2026 02:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: element crashes when trying to load unverified plugins via yabridge

1 participant