Public bug reported:

When speech-dispatcher receives a SIGHUP signal (or a systemd user
session reload), it spawns several background hardware probe loops and
audio driver components via clone().The parent process uses non-blocking
wait4() system calls with the WNOHANG flag immediately after process
creation. If a child process is still actively initializing during that
precise millisecond, wait4() returns 0 (indicating no status to harvest
yet) and the parent moves forward in its execution loop.When the child
process finishes its task shortly thereafter and terminates, the OS
correctly fires a SIGCHLD signal to the process group. However, a thread
synchronization failure occurs: the signal-handling thread receives the
SIGCHLD, but the parent process fails to execute a subsequent blocking
wait() or fallback loop to harvest the exited child's termination
status. This abandons the dead child process in the kernel process table
as a permanent zombie.Furthermore, a separate cascading failure is
observed where multiple helper sub-processes exit immediately with
status 127 (Command not found), multiplying the number of unharvested
dead tasks.

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: speech-dispatcher 0.12.1-2ubuntu1
ProcVersionSignature: Ubuntu 7.0.0-28.28-generic 7.0.12
Uname: Linux 7.0.0-28-generic x86_64
NonfreeKernelModules: nvidia_modeset nvidia
ApportVersion: 2.34.0-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: ubuntu:GNOME
Date: Sun Jul 26 23:38:05 2026
InstallationDate: Installed on 2026-07-14 (12 days ago)
InstallationMedia: Ubuntu 26.04 "Resolute Raccoon" - Release amd64 (20260423.1)
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
SourcePackage: speech-dispatcher
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: speech-dispatcher (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: amd64 apport-bug resolute wayland-session

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2161865

Title:
  Asynchronous thread handling fails to call wait() on configuration
  reload, creating permanent zombies

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/speech-dispatcher/+bug/2161865/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to