[Tts-project] Bug#928216: speech-dispatcher: sd_generic: crash (SIGSEGV) when turning Screen Reader on in GNOME (via settings or hotkey)

Paul Wise pabs at debian.org
Tue Apr 30 01:39:02 BST 2019


Package: speech-dispatcher
Version: 0.9.0-5
Severity: minor
File: /usr/lib/speech-dispatcher-modules/sd_generic
Usertags: crash

When I turn the Screen Reader on in GNOME via the settings or the
hotkey, I get a crash (SIGSEGV) from the sd_generic module. The screen
reader functionality still seems to work at least for GTK3 apps so I've
filed this issue as minor for now.

$ gdb -batch -n -ex 'set pagination off' -ex bt -ex 'bt full' -ex 'thread apply all bt full' --core /var/crash/1000/22910-1000-1000-11-1556584222-chianamo--usr-lib-speech-dispatcher-modules-sd_generic.core /usr/lib/speech-dispatcher-modules/sd_generic
[New LWP 22910]
[New LWP 22912]
[New LWP 22911]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/speech-dispatcher-modules/sd_generic /etc/speech-dispatcher/modules/ge'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x00005571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 "None") at module_utils_addvoice.c:175
175	module_utils_addvoice.c: No such file or directory.
[Current thread is 1 (Thread 0x7f775f064b80 (LWP 22910))]
#0  0x00005571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 "None") at module_utils_addvoice.c:175
#1  0x00005571ba2bc585 in generic_set_synthesis_voice (name=<optimized out>) at generic.c:684
#2  0x00005571ba2bc873 in module_speak (data=data at entry=0x5571ba327540 "<speak>Screen <mark name=\"7\"/>reader <mark name=\"14\"/>on.<mark name=\"__spd_0\"/></speak>", bytes=87, msgtype=msgtype at entry=SPD_MSGTYPE_TEXT) at generic.c:201
#3  0x00005571ba2bd8d8 in do_message (msgtype=SPD_MSGTYPE_TEXT) at module_utils.c:101
#4  0x00005571ba2b728a in main (argc=<optimized out>, argv=<optimized out>) at module_main.c:175
#0  0x00005571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 "None") at module_utils_addvoice.c:175
        i = 0
#1  0x00005571ba2bc585 in generic_set_synthesis_voice (name=<optimized out>) at generic.c:684
        __PRETTY_FUNCTION__ = "generic_set_synthesis_voice"
#2  0x00005571ba2bc873 in module_speak (data=data at entry=0x5571ba327540 "<speak>Screen <mark name=\"7\"/>reader <mark name=\"14\"/>on.<mark name=\"__spd_0\"/></speak>", bytes=87, msgtype=msgtype at entry=SPD_MSGTYPE_TEXT) at generic.c:201
        tmp = <optimized out>
        __PRETTY_FUNCTION__ = "module_speak"
#3  0x00005571ba2bd8d8 in do_message (msgtype=SPD_MSGTYPE_TEXT) at module_utils.c:101
        ret = <optimized out>
        cur_line = 0x5571ba30fd00 "001\272qU"
        msg = 0x5571ba326600
        n = 120
        nlines = <optimized out>
#4  0x00005571ba2b728a in main (argc=<optimized out>, argv=<optimized out>) at module_main.c:175
        msg = 0x5571ba30c140 "SPEAK\n"
        t = <optimized out>
        tv = <optimized out>
        tstr = <optimized out>
        cmd_buf = 0x5571ba30c140 "SPEAK\n"
        ret = <optimized out>
        n = 120
        configfilename = <optimized out>
        status_info = 0x5571ba30fce0 "pulse"

Thread 3 (Thread 0x7f775f063700 (LWP 22911)):
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, futex_word=0x5571ba2cc160 <generic_semaphore>) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
        __ret = -512
        oldtype = 2
        err = <optimized out>
        oldtype = <optimized out>
        err = <optimized out>
        __ret = <optimized out>
        resultvar = <optimized out>
        __arg6 = <optimized out>
        __arg5 = <optimized out>
        __arg4 = <optimized out>
        __arg3 = <optimized out>
        __arg2 = <optimized out>
        __arg1 = <optimized out>
        _a6 = <optimized out>
        _a5 = <optimized out>
        _a4 = <optimized out>
        _a3 = <optimized out>
        _a2 = <optimized out>
        _a1 = <optimized out>
#1  do_futex_wait (sem=sem at entry=0x5571ba2cc160 <generic_semaphore>, abstime=0x0) at sem_waitcommon.c:111
        err = <optimized out>
#2  0x00007f775f7c9988 in __new_sem_wait_slow (sem=sem at entry=0x5571ba2cc160 <generic_semaphore>, abstime=0x0) at sem_waitcommon.c:181
        _buffer = {__routine = 0x7f775f7c9850 <__sem_wait_cleanup>, __arg = 0x5571ba2cc160 <generic_semaphore>, __canceltype = -1, __prev = 0x0}
        err = <optimized out>
        d = 0
#3  0x00007f775f7c99f9 in __new_sem_wait (sem=sem at entry=0x5571ba2cc160 <generic_semaphore>) at sem_wait.c:42
No locals.
#4  0x00005571ba2b972c in _generic_speak (nothing=<optimized out>) at generic.c:354
        module_pipe = {pc = {0, 0}, cp = {0, 0}}
        ret = <optimized out>
        status = 0
        t = <optimized out>
        tv = <optimized out>
        tstr = <optimized out>
#5  0x00007f775f7c0fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140150672078592, 2514438110007428730, 140730516246062, 140730516246063, 140150672078592, 0, -2590790038380706182, -2590789300729641350}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#6  0x00007f775f8e04cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f77594b4700 (LWP 22912)):
#0  0x00007f775f8d5819 in __GI___poll (fds=fds at entry=0x7f7754007130, nfds=nfds at entry=3, timeout=timeout at entry=160) at ../sysdeps/unix/sysv/linux/poll.c:29
        resultvar = 18446744073709551100
        sc_cancel_oldtype = 0
        sc_ret = <optimized out>
#1  0x00007f775e80d101 in poll (__timeout=160, __nfds=3, __fds=0x7f7754007130) at /usr/include/x86_64-linux-gnu/bits/poll2.h:46
No locals.
#2  poll_func (ufds=0x7f7754007130, nfds=3, timeout=160, userdata=0x5571ba31ebd0) at pulse/thread-mainloop.c:69
        mutex = 0x5571ba31ebd0
        r = <optimized out>
        __func__ = "poll_func"
        __PRETTY_FUNCTION__ = "poll_func"
#3  0x00007f775e7fe920 in pa_mainloop_poll (m=m at entry=0x5571ba31ead0) at pulse/mainloop.c:824
        __func__ = "pa_mainloop_poll"
        __PRETTY_FUNCTION__ = "pa_mainloop_poll"
#4  0x00007f775e7fef6e in pa_mainloop_iterate (m=0x5571ba31ead0, block=<optimized out>, retval=0x0) at pulse/mainloop.c:926
        r = 0
        __func__ = "pa_mainloop_iterate"
        __PRETTY_FUNCTION__ = "pa_mainloop_iterate"
#5  0x00007f775e7ff020 in pa_mainloop_run (m=0x5571ba31ead0, retval=retval at entry=0x0) at pulse/mainloop.c:945
        r = <optimized out>
#6  0x00007f775e80d049 in thread (userdata=0x5571ba31ea90) at pulse/thread-mainloop.c:100
        m = 0x5571ba31ea90
        mask = {__val = {18446744067267100671, 18446744073709551615 <repeats 15 times>}}
        prev_mask = {__val = {0 <repeats 16 times>}}
        sa = {__sigaction_handler = {sa_handler = 0x0, sa_sigaction = 0x0}, sa_mask = {__val = {0 <repeats 16 times>}}, sa_flags = 0, sa_restorer = 0x0}
#7  0x00007f775e7aa4f8 in internal_thread_func (userdata=0x5571ba321120) at pulsecore/thread-posix.c:81
        t = 0x5571ba321120
        __func__ = "internal_thread_func"
        __PRETTY_FUNCTION__ = "internal_thread_func"
#8  0x00007f775f7c0fa3 in start_thread (arg=<optimized out>) at pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140150575941376, 2514438110007428730, 140730516245598, 140730516245599, 140150575941376, 93946943498672, -2590793860364728710, -2590789300729641350}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
#9  0x00007f775f8e04cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 1 (Thread 0x7f775f064b80 (LWP 22910)):
#0  0x00005571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 "None") at module_utils_addvoice.c:175
        i = 0
#1  0x00005571ba2bc585 in generic_set_synthesis_voice (name=<optimized out>) at generic.c:684
        __PRETTY_FUNCTION__ = "generic_set_synthesis_voice"
#2  0x00005571ba2bc873 in module_speak (data=data at entry=0x5571ba327540 "<speak>Screen <mark name=\"7\"/>reader <mark name=\"14\"/>on.<mark name=\"__spd_0\"/></speak>", bytes=87, msgtype=msgtype at entry=SPD_MSGTYPE_TEXT) at generic.c:201
        tmp = <optimized out>
        __PRETTY_FUNCTION__ = "module_speak"
#3  0x00005571ba2bd8d8 in do_message (msgtype=SPD_MSGTYPE_TEXT) at module_utils.c:101
        ret = <optimized out>
        cur_line = 0x5571ba30fd00 "001\272qU"
        msg = 0x5571ba326600
        n = 120
        nlines = <optimized out>
#4  0x00005571ba2b728a in main (argc=<optimized out>, argv=<optimized out>) at module_main.c:175
        msg = 0x5571ba30c140 "SPEAK\n"
        t = <optimized out>
        tv = <optimized out>
        tstr = <optimized out>
        cmd_buf = 0x5571ba30c140 "SPEAK\n"
        ret = <optimized out>
        n = 120
        configfilename = <optimized out>
        status_info = 0x5571ba30fce0 "pulse"


-- System Information:
Debian Release: buster/sid
  APT prefers testing-debug
  APT policy: (900, 'testing-debug'), (900, 'testing'), (860, 'testing-proposed-updates'), (800, 'unstable-debug'), (800, 'unstable'), (790, 'buildd-unstable'), (700, 'experimental-debug'), (700, 'experimental'), (690, 'buildd-experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 4.19.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8), LANGUAGE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages speech-dispatcher depends on:
ii  adduser                          3.118
ii  init-system-helpers              1.56+nmu1
ii  libc6                            2.28-9
ii  libdotconf0                      1.3-0.3
ii  libglib2.0-0                     2.58.3-1
ii  libltdl7                         2.4.6-9
ii  libsndfile1                      1.0.28-6
ii  libspeechd2                      0.9.0-5
ii  lsb-base                         10.2019031300
ii  speech-dispatcher-audio-plugins  0.9.0-5

Versions of packages speech-dispatcher recommends:
ii  pulseaudio                   12.2-4
pn  sound-icons                  <none>
pn  speech-dispatcher-espeak-ng  <none>

Versions of packages speech-dispatcher suggests:
ii  espeak                      1.48.04+dfsg-7
pn  libttspico-utils            <none>
pn  mbrola                      <none>
pn  speech-dispatcher-cicero    <none>
pn  speech-dispatcher-doc-cs    <none>
pn  speech-dispatcher-espeak    <none>
pn  speech-dispatcher-festival  <none>
pn  speech-dispatcher-flite     <none>

-- no debconf information

-- 
bye,
pabs

https://wiki.debian.org/PaulWise

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part
URL: <http://alioth-lists.debian.net/pipermail/tts-project/attachments/20190430/ff773054/attachment.sig>


More information about the Tts-project mailing list