Issue Type: Bug Bug
Assignee: Thomas E Enebo
Created: 30/Jun/13 2:22 PM
Description:

I'm trying to benchmark running 20,000 empty Sidekiq jobs, to understand the threading overhead for each of 1.9.3, 2.0.0 and JRuby. Both versions of MRI finish the benchmark without a problem, JRuby crashes after about 15 sec.

Exception in thread "JRubyWorker-24" org.jruby.exceptions.RaiseException: (DeadTaskError) cannot resume a dead task (dead fiber called)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:25)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:21)
	at Celluloid::Task.resume(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks.rb:69)
	at Celluloid::Response.dispatch(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/responses.rb:11)
	at Celluloid::Actor.handle_message(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/actor.rb:331)
	at RUBY.run(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/actor.rb:174)
	at RUBY.initialize(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/actor.rb:157)
	at RUBY.initialize(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/thread_handle.rb:13)
	at org.jruby.RubyProc.call(org/jruby/RubyProc.java:249)
	at RUBY.create(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/internal_pool.rb:59)
Exception in thread "JRubyWorker-19" org.jruby.exceptions.RaiseException: (DeadTaskError) cannot resume a dead task (dead fiber called)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:25)
	at Celluloid::TaskFiber.deliver(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks/task_fiber.rb:21)
	at Celluloid::Task.resume(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/tasks.rb:69)
	at Celluloid::Response.dispatch(/Users/mperham/.rbenv/versions/jruby-1.7.3/lib/ruby/gems/shared/gems/celluloid-0.14.1/lib/celluloid/responses.rb:11)


To reproduce:

1. Install redis.
2. redis-cli flushall
3. git clone git://github.com/mperham/sidekiq
4. cd sidekiq/myapp
5. bundle
6. bundle exec ruby bench.rb (this just loads 20k jobs into redis)
7. bundle exec sidekiq

With 2.0.0, you'll see a ton of job start/done log output and takes 50 sec on my MBA.

Environment: JRuby 1.7.3, OSX 10.8
Project: JRuby
Priority: Major Major
Reporter: Mike Perham
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
--------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email

Reply via email to