From: "Michael T. Richter" Date: 2008-06-01T23:53:59+09:00 Subject: Re: Gems not working --=-AkkSmJPwuLk3QL8G+8hD Content-Type: multipart/alternative; boundary="=-hIs+4bzpZ6ppYYs2yOIT" --=-hIs+4bzpZ6ppYYs2yOIT Content-Type: text/plain Content-Transfer-Encoding: quoted-printable On Sun, 2008-06-01 at 22:53 +0900, Michael T. Richter wrote: > On Sun, 2008-06-01 at 09:20 +0900, Tom Copeland wrote:=20 >=20 > > On Fri, 2008-05-30 at 03:55 +0900, Jim Hoskins wrote: > > > I am currently not able to install any gems. I was using Gem 1.1.1 bu= t > > > kept receiving the following errors: > > >=20 > > > ERROR: While executing gem ... (Gem::RemoteSourceException) > > > Error fetching remote gem cache: Errno::EPIPE: Broken pipe readin= g > > > http://gems.rubyonrails.org/yaml > >=20 > > Hm, that "yaml" file is 20 MB now... is your client timing out, or mayb= e > > refusing to fetch that much data? >=20 >=20 > The gem servers at rubyforge and whoever hosts for ruby on rails seem > to be badly overloaded. I get these broken pipe errors all the time > to the point that I wrap all uses of gem in "unless" blocks in bash to > make sure things actually go through. >=20 > What would help is if the --no-update-sources flag actually did > something. Half the time the point of failure lies in updating the > local source cache from the remote site, but whether or not I specify > --no-update-sources the source cache is downloaded at tremendous > expense. Sometimes it's downloaded multiple times in a single > invocation (if I install a lot of gems at the command line at once). Since I've had to reinstall all my gems after the upgrade to 1.8.7, here's an idea of what's happening with the gem servers right now: $ for a in actionmailer RedCloth rspec rubygems-update rails fxruby bindata actionpack gem_plugin rush ruby-debug-ide activeresource opod ; do echo $a ; until gem install $a ; do echo Retrying $a... ; done ; done actionmailer Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyonrails.org/ ERROR: While executing gem ... (Gem::RemoteSourceException) Error fetching remote gem cache: Errno::EPIPE: Broken pipe reading http://gems.rubyonrails.org/yaml Retrying actionmailer... Bulk updating Gem source index for: http://gems.rubyforge.org/ Bulk updating Gem source index for: http://gems.rubyforge.org/ Note that the "bulk updating" thing happens twice for gems.rubyforge.org. Double the opportunity for failure. Notice how the gems.rubyonrails.org site always fails while downloading that massive YAML file. Wouldn't it be nice if there were some kind of, oh I don't know, distributed mechanism for gem retrieval? --=20 Michael T. Richter (GoogleTalk: ttmrichter@gmail.com) If there's one thing that computers do well, it's to make the same mistake uncountable times at inhuman speed. (Peter Coffee) --=-hIs+4bzpZ6ppYYs2yOIT Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Sun, 2008-06-01 at 22:53 +0900, Michael T. Richter wrote:
On Sun, 2008-06-01 at 09:20 +0900, Tom Copeland= wrote:
On Fri, 2008-05-30 at 03:55 +0900, Jim Hoskins wrot=
e:
> I am currently not able to install any gems. I=
 was using Gem 1.1.1 but
> kept receiving the following errors:
> 
> ERROR:  While executing gem ... (Gem::RemoteSo=
urceException)
>     Error fetching remote gem cache: Errno::EP=
IPE: Broken pipe reading
> h=
ttp://gems.rubyonrails.org/yaml

Hm, that "yaml" file is 20 MB now... is y=
our client timing out, or maybe
refusing to fetch that much data?

The gem servers at rubyforge and whoever hosts = for ruby on rails seem to be badly overloaded.  I get these broken pip= e errors all the time to the point that I wrap all uses of gem in "unl= ess" blocks in bash to make sure things actually go through.
What would help is if the --no-update-sources f= lag actually did something.  Half the time the point of failure lies i= n updating the local source cache from the remote site, but whether or not = I specify --no-update-sources the source cache is downloaded at tremendous = expense.  Sometimes it's downloaded multiple times in a single invocat= ion (if I install a lot of gems at the command line at once).

Since I've had to reinstall all my gems after the upgrade to 1.8.7, here's = an idea of what's happening with the gem servers right now:

$ for a in actionmailer RedCloth rspec rubygems-update rails fxruby bindata= actionpack gem_plugin rush ruby-debug-ide activeresource opod ; do echo $a= ; until gem install $a ; do echo Retrying $a... ; done ; done
actionmailer
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: http://gems.rubyonrails.org/
ERROR:  While executing gem ... (Gem::RemoteSourceException)
    Error fetching remote gem cache: Errno::EPIPE: Broken pi= pe reading http://gems.rubyonr= ails.org/yaml
Retrying actionmailer...
Bulk updating Gem source index for: = http://gems.rubyforge.org/
Bulk updating Gem source index for: = http://gems.rubyforge.org/

Note that the "bulk updating" thing happens twice for gems.rubyfo= rge.org.  Double the opportunity for failure.  Notice how the gem= s.rubyonrails.org site always fails while downloading that massive YAML fil= e.

Wouldn't it be nice if there were some kind of, oh I don't know, distribute= d mechanism for gem retrieval?

--
Michael T. Richter <ttmri= chter@gmail.com> (GoogleTalk: ttmrichter@gmail.com)
If there's one thing that computers do well, it's to make the same mista= ke uncountable times at inhuman speed. (Peter Coffee)
--=-hIs+4bzpZ6ppYYs2yOIT-- --=-AkkSmJPwuLk3QL8G+8hD Content-Type: application/pgp-signature; name=signature.asc Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) iD8DBQBIQrgULqyWkKVQ54QRAo19AJ9w9ltHySwbt8xc6ad9woLkUJiMCwCgrAtb Nv9Y7y6BQTZOz+7+BUNB6hU= =h1wP -----END PGP SIGNATURE----- --=-AkkSmJPwuLk3QL8G+8hD--