[pulseaudio-tickets] [PulseAudio] #668: problem: fc.11: emacs + eflite does not work.
PulseAudio
trac-noreply at tango.0pointer.de
Mon Nov 23 13:28:43 PST 2009
#668: problem: fc.11: emacs + eflite does not work.
---------------------+------------------------------------------------------
Reporter: rabbit | Owner: lennart
Type: defect | Status: new
Milestone: | Component: daemon
Resolution: | Keywords: eflite emacspeak flite alsa
---------------------+------------------------------------------------------
Changes (by rabbit):
* cc: rabbitko at tenbit.pl (added)
* owner: rabbit => lennart
Comment:
Hallo Lennart.
In fc12 problem comes back unfortunatelly.
eflite deamon thread gets stuck in following stack trace:
(gdb) bt
#0 0x00bd0416 in __kernel_vsyscall ()
#1 0x0092cc45 in pthread_cond_wait@@GLIBC_2.3.2 () at
../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122
#2 0x0057eb9d in pa_cond_wait () from /usr/lib/libpulsecommon-0.9.19.so
#3 0x0052e9c0 in pa_threaded_mainloop_wait () from /usr/lib/libpulse.so.0
#4 0x004fdb03 in pulse_wait_operation () from /usr/lib/alsa-
lib/libasound_module_pcm_pulse.so
#5 0x004fcda8 in snd_config_iterator_end () at conf.c:3815
#6 0x05bcad59 in snd_pcm_ioplug_drop (pcm=<value optimized out>) at
pcm_ioplug.c:464
#7 0x05b80672 in snd_pcm_drop (pcm=<value optimized out>) at pcm.c:1091
#8 0x008da726 in audio_drain_alsa (ad=0xb6c005b0) at au_alsa.c:299
#9 0x008db38e in audio_drain (ad=0xb6c005b0) at audio.c:213
#10 0x0804be59 in s_clear (s=0x80502c0) at fs.c:884
#11 0x0804cd9d in parse (client=0x994fbd0, buf=0x994e008 "s") at es.c:590
#12 0x0804d194 in handle (client=0x994fbd0) at es.c:673
#13 0x0804dc3a in main (argc=2, argv=0xbfce9c44) at es.c:910
(gdb)
all packages, except eflite come from fc12 distribution. Especially I run:
$ rpm -qi pulseaudio
Name : pulseaudio Relocations: (not relocatable)
Version : 0.9.19 Vendor: Fedora Project
Release : 2.fc12 Build Date: Wed 04 Nov 2009
09:16:58 PM CET
Install Date: Mon 09 Nov 2009 06:02:57 AM CET Build Host:
x86-1.fedora.phx.redhat.com
Group : System Environment/Daemons Source RPM:
pulseaudio-0.9.19-2.fc12.src.rpm
Below is detailed instruction on how I reproduce the problem:
prompt# yum install emacs emacspeak flite flite-devel alsa-lib-devel
edit /usr/bin/emacspeak (> - add; < - remove):
....
....
> export DTK_PROGRAM=/usr/src/eflite-cvs/eflite/eflite
EMACS_UNIBYTE=1
export EMACS_UNIBYTE
< exec emacs -q -l /usr/share/emacs/site-lisp/emacspeak/lisp/emacspeak-
setup.el $INITSTR $CL_ALL
> exec emacs --eval '(setq dtk-quiet t)' -q -l /usr/share/emacs/site-
lisp/emacspeak /lisp/emacspeak-setup.el $INITSTR $CL_ALL
--- end of /usr/bin/emacspeak file.
"--eval '(setq dtk-quiet t)'" is added to defer initialization of speech
server so that one could attach debugger before eflite gets stuck.
prompt# mkdir /usr/src/eflite-cvs
prompt# cd /usr/src/eflite-cvs
prompt# export
CVSROOT=:pserver:anonymous at eflite.cvs.sourceforge.net:/cvsroot/eflite
prompt# cvs get eflite
prompt# cd eflite
edit Makefile:
< CFLAGS = -g -O2 -Wall
> CFLAGS = -g -O0 -Wall
< #CFLAGS+= -DDEBUG=2
> CFLAGS+= -DDEBUG=2
-- end of Makefile
"-DDEBUG=2" turns on putting information to ~/es.log
prompt# ./configure --with-audio=alsa
prompt# make
to test if it works fine:
login-user-prompt$ ./eflite
q { hello }
d
login-user-prompt$
You should hear "hello".
This is all about compiling. Now I'll write how to reproduce an error.
login-user-prompt$ /usr/src/eflite-cvs/eflite/eflite -D
Please attach with GDB to this process and let it run.
"eflite -D" command creates daemon process (the one that gets stuck).
It will also create socket:
login-user-prompt$ ll /tmp/es.socket
srw-rw-rw-. 1 me group 0 2009-11-23 22:00 /tmp/es.socket
this socket is used to pass request by eflite client process (issued by
emacspeak).
login-user-prompt$ /usr/bin/emacspeak
emacs will start eflite client process. YOu will see new "eflite" process
in "ps xauwwwuf". Because I added "--eval '(setq dtk-quiet t)'" to
/usr/bin/emacspeak, it will not start talking immediatelly.
While in emacs put:
Ctrl-u Esc-x dtk-toggle-quiet <Enter>
this command will enable speech. You will probably hear some words, which
is ok.
Now try to type some words. 2 or 3 characters will probably be spoken but
that's all! eflite deamon gets stuck. Please stop eflite daemon in GDB and
issue "bt" command.
That's all what I was able to do with this problem. I am of course willing
to help.
Because using pulseaudio 0.9.19 didn't help I decided to rewrite defect
back to You. I hope I didn't do the mistake.
Best regards,
Michal.
--
Ticket URL: <http://pulseaudio.org/ticket/668#comment:2>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server
More information about the pulseaudio-bugs
mailing list