Closed chewi closed 10 years ago
v1.1.1 is out with this fixed
That error went away but this one appeared. I'm calling ask in a loop. If I remove the loop or put break unless call.alive?
before the ask then the error disappears but I thought that calling a method like ask when the call has already died was supposed to raise a Hangup exception, which is then caught safely.
[2014-01-29 10:50:23.135] ERROR TestController: <Adhearsion::Call::ExpiredError> This call is expired and is no longer accessible. See http://adhearsion.com/docs/calls for further details.
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call.rb:28:in `rescue in method_missing'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call.rb:26:in `method_missing'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:201:in `write_and_await_response'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:212:in `execute_component_and_await_completion'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/adhearsion-asr-1.1.1/lib/adhearsion-asr/prompt_builder.rb:32:in `execute'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/adhearsion-asr-1.1.1/lib/adhearsion-asr/controller_methods.rb:49:in `ask'
/home/jlecuirot/Open/ahn-test/lib/test_controller.rb:7:in `block in run'
/home/jlecuirot/Open/ahn-test/lib/test_controller.rb:5:in `times'
/home/jlecuirot/Open/ahn-test/lib/test_controller.rb:5:in `run'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:120:in `execute!'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:95:in `block in exec'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:94:in `catch'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:94:in `exec'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:111:in `exec_with_callback'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:105:in `block (2 levels) in bg_exec'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/foundation/exception_handler.rb:5:in `catching_standard_errors'
/home/jlecuirot/Open/adhearsion/lib/adhearsion/call_controller.rb:104:in `block in bg_exec'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/celluloid-0.15.2/lib/celluloid/thread_handle.rb:13:in `block in initialize'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:100:in `call'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/celluloid-0.15.2/lib/celluloid/internal_pool.rb:100:in `block in create'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `call'
/home/jlecuirot/.rvm/gems/ruby-2.0.0-p247@ahn-test/gems/logging-1.8.1/lib/logging/diagnostic_context.rb:323:in `block in create_with_logging_context'
adhearsion-asr should be able to handle a stop reason but currently doesn't. See https://gist.github.com/chewi/96b0e10c5a7e10221f80 for the full logs. I'm seeing this on hangup, which suggests FS is sending the wrong reason but stop should still be handled properly.