adhearsion / electric_slide

Adhearsion plugin implementing generic call queueing algorithms
MIT License
6 stars 10 forks source link

Queue actor should not crash when handling dead calls #13

Closed bklang closed 9 years ago

bklang commented 9 years ago
[2015-02-17 22:19:54.985] ERROR Celluloid: ElectricSlide::CallQueue crashed!
Adhearsion::Call::ExpiredError: This call is expired and is no longer accessible. See http://adhearsion.com/docs/calls for further details.
    /var/void/shared/bundle/jruby/1.9/gems/adhearsion-2.5.4/lib/adhearsion/call.rb:28:in `method_missing'
    /var/void/shared/bundle/jruby/1.9/gems/adhearsion-2.5.4/lib/adhearsion/call.rb:26:in `method_missing'
    /var/void/releases/20150217191654/app/models/agent.rb:207:in `to_s'
    /var/void/shared/bundle/jruby/1.9/bundler/gems/electric_slide-466dcce170db/lib/electric_slide/call_queue.rb:118:in `remove_agent'
    org/jruby/RubyKernel.java:1945:in `public_send'
    /var/void/shared/bundle/jruby/1.9/gems/activesupport-4.2.0/lib/active_support/core_ext/object/try.rb:77:in `try!'
    /var/void/shared/bundle/jruby/1.9/gems/activesupport-4.2.0/lib/active_support/core_ext/object/try.rb:63:in `try'
    org/jruby/RubyKernel.java:1945:in `public_send'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/calls.rb:25:in `dispatch'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/calls.rb:67:in `dispatch'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/actor.rb:322:in `handle_message'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/actor.rb:416:in `task'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/tasks.rb:54:in `initialize'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/tasks.rb:46:in `initialize'
    /var/void/shared/bundle/jruby/1.9/gems/celluloid-0.15.0/lib/celluloid/tasks/task_fiber.rb:13:in `create'
bklang commented 9 years ago

I believe this is handled by 9e1bd096c62cdd51f74fe53f35003e40a29b3633