Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on originating outbound call. #512

Closed
system123 opened this issue Sep 7, 2014 · 6 comments
Closed

Crash on originating outbound call. #512

system123 opened this issue Sep 7, 2014 · 6 comments

Comments

@system123
Copy link

I upgraded to Adhearsion 2.5.4 and this became an immediate issue. I am originating a call like so:

@call = Adhearsion::OutboundCall.new
@call.execute_controller_or_router_on_answer OutboundController, { extension: "1234"}
@call.on_end { |event| account_call(event) }
@call.dial "SIP/1234", from: "0987654321"

and I receive the following error

[2014-09-07 11:08:09.812] ERROR Celluloid: Actor crashed!
ArgumentError: wrong number of arguments calling `initialize` (0 for 1)
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/adhearsion-2.5.4/lib/adhearsion/call_controller.rb:103:in `bg_exec'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/adhearsion-2.5.4/lib/adhearsion/call.rb:486:in `execute_controller'
    org/jruby/RubyKernel.java:1945:in `public_send'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `dispatch'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/calls.rb:63:in `dispatch'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/cell.rb:60:in `invoke'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/cell.rb:71:in `task'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/actor.rb:357:in `task'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:57:in `initialize'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:47:in `initialize'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:15:in `create'
[2014-09-07 11:08:09.813] ERROR Adhearsion::Initializer: <ArgumentError> wrong number of arguments calling `initialize` (0 for 1)
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/adhearsion-2.5.4/lib/adhearsion/call_controller.rb:103:in `bg_exec'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/adhearsion-2.5.4/lib/adhearsion/call.rb:486:in `execute_controller'
    org/jruby/RubyKernel.java:1945:in `public_send'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/calls.rb:26:in `dispatch'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/calls.rb:63:in `dispatch'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/cell.rb:60:in `invoke'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/cell.rb:71:in `task'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/actor.rb:357:in `task'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:57:in `initialize'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:47:in `initialize'
    /Volumes/Hades/Dropbox/Programming/Teleforge/TFDialer_ahn2/vendor/bundle/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:15:in `create'

This error is stemming from the fact that Celluloid::ThreadHandler now expects an argument in the intialization:

class ThreadHandle
    def initialize(actor_system, role = nil)
      @mutex = Mutex.new
      ....

I am not sure what should specified as "actor_system", else I would try patch this myself.

@benlangfeld
Copy link
Member

The problem is not the upgrade of
Adhearsion, but the upgrade to Celluloid 0.16. Pin back to Celluloid 0.15 for now and I'll get this fixed in Adhearsion shortly.

@benlangfeld
Copy link
Member

Latest Punchblock has been held back to Celluloid 0.15 until such time as we can upgrade to 0.16 safely.

@bklang
Copy link
Member

bklang commented Oct 20, 2014

Any reason to keep this open since we are now pinned to 0.15?

@benlangfeld
Copy link
Member

I'd prefer to keep it open. We need to upgrade, and this might help when we do that.=

@vangberg
Copy link
Contributor

It would be nice with a new release of Adhearsion pinning to the new Punchblock as well.

@benlangfeld
Copy link
Member

Adhearsion 3 uses Celluloid 0.16.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants