> On Dec 20, 2023, at 13:21, Geoff Shang <ge...@quitelikely.com> wrote: > > On Tue, 28 Nov 2023, James Addison wrote: > >> To do that, the first step is to enable a sources.list entry for debug >> symbol packages, then to install the gdb and espeakup-dbgsym packages, >> and then after the espeakup process stops speaking, to attach the gdb >> debugger to locate where it got stuck by running: gdb >> /usr/bin/espeakup <pid-of-broken-process> >> >> If that works and you are provided with a (gdb) shell, you should be >> able to type the single word 'bt' and press enter to get a backtrace, >> and then copy and paste the results here. > > It took me a couple of goes, and I lost speech entirely both times (not sure > why), but I got a trace. > > I'm not sure how helpful it is though. > > root@debian:~# gdb /usr/bin/espeakup 861 > GNU gdb (Debian 13.1-3) 13.1 > Copyright (C) 2023 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > Type "show copying" and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > Type "show configuration" for configuration details. > For bug reporting instructions, please see: > <https://www.gnu.org/software/gdb/bugs/>. > Find the GDB manual and other documentation resources online at: > <http://www.gnu.org/software/gdb/documentation/>. > > For help, type "help". > Type "apropos word" to search for commands related to "word"... > Reading symbols from /usr/bin/espeakup... > Reading symbols from > /usr/lib/debug/.build-id/76/62ad26e5f970e59309a544f3864db114aa389e.debug... > Attaching to program: /usr/bin/espeakup, process 861 > [New LWP 862] > [New LWP 863] > [New LWP 864] > [New LWP 865] > [New LWP 866] > [Thread debugging using libthread_db enabled] > Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". > 0x00007f9de46bfda6 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 > (gdb) bt > #0 0x00007f9de46bfda6 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 > #1 0x00007f9de46c4b33 in ?? () from /lib/x86_64-linux-gnu/libc.so.6 > #2 0x00005605c505e734 in main (argc=<optimized out>, argv=<optimized out>) > at ../src/espeakup.c:229
Thanks for working on this. Just to document, line 229 of espeakup.c is pthread_join(signal_thread_id, NULL); --FC