[Asterisk-Users] Asterisk and Festival (* dies with no info)
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 -v, 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 serverWed 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 [EMAIL PROTECTED] http://lists.digium.com/mailman/listinfo/asterisk-users To UNSUBSCRIBE or update options visit: http://lists.digium.com/mailman/listinfo/asterisk-users
Re: [Asterisk-Users] Asterisk and Festival (* dies with no info)
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 [EMAIL PROTECTED] 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 -v, 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 serverWed 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
Re: [Asterisk-Users] Asterisk and Festival (* dies with no info)
strace might give you some helpfull info. See man strace. It will record system calls and signels. Given what you say I'd run Asterisk in a debugger. I like DDD Compile everything with the -g gcc option first so the debugger can display source code lines. In DDD when the program stops the curser will be left on the last line executed and you can cause it to run backwards and see how you got there. Also, are you sure the Asterisk process died and isnot just hung either in an infinite loop or waiting for something that will never happen? What doe ps say? --- Doug Raum [EMAIL PROTECTED] 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 -v, 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 serverWed 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
Re: [Asterisk-Users] Asterisk and Festival (* dies with no info)
You can attach to it with gdb and do a thread apply all bt and report a bug if it is in fact a deadlock'ed * bkw On Tue, 13 Jan 2004, Chris Albertson wrote: strace might give you some helpfull info. See man strace. It will record system calls and signels. Given what you say I'd run Asterisk in a debugger. I like DDD Compile everything with the -g gcc option first so the debugger can display source code lines. In DDD when the program stops the curser will be left on the last line executed and you can cause it to run backwards and see how you got there. Also, are you sure the Asterisk process died and isnot just hung either in an infinite loop or waiting for something that will never happen? What doe ps say? --- Doug Raum [EMAIL PROTECTED] 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 -v, 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 serverWed 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