[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