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

Re: espeakup stops speaking bookworm arm64



On Dec 29, 2023, at 15:54, Samuel Thibault <sthibault@debian.org> wrote:
> 
> Hello,
> 
> Geoff Shang, le jeu. 21 déc. 2023 19:39:42 +0200, a ecrit:
>> On Thu, 21 Dec 2023, Samuel Thibault wrote:
>> 
>>> thread apply all bt full
>>> 
>>> :)
>> 
>> OK, you got it.
>> 
>> This produced 20 kb of output, so I've attached it.  Let me know if anyone
>> wants it included in the message instead.
> 
> Attached is completely fine, thanks a lot!
> 
> This is showing that it's alsa-lib which gets stuck. I tried to dive
> into the source code, but I don't see yet how that can happen, a quick
> review showed me that locking seems to be done properly. I'd probably
> need a closer look since the hang *does* happen.
> 
>> #4  0x00007fbedbb1a006 in snd_pcm_state () from /lib/x86_64-linux-gnu/libasound.so.2
>> No symbol table info available.
>> #9  0x00007fbedb7fd872 in alsa_object_close () from /lib/x86_64-linux-gnu/libpcaudio.so.0
>> No symbol table info available.
> 
> Would you be able to reproduce with these packages installed?
> 
> libpcaudio0-dbgsym
> libasound2-dbgsym

I have done, as Geoff has done, with these additional symbols. Please let us know if you need anything else. File attached.

Thanks so much, Samuel.

Happy New Year,
--FC


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 "aarch64-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/7c/ee622ad29eb52a84ecd41e5e9cb868d8d27eef.debug...
Attaching to program: /usr/bin/espeakup, process 92856
[New LWP 92857]
[New LWP 92858]
[New LWP 92859]
[New LWP 92860]
[New LWP 92861]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
0x0000ffff99c4b694 in __futex_abstimed_wait_common64 (private=128, 
    cancel=true, abstime=0x0, op=265, expected=92857, 
    futex_word=0xffff98f5f1b0) at ./nptl/futex-internal.c:57

Thread 6 (Thread 0xffff96aff0e0 (LWP 92861) "espeakup"):
#0  0x0000ffff99c4b694 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0xffff99ff8c88 <my_cond_start_is_required+40>) at ./nptl/futex-internal.c:57
        _x3tmp = 0
        _x0tmp = 281473265405064
        _x0 = 281473265405064
        _x3 = 0
        _x4tmp = 0
        _x1tmp = 393
        _x1 = 393
        _x4 = 0
        _x5tmp = 4294967295
        _x2tmp = 0
        _x2 = 0
        _x5 = 4294967295
        _x8 = 98
        _sys_result = <optimized out>
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        _sys_result = <optimized out>
        _x5tmp = <optimized out>
        _x4tmp = <optimized out>
        _x3tmp = <optimized out>
        _x2tmp = <optimized out>
        _x1tmp = <optimized out>
        _x0tmp = <optimized out>
        _x0 = <optimized out>
        _x1 = <optimized out>
        _x2 = <optimized out>
        _x3 = <optimized out>
        _x4 = <optimized out>
        _x5 = <optimized out>
        _x8 = <optimized out>
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0xffff99ff8c88 <my_cond_start_is_required+40>) at ./nptl/futex-internal.c:87
        err = <optimized out>
        clockbit = 256
        op = 393
        err = <optimized out>
        clockbit = <optimized out>
        op = <optimized out>
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xffff99ff8c88 <my_cond_start_is_required+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
No locals.
#3  0x0000ffff99c4e1d0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0xffff99ff8c28 <my_mutex>, cond=0xffff99ff8c60 <my_cond_start_is_required>) at ./nptl/pthread_cond_wait.c:503
        spin = 0
        buffer = {__routine = 0xffff99c4df14 <__condvar_cleanup_waiting>, __arg = 0xffff96afe828, __canceltype = -1711305632, __prev = 0x0}
        cbuffer = {wseq = 5364, cond = 0xffff99ff8c60 <my_cond_start_is_required>, mutex = 0xffff99ff8c28 <my_mutex>, private = 0}
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = 5364
        seq = 2682
        private = 0
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        done = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        s = <optimized out>
#4  ___pthread_cond_wait (cond=cond@entry=0xffff99ff8c60 <my_cond_start_is_required>, mutex=mutex@entry=0xffff99ff8c28 <my_mutex>) at ./nptl/pthread_cond_wait.c:618
No locals.
#5  0x0000ffff99f8f61c in polling_thread (p=<optimized out>) at src/libespeak-ng/event.c:263
        a_stop_is_required = false
        __PRETTY_FUNCTION__ = "polling_thread"
#6  0x0000ffff99c4ee18 in start_thread (arg=0xffff983775b7) at ./nptl/pthread_create.c:442
        ret = <optimized out>
        pd = 0xffff983775b7
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {281473209856224, 281473235515016, 281473235514806, 0, 8448416, 281473235514807, 281473201405952, 281473209856224, 281473201405952, 281473209858080, 281473209854080, 10644780780760906224, 0, 10644780780578127348, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#7  0x0000ffff99cb7e9c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79
No locals.

Thread 5 (Thread 0xffff9732f0e0 (LWP 92860) "espeakup"):
#0  0x0000ffff99c4b694 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0xaaaabff903f0 <runner_awake+40>) at ./nptl/futex-internal.c:57
        _x3tmp = 0
        _x0tmp = 187650341929968
        _x0 = 187650341929968
        _x3 = 0
        _x4tmp = 0
        _x1tmp = 393
        _x1 = 393
        _x4 = 0
        _x5tmp = 4294967295
        _x2tmp = 0
        _x2 = 0
        _x5 = 4294967295
        _x8 = 98
        _sys_result = <optimized out>
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        _sys_result = <optimized out>
        _x5tmp = <optimized out>
        _x4tmp = <optimized out>
        _x3tmp = <optimized out>
        _x2tmp = <optimized out>
        _x1tmp = <optimized out>
        _x0tmp = <optimized out>
        _x0 = <optimized out>
        _x1 = <optimized out>
        _x2 = <optimized out>
        _x3 = <optimized out>
        _x4 = <optimized out>
        _x5 = <optimized out>
        _x8 = <optimized out>
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0xaaaabff903f0 <runner_awake+40>) at ./nptl/futex-internal.c:87
        err = <optimized out>
        clockbit = 256
        op = 393
        err = <optimized out>
        clockbit = <optimized out>
        op = <optimized out>
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xaaaabff903f0 <runner_awake+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
No locals.
#3  0x0000ffff99c4e1d0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0xaaaabff90338 <queue_guard>, cond=0xaaaabff903c8 <runner_awake>) at ./nptl/pthread_cond_wait.c:503
        spin = 0
        buffer = {__routine = 0xffff99c4df14 <__condvar_cleanup_waiting>, __arg = 0xffff9732e788, __canceltype = -1713957152, __prev = 0x0}
        cbuffer = {wseq = 3844, cond = 0xaaaabff903c8 <runner_awake>, mutex = 0xaaaabff90338 <queue_guard>, private = 0}
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = 3844
        seq = 1922
        private = 0
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        done = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        s = <optimized out>
#4  ___pthread_cond_wait (cond=cond@entry=0xaaaabff903c8 <runner_awake>, mutex=mutex@entry=0xaaaabff90338 <queue_guard>) at ./nptl/pthread_cond_wait.c:618
No locals.
#5  0x0000aaaabff732ac in espeak_thread (arg=0xffffe8793a38) at ../src/espeak.c:491
        s = 0xffffe8793a38
#6  0x0000ffff99c4ee18 in start_thread (arg=0xffffe8793927) at ./nptl/pthread_create.c:442
        ret = <optimized out>
        pd = 0xffffe8793927
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {281473218441440, 281474582001968, 281474582001958, 0, 8448416, 281474582001959, 281473209991168, 281473218441440, 281473209991168, 281473218443296, 281473218439296, 10644780780760906224, 0, 10644780780605062644, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#7  0x0000ffff99cb7e9c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79
No locals.

Thread 4 (Thread 0xffff97b3f0e0 (LWP 92859) "espeakup"):
#0  0x0000ffff99cb0b48 in __GI___select (nfds=8, nfds@entry=0, readfds=readfds@entry=0xffff97b3e7f8, writefds=writefds@entry=0x0, exceptfds=exceptfds@entry=0x0, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/select.c:69
        _x3tmp = 0
        _x0tmp = 8
        _x0 = 8
        _x3 = 0
        _x4tmp = 0
        _x1tmp = 281473226893304
        _x1 = 281473226893304
        _x4 = 0
        _x5tmp = 0
        _x2tmp = 0
        _x2 = 0
        _x5 = 0
        _x8 = 72
        _sys_result = <optimized out>
        sc_ret = <optimized out>
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        s = <optimized out>
        us = <optimized out>
        ns = <optimized out>
        ts64 = {tv_sec = 187650341815212, tv_nsec = 281473226893304}
        pts64 = 0x0
        r = <optimized out>
#1  0x0000aaaabff74408 in softsynth_thread (arg=<optimized out>) at ../src/softsynth.c:288
        s = <optimized out>
        set = {__fds_bits = {136, 0 <repeats 15 times>}}
        length = <optimized out>
        buf = "\000\000e  tick apt autoremove tick  to remove them dot  \000\000e and 0 not upgraded dot  \000\000ate information. Done  libasound2 dash dbgsym is already the newest version  left paren 1.2.8 dash 1 plus b1 right pare"...
        cp = <optimized out>
        terminalFD = <optimized out>
        greatestFD = -1
#2  0x0000ffff99c4ee18 in start_thread (arg=0xffffe8793927) at ./nptl/pthread_create.c:442
        ret = <optimized out>
        pd = 0xffffe8793927
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {281473226895584, 281474582001968, 281474582001958, 0, 8448416, 281474582001959, 281473218445312, 281473226895584, 281473218445312, 281473226897440, 281473226893440, 10644780780760906224, 0, 10644780780596739572, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#3  0x0000ffff99cb7e9c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79
No locals.

Thread 3 (Thread 0xffff983780e0 (LWP 92858) "espeakup"):
#0  0x0000ffff99c4b694 in __futex_abstimed_wait_common64 (private=0, cancel=true, abstime=0x0, op=393, expected=0, futex_word=0xffff99ff8db8 <my_cond_start_is_required+40>) at ./nptl/futex-internal.c:57
        _x3tmp = 0
        _x0tmp = 281473265405368
        _x0 = 281473265405368
        _x3 = 0
        _x4tmp = 0
        _x1tmp = 393
        _x1 = 393
        _x4 = 0
        _x5tmp = 4294967295
        _x2tmp = 0
        _x2 = 0
        _x5 = 4294967295
        _x8 = 98
        _sys_result = <optimized out>
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        _sys_result = <optimized out>
        _x5tmp = <optimized out>
        _x4tmp = <optimized out>
        _x3tmp = <optimized out>
        _x2tmp = <optimized out>
        _x1tmp = <optimized out>
        _x0tmp = <optimized out>
        _x0 = <optimized out>
        _x1 = <optimized out>
        _x2 = <optimized out>
        _x3 = <optimized out>
        _x4 = <optimized out>
        _x5 = <optimized out>
        _x8 = <optimized out>
#1  __futex_abstimed_wait_common (cancel=true, private=0, abstime=0x0, clockid=0, expected=0, futex_word=0xffff99ff8db8 <my_cond_start_is_required+40>) at ./nptl/futex-internal.c:87
        err = <optimized out>
        clockbit = 256
        op = 393
        err = <optimized out>
        clockbit = <optimized out>
        op = <optimized out>
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xffff99ff8db8 <my_cond_start_is_required+40>, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at ./nptl/futex-internal.c:139
No locals.
#3  0x0000ffff99c4e1d0 in __pthread_cond_wait_common (abstime=0x0, clockid=0, mutex=0xffff99ff8d20 <my_mutex>, cond=0xffff99ff8d90 <my_cond_start_is_required>) at ./nptl/pthread_cond_wait.c:503
        spin = 0
        buffer = {__routine = 0xffff99c4df14 <__condvar_cleanup_waiting>, __arg = 0xffff983777b8, __canceltype = -1711734696, __prev = 0x0}
        cbuffer = {wseq = 3230, cond = 0xffff99ff8d90 <my_cond_start_is_required>, mutex = 0xffff99ff8d20 <my_mutex>, private = 0}
        err = <optimized out>
        g = 0
        flags = <optimized out>
        g1_start = <optimized out>
        maxspin = 0
        signals = <optimized out>
        result = 0
        wseq = 3230
        seq = 1615
        private = 0
        maxspin = <optimized out>
        err = <optimized out>
        result = <optimized out>
        wseq = <optimized out>
        g = <optimized out>
        seq = <optimized out>
        flags = <optimized out>
        private = <optimized out>
        signals = <optimized out>
        done = <optimized out>
        g1_start = <optimized out>
        spin = <optimized out>
        buffer = <optimized out>
        cbuffer = <optimized out>
        s = <optimized out>
#4  ___pthread_cond_wait (cond=cond@entry=0xffff99ff8d90 <my_cond_start_is_required>, mutex=mutex@entry=0xffff99ff8d20 <my_mutex>) at ./nptl/pthread_cond_wait.c:618
No locals.
#5  0x0000ffff99f8ff68 in say_thread (p=<optimized out>) at src/libespeak-ng/fifo.c:308
        a_start_is_required = false
        a_status = <optimized out>
        __PRETTY_FUNCTION__ = "say_thread"
        look_for_inactivity = true
#6  0x0000ffff99c4ee18 in start_thread (arg=0xffffe87937d7) at ./nptl/pthread_create.c:442
        ret = <optimized out>
        pd = 0xffffe87937d7
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {281473235517664, 281474582001848, 281474582001622, 0, 8448416, 281474582001623, 281473227067392, 281473235517664, 281473227067392, 281473235519520, 281473235515520, 10644780780760906224, 0, 10644780780755824116, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#7  0x0000ffff99cb7e9c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79
No locals.

Thread 2 (Thread 0xffff98f5f0e0 (LWP 92857) "espeakup"):
#0  0x0000ffff99c0b558 in __GI___sigtimedwait (set=set@entry=0xffff98f5e760, info=info@entry=0xffff98f5e688, timeout=timeout@entry=0x0) at ../sysdeps/unix/sysv/linux/sigtimedwait.c:31
        _x2tmp = 0
        _x0tmp = 281473247995744
        _x0 = -4
        _x2 = 0
        _x8 = 137
        _x3tmp = 8
        _x1tmp = 281473247995528
        _x1 = 281473247995528
        _x3 = 8
        _sys_result = <optimized out>
        sc_ret = <optimized out>
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        result = <optimized out>
#1  0x0000ffff99c0ab40 in __GI___sigwait (set=set@entry=0xffff98f5e760, sig=sig@entry=0xffff98f5e75c) at ../sysdeps/unix/sysv/linux/sigwait.c:28
        si = {si_signo = 0, si_errno = 0, si_code = 0, __pad0 = 0, _sifields = {_pad = {0 <repeats 18 times>, 12582912, 0, 12582912, 0, 0, 0, 0, 0, -1074200296, 43690}, _kill = {si_pid = 0, si_uid = 0}, _timer = {si_tid = 0, si_overrun = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _rt = {si_pid = 0, si_uid = 0, si_sigval = {sival_int = 0, sival_ptr = 0x0}}, _sigchld = {si_pid = 0, si_uid = 0, si_status = 0, si_utime = 0, si_stime = 0}, _sigfault = {si_addr = 0x0, si_addr_lsb = 0, _bounds = {_addr_bnd = {_lower = 0x0, _upper = 0x0}, _pkey = 0}}, _sigpoll = {si_band = 0, si_fd = 0}, _sigsys = {_call_addr = 0x0, _syscall = 0, _arch = 0}}}
        ret = <optimized out>
#2  0x0000aaaabff73f2c in signal_thread (arg=<optimized out>) at ../src/signal.c:55
        temp = {__sigaction_handler = {sa_handler = 0xaaaabff73e40 <dummy_handler>, sa_sigaction = 0xaaaabff73e40 <dummy_handler>}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
        sigset = {__val = {18446744067267100671, 0 <repeats 15 times>}}
        sig = 0
#3  0x0000ffff99c4ee18 in start_thread (arg=0xffffe8793927) at ./nptl/pthread_create.c:442
        ret = <optimized out>
        pd = 0xffffe8793927
        out = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {281473247998176, 281474582001968, 281474582001958, 0, 8448416, 281474582001959, 281473239547904, 281473247998176, 281473239547904, 281473248000032, 281473247996032, 10644780780760906224, 0, 10644780780743146996, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = 0
#4  0x0000ffff99cb7e9c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:79
No locals.

Thread 1 (Thread 0xffff99f3c020 (LWP 92856) "espeakup"):
#0  0x0000ffff99c4b694 in __futex_abstimed_wait_common64 (private=128, cancel=true, abstime=0x0, op=265, expected=92857, futex_word=0xffff98f5f1b0) at ./nptl/futex-internal.c:57
        _x3tmp = 0
        _x0tmp = 281473247998384
        _x0 = 281473247998384
        _x3 = 0
        _x4tmp = 0
        _x1tmp = 265
        _x1 = 265
        _x4 = 0
        _x5tmp = 4294967295
        _x2tmp = 92857
        _x2 = 92857
        _x5 = 4294967295
        _x8 = 98
        _sys_result = <optimized out>
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
        _sys_result = <optimized out>
        _x5tmp = <optimized out>
        _x4tmp = <optimized out>
        _x3tmp = <optimized out>
        _x2tmp = <optimized out>
        _x1tmp = <optimized out>
        _x0tmp = <optimized out>
        _x0 = <optimized out>
        _x1 = <optimized out>
        _x2 = <optimized out>
        _x3 = <optimized out>
        _x4 = <optimized out>
        _x5 = <optimized out>
        _x8 = <optimized out>
#1  __futex_abstimed_wait_common (cancel=true, private=128, abstime=0x0, clockid=0, expected=92857, futex_word=0xffff98f5f1b0) at ./nptl/futex-internal.c:87
        err = <optimized out>
        clockbit = 256
        op = 265
        err = <optimized out>
        clockbit = <optimized out>
        op = <optimized out>
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0xffff98f5f1b0, expected=92857, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=128) at ./nptl/futex-internal.c:139
No locals.
#3  0x0000ffff99c50718 in __pthread_clockjoin_ex (threadid=281473247998176, thread_return=thread_return@entry=0x0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, block=block@entry=true) at ./nptl/pthread_join_common.c:102
        ret = <optimized out>
        _buffer = {__routine = 0xffff99c50590 <cleanup>, __arg = 0xffff98f5f500, __canceltype = 0, __prev = 0x0}
        tid = <optimized out>
        pd = 0xffff98f5f0e0
        self = <optimized out>
        result = 0
        pd_result = <optimized out>
#4  0x0000ffff99c50590 in ___pthread_join (threadid=<optimized out>, thread_return=thread_return@entry=0x0) at ./nptl/pthread_join.c:24
No locals.
#5  0x0000aaaabff72800 in main (argc=<optimized out>, argv=0xffffe8793c78) at ../src/espeakup.c:229
        fd = 6
        devnull = <optimized out>
        ret = 0 '\000'
        sigset = {__val = {16386, 281473265436384, 281473265699696, 281473265702704, 281473265696808, 281473261573552, 281474582002832, 281474582002704, 281473265501332, 281474582002808, 2, 187650341927912, 187650341807744, 281474582002432, 281473261205312, 281474582002808}}
        err = <optimized out>
        signal_thread_id = 281473247998176
        espeak_thread_id = 281473218441440
        softsynth_thread_id = 281473226895584
        s = {frequency = 5, pitch = 4, range = 5, punct = 2, rate = 9, voice = "en", '\000' <repeats 17 times>, volume = 5, buf = 0xffff88001570 "\261\220\371s\360\377", len = 51}
[?2004h(gdb) 
[?2004l
[?2004h(gdb) quit
[?2004l
[?2004hA debugging session is active.

	Inferior 1 [process 92856] will be detached.

Quit anyway? (y or n) quit
[?2004l
EOF [assumed Y]
Detaching from program: /usr/bin/espeakup, process 92856
[Inferior 1 (process 92856) detached]

Reply to: