Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"warning: loading in progress, circular require considered harmful" in Ruby 1.9.2 #4

Closed
weppos opened this issue Feb 7, 2011 · 2 comments

Comments

@weppos
Copy link

weppos commented Feb 7, 2011

How to reproduce

$ gem install whois
$ gem install gemedit
$ ruby-whois example.com

<internal:lib/rubygems/custom_require>:29: warning: loading in progress, circular require considered harmful - /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/bin/ruby-whois:9:in `<main>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:1136:in `<top (required)>'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:968:in `load_plugins'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:968:in `each'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:976:in `block in load_plugins'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems.rb:976:in `load'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/gemedit-1.0.0/lib/rubygems_plugin.rb:3:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:33:in `rescue in require'
    from <internal:lib/rubygems/custom_require>:33:in `require'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/gemedit-1.0.0/lib/gemedit.rb:2:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/gemedit-1.0.0/lib/gemedit/edit_command.rb:2:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/version_option.rb:7:in `<top (required)>'
    from <internal:lib/rubygems/custom_require>:29:in `require'
    from <internal:lib/rubygems/custom_require>:29:in `require'
^C/Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:126:in `initialize': Interrupt
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:126:in `open'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:126:in `ask_the_socket'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:120:in `query_the_socket'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/standard.rb:34:in `request'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:85:in `block in query'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:109:in `with_buffer'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/server/adapters/base.rb:84:in `query'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/client.rb:79:in `block in query'
    from /Users/weppos/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/timeout.rb:57:in `timeout'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/lib/whois/client.rb:77:in `query'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/gems/whois-1.6.6/bin/ruby-whois:52:in `<top (required)>'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/bin/ruby-whois:19:in `load'
    from /Users/weppos/.rvm/gems/ruby-1.9.2-p0/bin/ruby-whois:19:in `<main>'

Without gemedit the ruby-whois command doesn't raise any warning.

The line referenced in the stacktrace is the require 'rubygems' statement created by RubyGems whenever you install a Gem with a binary command.

#!/Users/weppos/.rvm/rubies/ruby-1.9.2-p0/bin/ruby -wKU
#
# This file was generated by RubyGems.
#
# The application 'whois' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems' # <-- here's the line

version = ">= 0"
@lmarlow
Copy link
Owner

lmarlow commented Feb 10, 2011

I can't reproduce it on ruby 1.9.2p136 with rubygems 1.5.0. It looks like it may have been a problem in rubygems itself, take a look at the changelog for 1.5.0.

@weppos
Copy link
Author

weppos commented Feb 10, 2011

I confirm that the latest RubyGems upgrade resolved the issue.

This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants