Skip to content

JRuby 9.0.1.0 #to_ary should return Array #3338

@tandibar

Description

@tandibar

We are currently trying to migrate from jruby 1.7.16 to jruby 9.0.1.0. We are using ActiveJob with DelayedJob and are getting the following error in the worker:

Delayed::Backend::ActiveRecord::Job#to_ary should return Array

It seems to be unimportant what the job does or how it is implmented. In the Rails-App we are calling SomeJob.perform_later(params) which works perfectly. But when the worker (executed via rake jobs:work) catches the job the error happens immediately. The Class SomeJob is of type ActiveJob::Base. We have another job of type Struct.new which also does not work.

Here is the whole backtrace:

Delayed::Backend::ActiveRecord::Job#to_ary should return Array
org/jruby/RubyProc.java:306:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:79:in `block in add'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:61:in `block in initialize'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:79:in `block in add'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:66:in `execute'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/backend/base.rb:91:in `invoke_job'
(eval):3:in `block in invoke_job_with_newrelic_transaction_trace'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/newrelic_rpm-3.13.0.299/lib/new_relic/agent/instrumentation/controller_instrumentation.rb:362:in `perform_action_with_newrelic_trace'
(eval):2:in `invoke_job_with_newrelic_transaction_trace'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:204:in `block in run'
org/jruby/ext/timeout/Timeout.java:147:in `timeout'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:204:in `block in run'
/Users/andreasbade/.rvm/rubies/jruby-9.0.1.0/lib/ruby/stdlib/benchmark.rb:303:in `realtime'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:203:in `run'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:280:in `block in reserve_and_run_one_job'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:61:in `block in initialize'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:66:in `execute'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:280:in `reserve_and_run_one_job'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:187:in `block in work_off'
org/jruby/RubyFixnum.java:299:in `times'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:186:in `work_off'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:150:in `block in start'
/Users/andreasbade/.rvm/rubies/jruby-9.0.1.0/lib/ruby/stdlib/benchmark.rb:303:in `realtime'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:149:in `block in start'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:61:in `block in initialize'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:66:in `execute'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:148:in `block in start'
org/jruby/RubyKernel.java:1291:in `loop'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:147:in `block in start'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/plugins/clear_locks.rb:7:in `block in ClearLocks'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:79:in `block in add'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:61:in `block in initialize'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:79:in `block in add'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:66:in `execute'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/lifecycle.rb:40:in `run_callbacks'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/worker.rb:146:in `start'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/delayed_job-4.0.6/lib/delayed/tasks.rb:9:in `block in (root)'
org/jruby/RubyProc.java:308:in `call'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/task.rb:240:in `block in execute'
org/jruby/RubyArray.java:1560:in `each'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/task.rb:235:in `execute'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/task.rb:179:in `block in invoke_with_call_chain'
/Users/andreasbade/.rvm/rubies/jruby-9.0.1.0/lib/ruby/stdlib/monitor.rb:211:in `mon_synchronize'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/task.rb:172:in `invoke_with_call_chain'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/task.rb:165:in `invoke'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:150:in `invoke_task'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
org/jruby/RubyArray.java:1560:in `each'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:106:in `block in top_level'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:115:in `run_with_threads'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:100:in `top_level'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:78:in `block in run'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:176:in `standard_exception_handling'
/Users/andreasbade/.rvm/gems/jruby-9.0.1.0/gems/rake-10.4.2/lib/rake/application.rb:75:in `run'
bin/rake:4:in `<top>'

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions