Package: release.debian.org Severity: normal X-Debbugs-Cc: speech-dispatc...@packages.debian.org Control: affects -1 + src:speech-dispatcher User: release.debian....@packages.debian.org Usertags: unblock
Hello, I have uploaded speech-dispatcher/0.12.0-4 for inclusion in Trixie. (it is a key package) [ Reason ] As reported upstream on https://github.com/brailcom/speechd/issues/1025 running a mere spd-say -o espeak-ng-mbrola-generic ". . ." makes speech-dispatcher then stay stuck and require getting killed, because of confusing an empty uterance (there is nothing to speak here) with an error. [ Impact ] If a blind user happens to try to read e.g. a webpage containing ". . ." on a single line with a generic-based synthesizer (such as dtk, epos, mary, mimic3, swift), the speech synthesis will stay stuck, and the user is essentially left with having to reboot. [ Tests ] This was tested by the reporting user on github [ Risks ] The code is very trivial, coming from upstream. [ Checklist ] [X] all changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in testing [ Other info ] This also fixes closing a previous debian bug report. unblock speech-dispatcher/0.12.0-4 Thanks! Samuel
diff -Nru speech-dispatcher-0.12.0/debian/changelog speech-dispatcher-0.12.0/debian/changelog --- speech-dispatcher-0.12.0/debian/changelog 2025-04-06 16:27:20.000000000 +0200 +++ speech-dispatcher-0.12.0/debian/changelog 2025-05-06 21:23:58.000000000 +0200 @@ -1,9 +1,15 @@ +speech-dispatcher (0.12.0-4) unstable; urgency=medium + + * patches/git-generic-empty: Fix hang on empty uterances. + + -- Samuel Thibault <sthiba...@debian.org> Tue, 06 May 2025 21:23:58 +0200 + speech-dispatcher (0.12.0-3) unstable; urgency=medium [ Samuel Thibault ] * rules: Explicitly disable the pico module. * patches/output-stuck: Fix speechd getting stuck on some reply/event - dispatch situations. + dispatch situations (Closes: Bug#1101805) [ Alessandro Astone] * tests: Require isolation-container. diff -Nru speech-dispatcher-0.12.0/debian/patches/git-generic-empty speech-dispatcher-0.12.0/debian/patches/git-generic-empty --- speech-dispatcher-0.12.0/debian/patches/git-generic-empty 1970-01-01 01:00:00.000000000 +0100 +++ speech-dispatcher-0.12.0/debian/patches/git-generic-empty 2025-05-06 21:20:14.000000000 +0200 @@ -0,0 +1,52 @@ +commit e22a7bd407482234c0b11e43c37d3456e69eb357 +Author: Samuel Thibault <samuel.thiba...@ens-lyon.org> +Date: Wed Apr 9 01:23:44 2025 +0200 + + Fix value returned by module_speak + + It was never documented as returning the number of bytes. If that + happens to be zero, it would wrongly believed to be failing. + + Fixes #1025 + + (cherry picked from commit fb3f571d65224070419973f0c52455031af04d01) + +diff --git a/src/modules/cicero.c b/src/modules/cicero.c +index 24c957a5..363ff8d7 100644 +--- a/src/modules/cicero.c ++++ b/src/modules/cicero.c +@@ -281,7 +281,7 @@ int module_speak(gchar * data, size_t bytes, SPDMessageType msgtype) + sem_post(cicero_semaphore); + + DBG("Cicero: leaving module_speak() normally\n\r"); +- return bytes; ++ return 1; + } + + int module_stop(void) +diff --git a/src/modules/dummy.c b/src/modules/dummy.c +index b1fc3bfc..549cf719 100644 +--- a/src/modules/dummy.c ++++ b/src/modules/dummy.c +@@ -124,7 +124,7 @@ int module_speak(gchar * data, size_t bytes, SPDMessageType msgtype) + sem_post(dummy_semaphore); + + DBG("Dummy: leaving write() normally\n\r"); +- return bytes; ++ return 1; + } + + int module_stop(void) +diff --git a/src/modules/generic.c b/src/modules/generic.c +index 3743acac..8f1672cb 100644 +--- a/src/modules/generic.c ++++ b/src/modules/generic.c +@@ -295,7 +295,7 @@ int module_speak(gchar * data, size_t bytes, SPDMessageType msgtype) + sem_post(generic_semaphore); + + DBG("Generic: leaving write() normally\n\r"); +- return bytes; ++ return 1; + } + + int module_stop(void) diff -Nru speech-dispatcher-0.12.0/debian/patches/series speech-dispatcher-0.12.0/debian/patches/series --- speech-dispatcher-0.12.0/debian/patches/series 2025-04-06 16:17:40.000000000 +0200 +++ speech-dispatcher-0.12.0/debian/patches/series 2025-05-06 21:20:14.000000000 +0200 @@ -2,3 +2,4 @@ systemd-debian mbrola-paths output-stuck +git-generic-empty