Skip to content

Circular dependency detected while autoloading #63

@brianbroderick

Description

@brianbroderick

Error

RuntimeError: Circular dependency detected while autoloading constant 
Transform::TwitterPowertrack

Specs

action_subscriber (2.3.0-java)
Rails (4.2.6)
Ruby: jruby 9.0.5.0

Directory Structure

Normal Rails, plus:

app
 |-- service_objects
   |-- transform
     |-- twitter_powertrack.rb

Object creation looks like this:

class Transform::TwitterPowertrack < ::ServiceObject
end

Additional Notes

Only thing loaded extra in application.rb is:
config.autoload_paths << Rails.root.join("lib")

Procfile

web: bundle exec rails server puma -p $PORT -e $RACK_ENV
worker: bundle exec action_subscriber start --host $RABBITMQ_HOST --port $RABBITMQ_PORT

Runtime

foreman start

Backtrace

/Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:492:in `load_missing_constant'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/activesupport-4.2.6/lib/active_support/dependencies.rb:184:in `const_missing'
10:18:21 worker.1 | /projects/pallet_jack/app/subscribers/powertrack_v2_activity_subscriber.rb:5:in `created'
10:18:21 worker.1 | org/jruby/RubyKernel.java:1823:in `public_send'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/dsl.rb:81:in `block in run_action_with_filters'
10:18:21 worker.1 | org/jruby/RubyProc.java:318:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/dsl.rb:86:in `run_action_with_filters'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/middleware/router.rb:12:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/middleware/active_record/query_cache.rb:14:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/middleware/active_record/connection_management.rb:10:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/middleware/decoder.rb:15:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/middleware/error_handler.rb:11:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/middleware-0.1.0/lib/middleware/runner.rb:31:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/middleware-0.1.0/lib/middleware/builder.rb:102:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/march_hare/subscriber.rb:76:in `block in enqueue_env'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/activesupport-4.2.6/lib/active_support/notifications.rb:166:in `instrument'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/action_subscriber-2.3.0-java/lib/action_subscriber/march_hare/subscriber.rb:75:in `block in enqueue_env'
10:18:21 worker.1 | org/jruby/RubyProc.java:318:in `call'
10:18:21 worker.1 | /Users/brian.broderick/.rvm/gems/jruby-9.0.5.0@pallet-jack/gems/lifeguard-0.0.9/lib/lifeguard/threadpool.rb:75:in `block in async'

Additional Notes

ActionSubscriber hangs about 25% of the time after getting this error.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions