Project

General

Profile

Actions

Bug #8313

closed

rubygem 2.0 can't communicate with remote sources http://rubygems.org/

Added by legerf (Frederic Leger) almost 11 years ago. Updated almost 11 years ago.

Status:
Third Party's Issue
Target version:
-
ruby -v:
ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12]
[ruby-core:54525]

Description

I try to use Ruby 2.0 on my MAC OSX Mountain Lion with macports. The "sudo port install ruby2.0" and "sudo port select --set ruby ruby2.0" was success. But when I try to install gem package I have these errors:

$ sudo gem list -r --debug

*** REMOTE GEMS ***

Exception Errno::ENOENT' at /opt/local/lib/ruby2.0/2.0.0/rubygems/remote_fetcher.rb:298 - No such file or directory - /Users/fred/.gem/specs/rubygems.org%80/latest_specs.4.8 Exception Errno::EAGAIN' at /opt/local/lib/ruby2.0/2.0.0/net/protocol.rb:153 - Resource temporarily unavailable - read would block
Exception `Errno::EAGAIN' at /opt/local/lib/ruby2.0/2.0.0/net/protocol.rb:153 - Resource temporarily unavailable - read would block
...

Some others informations:

$ sudo gem environment
RubyGems Environment:

  • RUBYGEMS VERSION: 2.0.0
  • RUBY VERSION: 2.0.0 (2013-02-24 patchlevel 0) [x86_64-darwin12]
  • INSTALLATION DIRECTORY: /opt/local/lib/ruby2.0/gems/2.0.0
  • RUBY EXECUTABLE: /opt/local/bin/ruby2.0
  • EXECUTABLE DIRECTORY: /opt/local/bin
  • RUBYGEMS PLATFORMS:
    • ruby
    • x86_64-darwin-12
  • GEM PATHS:
    • /opt/local/lib/ruby2.0/gems/2.0.0
    • /Users/fred/.gem/ruby/2.0.0
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :backtrace => false
    • :bulk_threshold => 1000
  • REMOTE SOURCES:

$ sudo gem list -d

*** LOCAL GEMS ***

bigdecimal (1.2.0)
Authors: Kenta Murata, Shigeo Kobayashi
Homepage: http://www.ruby-lang.org
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

Arbitrary-precision decimal floating-point number library.

io-console (0.4.2)
Author: Nobu Nakada
Homepage: http://www.ruby-lang.org
License: ruby
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

Console interface

json (1.7.7)
Author:
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

This json is bundled with Ruby

minitest (4.3.2)
Author:
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

This minitest is bundled with Ruby

psych (2.0.0)
Author: Aaron Patterson
Homepage: http://github.com/tenderlove/psych
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

Psych is a YAML parser and emitter

rake (0.9.6)
Author:
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

This rake is bundled with Ruby

rdoc (4.0.0)
Author:
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

This rdoc is bundled with Ruby

test-unit (2.0.0.0)
Author: Shota Fukumori
Homepage: http://www.ruby-lang.org
Installed at (default): /opt/local/lib/ruby2.0/gems/2.0.0

test/unit compatible API testing framework

A part of /opt/local/lib/ruby2.0/2.0.0/rubygems/remote_fetcher.rb:

...

Downloads +uri+ to +path+ if necessary. If no path is given, it just

passes the data.

def cache_update_path uri, path = nil, update = true
mtime = path && File.stat(path).mtime rescue nil <--- line 298

if mtime && Net::HTTPNotModified === fetch_path(uri, mtime, true)
  Gem.read_binary(path)
else
  data = fetch_path(uri)

  if update and path then
    open(path, 'wb') do |io|
      io.write data
    end
  end

  data
end

end
...

Updated by legerf (Frederic Leger) almost 11 years ago

$ sudo gem list --remote -V --backtrace
Password:

*** REMOTE GEMS ***

GET http://rubygems.org/latest_specs.4.8.gz
302 Moved Temporarily
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
connection reset after 1 requests, retrying
GET http://production.s3.rubygems.org/latest_specs.4.8.gz
connection reset after 1 requests, retrying

Updated by legerf (Frederic Leger) almost 11 years ago

With wireshark I test and capture all traffic with the http://production.s3.rubygems.org server. The firewalls aren't the problem. All packets send/receive with success. And the last TCP/HTTP exchange send a result "HTTP/1.1 200 OK", size of reasembled TCP segments=459 168 bytes. My WAN firewall doesn't block anything for this address.

I tested "check" gem command and I see some errors:

$ sudo gem check -V --backtrace
Checking gems...

bigdecimal-1.2.0.gem has 1 problems
bigdecimal-1.2.0:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/bigdecimal-1.2.0

io-console-0.4.2.gem has 1 problems
io-console-0.4.2:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/io-console-0.4.2

json-1.7.7.gem has 1 problems
json-1.7.7:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/json-1.7.7

minitest-4.3.2.gem has 1 problems
minitest-4.3.2:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/minitest-4.3.2

psych-2.0.0.gem has 1 problems
psych-2.0.0:
Gem registered but doesn't exist at /opt/local/lib/ruby2.0/gems/2.0.0/gems/psych-2.0.0

rake-0.9.6.gem has 2 problems
/opt/local/lib/ruby2.0/gems/2.0.0/cache/rake-0.9.6.gem:
missing gem file /opt/local/lib/ruby2.0/gems/2.0.0/cache/rake-0.9.6.gem
/opt/local/lib/ruby2.0/gems/2.0.0/specifications/rake-0.9.6.gemspec:
Spec file missing for installed gem

rdoc-4.0.0.gem has 2 problems
/opt/local/lib/ruby2.0/gems/2.0.0/cache/rdoc-4.0.0.gem:
missing gem file /opt/local/lib/ruby2.0/gems/2.0.0/cache/rdoc-4.0.0.gem
/opt/local/lib/ruby2.0/gems/2.0.0/specifications/rdoc-4.0.0.gemspec:
Spec file missing for installed gem

test-unit-2.0.0.0.gem has 2 problems
/opt/local/lib/ruby2.0/gems/2.0.0/cache/test-unit-2.0.0.0.gem:
missing gem file /opt/local/lib/ruby2.0/gems/2.0.0/cache/test-unit-2.0.0.0.gem
/opt/local/lib/ruby2.0/gems/2.0.0/specifications/test-unit-2.0.0.0.gemspec:
Spec file missing for installed gem

$ sudo gem contents -V --backtrace
ERROR: While executing gem ... (Gem::CommandLineError)
Please specify at least one gem name (e.g. gem build GEMNAME)
/opt/local/lib/ruby2.0/2.0.0/rubygems/command.rb:177:in get_all_gem_names'
/opt/local/lib/ruby2.0/2.0.0/rubygems/commands/contents_command.rb:65:inexecute'
/opt/local/lib/ruby2.0/2.0.0/rubygems/command.rb:305:in invoke_with_build_args'
/opt/local/lib/ruby2.0/2.0.0/rubygems/command_manager.rb:170:inprocess_args'
/opt/local/lib/ruby2.0/2.0.0/rubygems/command_manager.rb:130:in run'
/opt/local/lib/ruby2.0/2.0.0/rubygems/gem_runner.rb:60:inrun'
/opt/local/bin/gem:21:in `'

$ sudo gem list --local -V --backtrace

*** LOCAL GEMS ***

bigdecimal (1.2.0)
io-console (0.4.2)
json (1.7.7)
minitest (4.3.2)
psych (2.0.0)
rake (0.9.6)
rdoc (4.0.0)
test-unit (2.0.0.0)

Updated by legerf (Frederic Leger) almost 11 years ago

Workaround :

I uninstall all macports ruby packages. And install RVM (https://rvm.io/rvm/). Activate ruby 2.0.0-p0 by rvm. And now, the "gem list -r" is fully functionnal. So, we have a bug with gem in macport.

I opened a bug in macport tracker: https://trac.macports.org/ticket/38992
You can close this ticket.

Frederic.

Updated by nobu (Nobuyoshi Nakada) almost 11 years ago

  • Category changed from platform/darwin to lib/rubygems
  • Status changed from Open to Assigned
  • Assignee changed from macos to drbrain (Eric Hodel)

Updated by drbrain (Eric Hodel) almost 11 years ago

  • Status changed from Assigned to Third Party's Issue
  • Priority changed from 5 to Normal

Closed per author's request.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0