[pulseaudio-tickets] [PulseAudio] #668: problem: fc.11: emacs + eflite does not work.

PulseAudio trac-noreply at tango.0pointer.de
Sun Oct 4 14:27:34 PDT 2009


#668: problem: fc.11: emacs + eflite does not work.
-----------------------------------------+----------------------------------
 Reporter:  rabbit                       |       Owner:  lennart
     Type:  defect                       |      Status:  new    
Milestone:                               |   Component:  daemon 
 Keywords:  eflite emacspeak flite alsa  |  
-----------------------------------------+----------------------------------
 - just to isolate problem, I decided to run emacs+emacspeak+eflite from
 console.

 - there was no problem running the same version of
 flite/eflite/emacs/emacspeak in fc9.

 - pulseaudio binary works of course.

 - problem exists only in (emacs+emacspeak)+(flite+eflite) case. When
 flite+eflite runs alone from commandline, and reads data let's say from
 standard input, there is no problem. how to run it to read from stdin?

 prompt$ ./eflite
 q {hallo world}
 d

 #now You should hear "hallo world".

 - problem comes from eflite server thread. client keeps on putting data to
 socket, while server stops on
 strace:

 futex(0x454edf54, FUTEX_WAIT_PRIVATE, 43, NULL

 or more detailed gdb (I noticed 2 cases).

 gdb:
 (gdb) bt #1

 #0  0x00e91422 in __kernel_vsyscall ()

 #1  0x008c2fa5 in pthread_cond_wait@@GLIBC_2.3.2 () at
 ../nptl/sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S:122

 #2  0x005cb2ed in pa_cond_wait (c=0xb750c988, m=0xb750c930) at pulsecore
 /mutex-posix.c:139

 #3  0x003c1a5e in pa_threaded_mainloop_wait (m=0xb750c838) at pulse
 /thread-mainloop.c:201

 #4  0x00113ae3 in pulse_wait_operation () from /usr/lib/alsa-
 lib/libasound_module_pcm_pulse.so

 #5  0x00112d88 in snd_config_iterator_end () at conf.c:3815

 #6  0x03e8f7d9 in snd_pcm_ioplug_drop (pcm=0xb750ef20) at pcm_ioplug.c:464

 #7  0x03e45281 in snd_pcm_drop (pcm=0xb750ef20) at pcm.c:1091

 #8  0x009896f5 in audio_drain_alsa (ad=0xb7508698) at au_alsa.c:299

 #9  0x0098a36d in audio_drain (ad=0xb7508698) at audio.c:213

 #10 0x0804be5a in s_clear (s=0x80515e0) at fs.c:884

 #11 0x0804cda0 in parse (client=0x8e36bd0, buf=0x8e36ce8 "s") at es.c:590

 #12 0x0804d197 in handle (client=0x8e36bd0) at es.c:673

 #13 0x0804dc3d in main (argc=1, argv=0xbfdbded4) at es.c:910


 (gdb) bt #2

 #0  0x00ff0422 in __kernel_vsyscall ()

 #1  0x008c6936 in __pause_nocancel () from /lib/libpthread.so.0

 #2  0x008c0ba4 in __pthread_mutex_lock_full (mutex=0xb690c930) at
 pthread_mutex_lock.c:316

 #3  0x005cac5a in pa_mutex_lock () from /usr/lib/libpulsecommon-0.9.15.so

 #4  0x003c1702 in pa_threaded_mainloop_lock () from /usr/lib/libpulse.so.0

 #5  0x00112d16 in snd_config_iterator_end () at conf.c:3815

 #6  0x03e8f7d9 in snd_pcm_ioplug_drop (pcm=0xb690e480) at pcm_ioplug.c:464

 #7  0x03e45281 in snd_pcm_drop (pcm=0xb690e480) at pcm.c:1091

 #8  0x03e4b550 in snd_pcm_close (pcm=0xb690e480) at pcm.c:695

 #9  0x009899fe in audio_close_alsa (ad=0xb69084e8) at au_alsa.c:193

 #10 0x0098a831 in audio_close (ad=0xb69084e8) at audio.c:81

 #11 0x0804a119 in close_audiodev () at fs.c:503

 #12 0x0804c058 in s_clear (s=0x80515e0) at fs.c:910

 #13 0x0804cda0 in parse (client=0x8739bd0, buf=0x8739ce8 "s") at es.c:590

 #14 0x0804d197 in handle (client=0x8739bd0) at es.c:673

 #15 0x0804dc3d in main (argc=1, argv=0xbf8b3804) at es.c:910
 (gdb)

 To get this trace I used the fact that eflite stops working after some
 time, so I could attach gdb to running process.

 some info on software.

 emacs 23.1.1 compiled by me.

 emacspeak 30.0 compiled by me.

 flite-1.3.13.fc11 (built by fedora).

 eflite 0.4.2 built by me. efltite module taken from
 CVSROOT=:pserver:anonymous at eflite.cvs.sourceforge.net:/cvsroot/eflite. how
 to build: autoconf && ./configure --with-audio=alsa && make. Don't forget
 to install alsa-lib-devel-1.0.21-3.fc11.i586 (/usr/include/sys/asoundlib.h
 must exist).


 to run emacspeak with eflite edit /usr/local/bin/emacspeak:

 ......
 ......

 # add 2 following lines:

 DTK_PROGRAM=/path/to/eflite

 export DTK_PROGRAM


 EMACS_UNIBYTE=1

 export EMACS_UNIBYTE

 exec emacs -q -l /usr/local/share/emacs/site-lisp/emacspeak/lisp
 /emacspeak-setup.el $INITSTR $CL_ALL

 then run /usr/local/bin/emacspeak.

 If You need me provide some more information, just email me.
 best regards,
 Michal

-- 
Ticket URL: <http://pulseaudio.org/ticket/668>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list