celluloid / celluloid-io

UNMAINTAINED: See celluloid/celluloid#779 - Evented sockets for Celluloid actors
https://celluloid.io
MIT License
879 stars 93 forks source link

"it shouldn't crash" crashes #164

Open ioquatix opened 8 years ago

ioquatix commented 8 years ago
1) Celluloid::IO::Reactor shouldn't crash
     Failure/Error: fail "Actor crashes occured (please stub/mock if these are expected): #{crashes}"

     RuntimeError:
         Actor crashes occured (please stub/mock if these are expected): 
         ** Crash: "Actor crashed!"(#<Timeout::Error: execution expired>)
             Backtrace:
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:298:in `handle_crash'
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:171:in `rescue in run'
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:150:in `run'
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:131:in `block in start'
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-essentials-f0545ce47ed9/lib/celluloid/internals/thread_handle.rb:14:in `block in initialize'
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor/system.rb:78:in `block in get_thread'
                 (crash) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/group/spawner.rb:50:in `block in instantiate'
             Exception Backtrace (#<Timeout::Error: execution expired>):
                 (ex) /Users/samuel/Documents/Programming/Internet/celluloid-io/lib/celluloid/io/reactor.rb:58:in `select'
                 (ex) /Users/samuel/Documents/Programming/Internet/celluloid-io/lib/celluloid/io/reactor.rb:58:in `run_once'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/mailbox/evented.rb:50:in `check'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:155:in `block in run'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/timers-41145ed260e4/lib/timers/group.rb:66:in `wait'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:152:in `run'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor.rb:131:in `block in start'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-essentials-f0545ce47ed9/lib/celluloid/internals/thread_handle.rb:14:in `block in initialize'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/actor/system.rb:78:in `block in get_thread'
                 (ex) /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/lib/celluloid/group/spawner.rb:50:in `block in instantiate'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/bundler/gems/celluloid-85f850a41bb5/spec/support/configure_rspec.rb:45:in `block (2 levels) in <top (required)>'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:389:in `execute_with'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:620:in `block (2 levels) in run_around_example_hooks_for'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:319:in `call'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:98:in `block in run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:88:in `loop'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:88:in `run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec_ext/rspec_ext.rb:12:in `run_with_retry'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-retry-0.4.5/lib/rspec/retry.rb:22:in `block (2 levels) in setup'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:424:in `instance_exec'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:389:in `execute_with'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:620:in `block (2 levels) in run_around_example_hooks_for'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:319:in `call'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:621:in `run_around_example_hooks_for'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/hooks.rb:478:in `run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:434:in `with_around_example_hooks'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:477:in `with_around_and_singleton_context_hooks'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example.rb:233:in `run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:581:in `block in run_examples'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:577:in `map'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:577:in `run_examples'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/example_group.rb:543:in `run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:115:in `block (3 levels) in run_specs'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:115:in `map'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:115:in `block (2 levels) in run_specs'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/configuration.rb:1680:in `with_suite_hooks'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:114:in `block in run_specs'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/reporter.rb:77:in `report'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:113:in `run_specs'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:89:in `run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:73:in `run'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/lib/rspec/core/runner.rb:41:in `invoke'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/gems/rspec-core-3.4.1/exe/rspec:4:in `<top (required)>'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `load'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/rspec:23:in `<main>'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `eval'
     # /Users/samuel/.rvm/gems/ruby-2.3.0/bin/ruby_executable_hooks:15:in `<main>'

Any ideas what is going on here?

Of interest, was the following:

Celluloid::IO::Reactor
/Users/samuel/Documents/Programming/Internet/celluloid-io/spec/celluloid/io/reactor_spec.rb:20:in `block (3 levels) in <top (required)>': Object#timeout is deprecated, use Timeout.timeout instead.
  shouldn't crash (FAILED - 1)
HoneyryderChuck commented 8 years ago

this has been fixed, right?

ioquatix commented 8 years ago

It's sporadic.