Skip to content

Circular dependency detected while autoloading #63

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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