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

2019-04-30 Thread Samuel Thibault
Hello,

Paul Wise, le mar. 30 avril 2019 08:39:02 +0800, a ecrit:
> #0  0x5571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 
> "None") at module_utils_addvoice.c:175

I see, this happens when there is just no voice available.

> The screen reader functionality still seems to work at least for GTK3
> apps so I've filed this issue as minor for now.

Indeed, it doesn't have consequences because the crash happens only when
there won't be any voice available with this module anyway :)

I have fixed it upstream, it'll get fixed in Debian with the next
release.

Samuel



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

2019-04-29 Thread Paul Wise
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  0x5571ba2c551b 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  0x5571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 "None") 
at module_utils_addvoice.c:175
#1  0x5571ba2bc585 in generic_set_synthesis_voice (name=) at 
generic.c:684
#2  0x5571ba2bc873 in module_speak (data=data@entry=0x5571ba327540 
"Screen reader on.", bytes=87, msgtype=msgtype@entry=SPD_MSGTYPE_TEXT) 
at generic.c:201
#3  0x5571ba2bd8d8 in do_message (msgtype=SPD_MSGTYPE_TEXT) at 
module_utils.c:101
#4  0x5571ba2b728a in main (argc=, argv=) at 
module_main.c:175
#0  0x5571ba2c551b in module_existsvoice (voicename=0x5571ba3123e0 "None") 
at module_utils_addvoice.c:175
i = 0
#1  0x5571ba2bc585 in generic_set_synthesis_voice (name=) at 
generic.c:684
__PRETTY_FUNCTION__ = "generic_set_synthesis_voice"
#2  0x5571ba2bc873 in module_speak (data=data@entry=0x5571ba327540 
"Screen reader on.", bytes=87, msgtype=msgtype@entry=SPD_MSGTYPE_TEXT) 
at generic.c:201
tmp = 
__PRETTY_FUNCTION__ = "module_speak"
#3  0x5571ba2bd8d8 in do_message (msgtype=SPD_MSGTYPE_TEXT) at 
module_utils.c:101
ret = 
cur_line = 0x5571ba30fd00 "001\272qU"
msg = 0x5571ba326600
n = 120
nlines = 
#4  0x5571ba2b728a in main (argc=, argv=) at 
module_main.c:175
msg = 0x5571ba30c140 "SPEAK\n"
t = 
tv = 
tstr = 
cmd_buf = 0x5571ba30c140 "SPEAK\n"
ret = 
n = 120
configfilename = 
status_info = 0x5571ba30fce0 "pulse"

Thread 3 (Thread 0x7f775f063700 (LWP 22911)):
#0  futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=0, 
futex_word=0x5571ba2cc160 ) at 
../sysdeps/unix/sysv/linux/futex-internal.h:205
__ret = -512
oldtype = 2
err = 
oldtype = 
err = 
__ret = 
resultvar = 
__arg6 = 
__arg5 = 
__arg4 = 
__arg3 = 
__arg2 = 
__arg1 = 
_a6 = 
_a5 = 
_a4 = 
_a3 = 
_a2 = 
_a1 = 
#1  do_futex_wait (sem=sem@entry=0x5571ba2cc160 , 
abstime=0x0) at sem_waitcommon.c:111
err = 
#2  0x7f775f7c9988 in __new_sem_wait_slow (sem=sem@entry=0x5571ba2cc160 
, abstime=0x0) at sem_waitcommon.c:181
_buffer = {__routine = 0x7f775f7c9850 <__sem_wait_cleanup>, __arg = 
0x5571ba2cc160 , __canceltype = -1, __prev = 0x0}
err = 
d = 0
#3  0x7f775f7c99f9 in __new_sem_wait (sem=sem@entry=0x5571ba2cc160 
) at sem_wait.c:42
No locals.
#4  0x5571ba2b972c in _generic_speak (nothing=) at 
generic.c:354
module_pipe = {pc = {0, 0}, cp = {0, 0}}
ret = 
status = 0
t = 
tv = 
tstr = 
#5  0x7f775f7c0fa3 in start_thread (arg=) at 
pthread_create.c:486
ret = 
pd = 
now = 
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 = 
#6  0x7f775f8e04cf in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.

Thread 2 (Thread 0x7f77594b4700 (LWP 22912)):
#0  0x7f775f8d5819 in __GI___poll (fds=fds@entry=0x7f7754007130, 
nfds=nfds@entry=3, timeout=timeout@entry=160) at 
../sysdeps/unix/sysv/linux/poll.c:29
resultvar = 18446744073709551100
sc_cancel_oldtype = 0
sc_ret = 
#1  0x7f775e80d101 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 =