RVM tries to download blank version (of itself?)

I’m getting regular build failures where the rvm get stable step ends in:

Downloading https://github.com/rvm/rvm/archive/.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Could not download 'https://github.com/rvm/rvm/archive/.tar.gz'.
  curl returned status '22'.
Downloading https://bitbucket.org/mpapis/rvm/get/.tar.gz
curl: (22) The requested URL returned error: 404 Not Found
Could not download 'https://bitbucket.org/mpapis/rvm/get/.tar.gz'.
  curl returned status '22'.

An example is here: https://travis-ci.org/cucumber/aruba/jobs/551834488

Any idea what’s going on?

Here is another example: https://travis-ci.org/cucumber/aruba/jobs/552197790

1 Like

I’m seeing this a lot too. The strange thing is that it almost always happens with the JRuby build, but not with other Rubies. Though, I have a hard time seeing the association.

Here’s an example: https://travis-ci.org/asciidoctor/asciidoctor-pdf/jobs/551223324

We had issues with JRuby not working with the pre-installed version of RVM, so we injected the logic to always run rvm get stable. This was earlier this year. At the moment, with rvm get stable we end up with faulty RVM, and hence the build failure.

The change should be live now.

Note that if I’m right, this is a network problem, so my patch will only reveal it so that it could be fixed, not magically eliminate.

There are some more messages about failed downloads now, but I’m still getting the same behavior and error in the end. See for example https://travis-ci.org/cucumber/aruba/jobs/552482888.

curl: (22) The requested URL returned error: 403 Forbidden

most likely means that GitHub’s API rate limits are being exceeded.

This is still a major problem and, unfortunately, it’s having the very negative effect of discouraging testing on JRuby.

What I can’t understand is why does the RVM download fail only for JRuby. Can’t RVM just be put in the container image anyway? Why does it have to download RVM every time when this is already the Ruby container?

We just released new stable version 1.29.9, which would hopefully fix the issue with travis.

2 Likes

Whatever was changed, it didn’t solve the issue.

@pkuczynski It would be really helpful if in the part I changed in https://github.com/rvm/rvm/pull/4722, it would print response headers upon error as well as the error code because in GitHub API, they contain additional information about the error. curl seems to only support displaying headers unconditionally though AFAICS.

native-api feel free to open a new PR for this… sfgeorge tries to cover this in https://github.com/rvm/rvm/pull/4731 so you might wanna have a look?

1 Like

Seems like removing the logic to update RVM for JRuby seems the best course of action at this juncture.

@BanzaiMan Thanks very much :bowing_man:

RVM update has now been disabled.

This probably means that, if you want to use JRuby or ruby-head, those jobs would work better with dist: xenial, if it’s not defined already.

Thanks, @BanzaiMan!