Your message dated Sun, 27 Sep 2020 17:18:58 +0000 with message-id <[email protected]> and subject line Bug#969488: fixed in speechd-up 0.5~20110719-10 has caused the Debian Bug report #969488, regarding Assertion failed when speaking some Unicode characters 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 [email protected] immediately.) -- 969488: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=969488 Debian Bug Tracking System Contact [email protected] with problems
--- Begin Message ---Package: speechd-up Version: 0.5~20110719-9 SYMPTOMS I ran into a failed assertion. When pressing certain Unicode characters like U+20AC (EURO SIGN) or U+2192 (RIGHTWARDS ARROW) on the console via a keyboard, speechd-up exits suddenly. The same happens when moving the cursor over a Unicode character in a text editor or on a readline prompt. I first ran into this under Buster. DIAGNOSIS >From strace: ... write(2, "speechd-up: speechd-up.c:457: parse_buf: Assertion `bytes <= BUF_SIZE' failed.\n", 79) = 79 ... WORKAROUND The problem only manifests when speechd-up is started with the default command line "speechd-up -l1". Putting this into /etc/default/speechd-up prevents the bug from being triggered: DAEMON_OPTS="$DAEMON_OPTS -D/dev/softsynthu -cUTF-8" ANALYSIS The error is in speechd-up.c:main(): 750 ... 751 chars_read = read(fd, buf, BUF_SIZE); 752 if (chars_read < 0) { 753 ... chars_read is declared as size_t, but read() returns ssize_t, thus a failed read returning -1 (errno==11/EAGAIN in my case) triggers the assertion in parse_buf(). The patch fixes the error and also adds code to retry the read after a short delay.--- speechd-up-0.5~20110719/speechd-up.c 2020-09-02 21:05:47.357273940 +0200 +++ speechd-up-0.5~20110719/speechd-up.c 2020-09-02 21:07:45.929271575 +0200 @@ -631,6 +631,7 @@ int main(int argc, char *argv[]) { size_t chars_read; + ssize_t chars_read_signed; char buf[BUF_SIZE + 1]; int ret; @@ -748,11 +749,20 @@ close(fd); return -1; } - chars_read = read(fd, buf, BUF_SIZE); - if (chars_read < 0) { - FATAL(5, "read() failed"); - close(fd); - return -1; + chars_read_signed = read(fd, buf, BUF_SIZE); + if (chars_read_signed < 0) { + if (errno == EAGAIN) { + LOG(5, "read() failed with EAGAIN, retrying"); + usleep(1000); + continue; + } else { + FATAL(5, "read() failed with %d,%s", + errno, strerror(errno)); + close(fd); + return -1; + } + } else { + chars_read = chars_read_signed; } buf[chars_read] = 0; LOG(5, "Main loop characters read = %d : (%s)", chars_read,
--- End Message ---
--- Begin Message ---Source: speechd-up Source-Version: 0.5~20110719-10 Done: Samuel Thibault <[email protected]> We believe that the bug you reported is fixed in the latest version of speechd-up, which is due to be installed in the Debian FTP archive. A summary of the changes between this version and the previous one is attached. Thank you for reporting the bug, which will now be closed. If you have further comments please address them to [email protected], and the maintainer will reopen the bug report if appropriate. Debian distribution maintenance software pp. Samuel Thibault <[email protected]> (supplier of updated speechd-up package) (This message was generated automatically at their request; if you believe that there is a problem with it please contact the archive administrators by mailing [email protected]) -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 Format: 1.8 Date: Sun, 27 Sep 2020 19:09:55 +0200 Source: speechd-up Binary: speechd-up speechd-up-dbgsym Architecture: source Version: 0.5~20110719-10 Distribution: unstable Urgency: medium Maintainer: Debian Accessibility Team <[email protected]> Changed-By: Samuel Thibault <[email protected]> Description: speechd-up - Interface between Speech Dispatcher and SpeakUp Closes: 969488 Changes: speechd-up (0.5~20110719-10) unstable; urgency=medium . * control: Bump Standards-Version to 4.5.0 (no change) * control: Bump debhelper compat to 12. * patches/unicode: Fix assertion failed when speaking some Unicode characters (Closes: Bug#969488) Checksums-Sha1: e83781663a733c9f0405ec33c2e390c47e15c8d5 2126 speechd-up_0.5~20110719-10.dsc e288e7a4b5d696be1ccc2e35f8e1c8b1b9f6e91c 8628 speechd-up_0.5~20110719-10.debian.tar.xz Checksums-Sha256: 32b4537b75963641f17612160f105b4f20290b8df6e30cc3d43e27dede70819d 2126 speechd-up_0.5~20110719-10.dsc ac89fe2310c3a6c791d31d2f721d1e367bc74098926c7fc96948b5c69fea9925 8628 speechd-up_0.5~20110719-10.debian.tar.xz Files: 927d3b95cdd4780fa6a85b843d6f06c8 2126 admin optional speechd-up_0.5~20110719-10.dsc d6bcdbcf1f3846b20b283b79b75ffecc 8628 admin optional speechd-up_0.5~20110719-10.debian.tar.xz -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEaBSUQh8zBGvGomB+DvXG2q7gS7IFAl9wyAQACgkQDvXG2q7g S7KdPg//edMNF+A3KaLy/MGEW+KkbBdQEZNGr8rXK+SMCG3YgF/9Y82q+CpIxYyn 7bkqExf/bFBI3dmjWNC5QC1QR6cYJ+LvjAqoVcZZmTVq8+WCpNWmDC0HJZLkVPj6 w/JL60WxXs3XGqftc4+qXwGwsV7NZikHJNpimEB1Igxixb17r7xVL1XWZ6Gr+Kct 588YHWjwyCfOUrKFfme0kkjjFJSjNl0YdIVShSd3+CUANi2eZgp4oWqUs4EX1zIG 70L84l8o+H1xwKrKqvXiv7MlAMe2LVh7eLdeXK9J4CaF5BRszm5JWSsfjjmqC0LO DKjLImnu2bYWppkYwzkhkw7+A3Mc0/cRDct/dXy2Kea8bKJQycVZ0YrDhNlWkY8z WKjHm2LqrV/w+HLh+Cgdj+w8NnOrF6GeBiImT/u40aXwVvqM93uQX6W71IjGvaZU PP7phWUASjdZXi9sioFw0PfpSzHHV+Km3APU0zbZggs8QgPdVMaBUsSlE8TmWmTk B6A5S5OZVzIRi4+HF+9AU9sH0fpVFo2NpUhb2QOhF4hE2mW0SMMh/3rMFIOcP0KX TadLrBSUw6WSHxth2JH0ERaIiAGw3Cy8kczVOLGveO9rReeyRCogCrOqYvcAGC+T ItrNq3axYeJEhwWwYiWETFienVAvw4fCPamuZ8DKFZ9HdMMkAHs= =/SeT -----END PGP SIGNATURE-----
--- End Message ---

