From: "legerf (Frederic Leger)" Date: 2013-04-24T18:24:37+09:00 Subject: [ruby-core:54551] [ruby-trunk - Bug #8313] rubygem 2.0 can't communicate with remote sources http://rubygems.org/ Issue #8313 has been updated by legerf (Frederic Leger). 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) ---------------------------------------- Bug #8313: rubygem 2.0 can't communicate with remote sources http://rubygems.org/ https://bugs.ruby-lang.org/issues/8313#change-38863 Author: legerf (Frederic Leger) Status: Open Priority: High Assignee: cruby-mac Category: platform/darwin Target version: ruby -v: ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-darwin12] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 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: - http://rubygems.org/ >$ 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 ... -- http://bugs.ruby-lang.org/