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

Bundler cannot continue installing jekyll-sitemap #165

Closed
t-richards opened this issue Apr 11, 2017 · 12 comments · Fixed by #173
Closed

Bundler cannot continue installing jekyll-sitemap #165

t-richards opened this issue Apr 11, 2017 · 12 comments · Fixed by #173

Comments

@t-richards
Copy link

t-richards commented Apr 11, 2017

I'm trying to install v1.1.0 via Bundler. This is my Gemfile:

source "https://rubygems.org"
gem "jekyll-sitemap", "~> 1.1.0"

When running $ bundle install, Bundler produces a long scary error message in red and prevents me from installing the gem:

Installing jekyll-sitemap 1.1.0
Bundler cannot continue installing jekyll-sitemap (1.1.0).
The checksum for the downloaded `jekyll-sitemap-1.1.0.gem` does not match the
checksum given by the server. This means the contents of the downloaded gem is
different from what was uploaded to the server, and could be a potential
security issue.

To resolve this issue:
1. delete the downloaded gem located at:
`/home/tom/.gem/ruby/2.4.0/gems/jekyll-sitemap-1.1.0/jekyll-sitemap-1.1.0.gem`
2. run `bundle install`

If you wish to continue installing the downloaded gem, and are certain it does
not pose a security issue despite the mismatching checksum, do the following:
1. run `bundle config disable_checksum_validation true` to turn off checksum
verification
2. run `bundle install`

(More info: The expected SHA256 checksum was
"97e56adea99ebf8ea2d23703782fe5befde354859c2a4846b6429c62fad8ce9c", but the
checksum for the downloaded gem was
"9f656952f621332ad0a4b5394b8a284fde9d17d4087923ab1c49bb231a1241ae".)

I have tried removing the cached .gem file and uninstalling all versions, but this does not solve the problem.

Installing directly via gem is successful, however.

$ gem install jekyll-sitemap -v 1.1.0
Fetching: jekyll-sitemap-1.1.0.gem (100%)
Successfully installed jekyll-sitemap-1.1.0
Parsing documentation for jekyll-sitemap-1.1.0
Installing ri documentation for jekyll-sitemap-1.1.0
Done installing documentation for jekyll-sitemap after 0 seconds
1 gem installed
@JoiW
Copy link

JoiW commented Apr 11, 2017

Just had the exact same problem occur and same error message, was fine yesterday.

@garethjohnsdesign
Copy link

I'm getting the same issue here too, tried the workaround but doesn't seem to work

@benbalter
Copy link
Contributor

@pathawks think this was your release... any idea what's up?

@pathawks
Copy link
Member

No idea. I can try to cut a new Gem tonight and try again 🤷

@reefdog
Copy link

reefdog commented Apr 11, 2017

That'd be great, @pathawks. Getting this too.

@parkr
Copy link
Member

parkr commented Apr 12, 2017

I just pushed up v1.1.1 which has the SHA256 checksum e2dacd4bb0a4decbc7d20c9ee700b6bfa642fd219354177b3afbce4f2674e83a both online and when downloaded.

@pathawks
Copy link
Member

Thanks @parkr

@dwradcliffe
Copy link

👋 Hey there,

v1.1.0 should work again too.

The root cause for this is a bug in RubyGems.org combined with the way you have Travis publishing the gems. Each job in the Travis build will attempt to push the same gem and when they finish at the same time there's a race condition where one gem file is saved and the sha from the other one is saved. Full details are in that issue.

This is totally our fault but you can prevent this from happening again by only trying to publish the gem from one of the Travis jobs. (You can add a condition like this).

And just to be clear this was not a security issue and the gem was not tampered with. I've gone back and fixed v1.1.0 so the SHA matches and users won't see the warning anymore.

@parkr
Copy link
Member

parkr commented Apr 12, 2017

@dwradcliffe Thank you so much for looking into that for us! I think having a dedicated Travis build for pushing gems would make sense to avoid this race. @pathawks, would you be able to tackle that work? Thank you again! ❤️

kremalicious added a commit to bigchaindb/site that referenced this issue Apr 18, 2017
@jekyllbot
Copy link
Contributor

This issue has been automatically marked as stale because it has not been commented on for at least two months.

The resources of the Jekyll team are limited, and so we are asking for your help.

If this is a bug and you can still reproduce this error on the master branch, please reply with all of the information you have about it in order to keep the issue open.

If this is a feature request, please consider whether it can be accomplished in another way. If it cannot, please elaborate on why it is core to this project and why you feel more than 80% of users would find this beneficial.

This issue will automatically be closed in two months if no further activity occurs. Thank you for all your contributions.

@pathawks pathawks self-assigned this Jun 12, 2017
@pathawks
Copy link
Member

would you be able to tackle that work?

If I can find some time, I would very much like to fix this 👍

@jekyllbot jekyllbot removed the stale label Jun 12, 2017
@parkr
Copy link
Member

parkr commented Jun 13, 2017

👌 thanks!

pathawks added a commit that referenced this issue Jun 17, 2017
This should make Travis only try to deploy a Gem once, and avoid the
race condition encountered during the v1.1.0 release

This is a bit of a hack. To make sure that only one build tries to
deploy, I am setting a special flag during the GHP build, and then only
trying to deploy if that flag is set. This will prevent deploy during
any other Travis build.

Fixes #165
@jekyll jekyll locked and limited conversation to collaborators Apr 28, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

9 participants