Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Psych is double-loaded unless it's in the Gemfile (redux) #4149

Closed
petergoldstein opened this issue Dec 13, 2015 · 15 comments
Closed

Psych is double-loaded unless it's in the Gemfile (redux) #4149

petergoldstein opened this issue Dec 13, 2015 · 15 comments

Comments

@petergoldstein
Copy link

With the latest bundler (1.11.0) and rubygems (2.5.1) on MRI Ruby 2.2.3 I'm seeing the reappearance of the issues noted in #2068 and #2269 . I'm able to reproduce exactly the set of steps @tenderlove demonstrates in his description of #2068, with the only difference being that my Psych version is 2.0.16.

Rolling back bundler to 1.10.6 or adding Psych explicitly to my Gemfile fixes the issue. So this looks like the exact same issue as occurred before.

indirect added a commit that referenced this issue Dec 13, 2015
also add a new test specifically to catch if Psych is ever loaded by 
bundler/setup in the future
@indirect
Copy link
Member

Thanks for reporting this! I just fixed it, and added a test that will hopefully keep it from ever cropping up again.

tstrachota pushed a commit to tstrachota/hammer-cli that referenced this issue Dec 14, 2015
Requiring psych in Gemfile to workaround issues with bundler 1.11.0
See rubygems/bundler#4149 for more details.
tstrachota pushed a commit to tstrachota/hammer-cli-foreman that referenced this issue Dec 14, 2015
Requiring psych in Gemfile to workaround issues with bundler 1.11.0
See rubygems/bundler#4149 for more details.
@EmilienM
Copy link

@indirect could we have a release including this change as soon as possible?

@segiddins
Copy link
Member

@EmilienM asking for releases doesn't speed up the release schedule. We'll put out a new bug fix release when we're able to. In the meantime, 1.10.6 works just fine.

@EmilienM
Copy link

@segiddins I'm asking because this release is broken and a lot of downstream CIs are broken too. I'm working on OpenStack project and we run a CI that always uses the latest bundler release. The latest is broken so we have to pin a previous one (which is weird to me, isn't?).
So I think you should provide a release soon if you want to keep your users happy.

@segiddins
Copy link
Member

@EmilienM I work on bundler in my spare time. I took time out of my vacation to do this release, which followed two weeks of prereleases in which we received literally 0 error reports. Making demands discourages me from putting more of my free time into bundler, and certainly won't make a release happen sooner.

@EmilienM
Copy link

@segiddins Making demands is actually free feedback from your users of the project in which you're spending your free time on; that's something valuable for you and you might want to take it in account.
I'm sorry if you're took time during your vacations, that's something I can't really help with. But I'm raising here something that a ton of users are facing now, with this new (broken) release.

Our CI is now pinned and we use an old like you suggested. Which means we won't give feedback on future Bundler patches, since we can't test them. That's also bad for you, and that's why a new release with allow people to continue to stay on the edge of Bundler.

Good luck!

@jrafanie
Copy link
Contributor

@EmilienM is it easy for you to add --pre to your CI so you can install pre-release bundlers and help report these issues earlier? http://guides.rubygems.org/patterns/#prerelease-gems

@EmilienM
Copy link

@jrafanie to make OpenStack CI unstable? No, thank you. That's definitely not Puppet OpenStack modules mission statement. I would rather try to figure how this patch could have been merged in bundler and pass Travis CI.

@chrisarcand
Copy link

@EmilienM I think @jrafanie was referring to the future general case, not just this particular issue :) Certainly not a good thing to do at this very moment. Understandable if it can't be done regardless, though.

@indirect
Copy link
Member

@EmilienM There wasn't a test that covered the specific case of requiring psych after setting up a Gemfile that didn't include psych. There is a test now.

Your demands that we do free work for you whenever is most convenient for you are quite rude. The only way we could have discovered and fixed this sooner is if you used prereleases, which you also just refused to do.

We'll release as soon as we can, no matter what your demands are, but this is your single warning for violating the code of conduct. Be respectful of our donated time and work, instead of demanding more of it, if you want to post here.

@EmilienM
Copy link

@indirect I'm not sure I violated any code of conduct. This is an Open-Source project, you might want to hear from your users (happy or not).
Because this project is managed by people working on their free time is not a good reason to forbid people to give thoughts and asking for a release when it's really relevant (like here, latest release is just broken).

Again, we pinned our CI so we don't have the bug anymore. The release request was more for the whole Bundler users community, who is now installing a broken version by default.

"Be respectful of our donated time and work": I'm very respectful again, by giving you feedback on the project you're leading. I also know what does it mean to give time on Open-Source, I'm contributing to several Open-Source projects; that's also my full-time position.

Anyway, I'm not sure this conversation is going somewhere; it's clear a release is not going to happen soon, which is a good information for Bundler's users.

Thank you for your work (on spare time or not) and for listening the feedback, that I think what really matters for people who use Bundler.

@indirect
Copy link
Member

@EmilienM since this is apparently a surprise to you: you don't get to decide whether you violated the code of conduct or not. By the same token, you don't get to decide whether you're being respectful or not.

It's not okay to say "you should provide a release soon if you want to keep your users happy", because that means you are telling us what to do (not cool), telling us when to do it (also not cool), and telling us that you speak for all users of Bundler (which is false, as well as not cool).

If you'd like to ask for a release in the future, say something like "Thanks for fixing this! Do you know when you'll be able to release the fix?". That makes it clear that you appreciate our work, and also makes it clear that you don't think we owe you our free work.

I'm aiming to push the 1.11.1 release, including the fix for this bug, by the end of the day today.

@EmilienM
Copy link

@indirect Please explain me what in the code of Conduct (https://github.com/bundler/bundler/blob/master/CODE_OF_CONDUCT.md) I did wrong, specially from harassment list:
"offensive verbal comments related to level of experience, gender, gender identity and expression, sexual orientation, disability, physical appearance, body size, race, ethnicity, age, religion, nationality, the use of sexualized language or imagery, deliberate intimidation, stalking, sustained disruption, and unwelcome sexual attention".

This conversation is going very far, I just asked for a release, which is something very common in many projects. If it's not common to let your users do requests, I would be happy to add that to your code of conduct.

For 1.11.1, thank you for this work, it will be very helpful for the users.

openstack-gerrit pushed a commit to openstack/project-config that referenced this issue Dec 14, 2015
Puppet OpenStack CI is hitting this bug:
rubygems/bundler#4149

It affects the latest bundler release that is used in Puppet OpenStack
CI jobs (and breaking syntax3 and unit3.x).

The patch that fix bundler has been fixed but is not in the latest
release.
We had 2 options to fix it:
* patch 26 modules with the dependency in Gemfile, plus backport patches
  in stable branches, which is around 100 patches + 100 other patches
  when bundler is fixed (200 patches).
* patch jenkins/jobs/puppet-module-jobs.yaml to pin bundler with a
  previous release, until bundler has a new release.

Puppet OpenStack group decided to choose option #2 and fix it by pinning
Bundler to 1.10.6.

Bundler team does not seems ready to provide a release:
rubygems/bundler#4149 (comment)

Change-Id: I907c595be0e7483eb0c3db545e36bf036d601b6d
Closes-Bug: #1525929
openstack-gerrit pushed a commit to openstack/openstack that referenced this issue Dec 14, 2015
Project: openstack-infra/project-config  213913acada17fae9705a3fa555543bf7ee46701

puppet: pin bundler to 1.10.6

Puppet OpenStack CI is hitting this bug:
rubygems/bundler#4149

It affects the latest bundler release that is used in Puppet OpenStack
CI jobs (and breaking syntax3 and unit3.x).

The patch that fix bundler has been fixed but is not in the latest
release.
We had 2 options to fix it:
* patch 26 modules with the dependency in Gemfile, plus backport patches
  in stable branches, which is around 100 patches + 100 other patches
  when bundler is fixed (200 patches).
* patch jenkins/jobs/puppet-module-jobs.yaml to pin bundler with a
  previous release, until bundler has a new release.

Puppet OpenStack group decided to choose option #2 and fix it by pinning
Bundler to 1.10.6.

Bundler team does not seems ready to provide a release:
rubygems/bundler#4149 (comment)

Change-Id: I907c595be0e7483eb0c3db545e36bf036d601b6d
Closes-Bug: #1525929
@indirect
Copy link
Member

@EmilienM I just explained exactly what was problematic about what you said, and exactly how to ask without being demanding or rude. You ignored my explanation and tried to say again that we "refuse requests from users". We're done here.

@rubygems rubygems locked and limited conversation to collaborators Dec 14, 2015
@agis
Copy link
Contributor

agis commented Jan 4, 2016

Closing as this is fixed by 4c8a0f4.

@agis agis closed this as completed Jan 4, 2016
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants