[Asterisk-Users] Asterisk and Festival (* dies with no info)

Doug Raum draum at zoom.com
Tue Jan 13 06:11:28 MST 2004


Hello,

I have Asterisk running on a RH9 box; Everything seems to be working as it
should, except for Festival.  Every time that Festival is called from
Asterisk, Asterisk silently shuts down.  Festival doesn't give any error
indication and Asterisk just plain dies without a peep.

Festival was installed per the Wiki, using source and patched with
festival-1.4.3-diff;  it works fine at the console.  Asterisk is built from
CVS and has been configured per the Wiki as well, including the test
extension (555).  I start Festival with the "festival_server" script, then
start Asterisk.

(snippet from extensions.conf)
exten => 555,1,Answer
exten => 555,2,Festival(mary had a little lamb)
exten => 555,3,Hangup

Here's what Asterisk says with -vvvvv, calling from SIP 81001 to 555:
 Asterisk Ready.
     -- Executing Answer("SIP/81001-e87b", "") in new stack
     -- Executing Festival("SIP/81001-e87b", "mary had a little lamb") in
new stack
   == Parsing '/etc/asterisk/festival.conf': Found
   == Spawn extension (from-sip, 555, 2) exited non-zero on 'SIP/81001-e87b'

...at this point Asterisk is dead.  No segfault, no error message.

# cat /var/log/asterisk/messages
Jan  7 15:36:49 WARNING[1074416352]: File chan_iax2.c, Line 5466
(set_config): Ignoring port for now

# cat /var/log/asterisk/event_log
Jan  7 15:36:47 asterisk[5038]: Started Asterisk Event Logger

(I capture stderr to asterisk.err)
# cat /var/log/asterisk/asterisk.err
Warning, flexibel rate not heavily tested!
Ouch ... error while writing audio data: : Broken pipe

I'm guessing the ouch comes from mpg123 being surprised that Asterisk is
gone.

Debug info in syslog seems pretty unhelpful if I use -d:
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]: File
chan_sip.c, Line 4024 (check_user):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]: File
chan_sip.c, Line 5098 (handle_request):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]: File
chan_sip.c, Line 1002 (find_user):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]: File
chan_sip.c, Line 3417 (build_route):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]: File
app_festival.c, Line 304 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]: File
app_festival.c, Line 361 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]: File
app_festival.c, Line 363 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]: File
app_festival.c, Line 379 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]: File
app_festival.c, Line 400 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1234379840]: File
app_festival.c, Line 410 (festival_exec):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]: File
chan_sip.c, Line 567 (__sip_ack):
Jan  7 15:37:00  asterisk_pbx[5038]: Jan  7 15:37:00 DEBUG[1150495040]: File
chan_sip.c, Line 567 (__sip_ack):
Jan  7 15:37:01  asterisk_pbx[5038]: Jan  7 15:37:01 DEBUG[1234379840]: File
cdr_addon_mysql.c, Line 123 (mysql_log):
Jan  7 15:37:01  asterisk_pbx[5038]: Jan  7 15:37:01 DEBUG[1234379840]: File
cdr_addon_mysql.c, Line 130 (mysql_log):
Jan  7 15:37:01  asterisk_pbx[5038]: Jan  7 15:37:01 DEBUG[1234379840]: File
chan_sip.c, Line 1081 (sip_hangup):

Festival's info is very minimal, but seems to indicate success:
# cat festival_server.log
"Load server start ./festival_server.scm"
festival port=1314
wrapper Wed Jan 7 15:36:40 EST 2004 : USING DEFAULT CONFIGURATION
wrapper Wed Jan 7 15:36:41 EST 2004 : waiting
server    Wed Jan  7 15:36:41 2004 : Festival server started on port 1314
client(1) Wed Jan  7 15:37:00 2004 : accepted from localhost
client(1) Wed Jan  7 15:37:00 2004 : disconnected

...a process listing after the * crash shows a zombie festival, although
Festival will happily take new connections:
 5024 ?        S      0:00 /bin/sh /usr/local/festival/bin/festival_server
 5030 ?        S      0:00 festival --server ./festival_server.scm
 5065 ?        Z      0:00 [festival <defunct>]

I can restart Asterisk again, and do this over and over and over.  If I use
the -g option to generate a core dump, I never see one generated.

Any thoughts on what might be happening here?  What am I doing wrong?

-- 
Doug



More information about the asterisk-users mailing list