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

Iain Stevenson iain at iainstevenson.com
Tue Jan 13 08:56:26 MST 2004


It may not be you, I think the Festival driver is buggy.  Specifically, 
I've found that the the way in which you pass the text to Festival matters. 
If I use the Festival () suntax then it won't work.  If I use the wrong 
sort of quotation mark " instead of ' there are problems.  Asterisk will 
consume vast amounts of processor resources.

However, if I specify the command in a way the Festival app likes then all 
is OK.  Try variants like:

exten => 555,4,Festival,'mary had a little lamb'

  Iain



--On Tuesday, January 13, 2004 8:11 am -0500 Doug Raum <draum at zoom.com> 
wrote:

> 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
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
> To UNSUBSCRIBE or update options visit:
>    http://lists.digium.com/mailman/listinfo/asterisk-users
>







More information about the asterisk-users mailing list