[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1104809: marked as done (unblock: speech-dispatcher/0.12.0-4)



Your message dated Thu, 08 May 2025 06:10:35 +0000
with message-id <E1uCuSp-00CH9O-1Y@respighi.debian.org>
and subject line unblock speech-dispatcher
has caused the Debian Bug report #1104809,
regarding unblock: speech-dispatcher/0.12.0-4
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
1104809: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1104809
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: speech-dispatcher@packages.debian.org
Control: affects -1 + src:speech-dispatcher
User: release.debian.org@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 <sthibault@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.thibault@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

--- End Message ---
--- Begin Message ---
Unblocked.

--- End Message ---

Reply to: