-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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 2.4 loops forever under JRuby #6601
Comments
Hi, thanks for the report and investigation. I think this may be the same root cause at #6686. No resolution yet, but jhawthorn/pub_grub#29 should alleviate the issue a bit. |
The infinite loop has been fixed, but there's still underlying resolution bug which we're tracking at jhawthorn/pub_grub#30. Let me close this issue in favor of the upstream one. |
Oks great to know, and thanks a lot @deivid-rodriguez for looking into it, PubGrub and in general constraint resolution is not an easy thing. |
Describe the problem as clearly as you can
Executing Bundler (
2.4.11
) to install gems present in aGemfile
under JRuby ends that the resolution never stop and create a memory leak.Did you try upgrading rubygems & bundler?
Bundler is already updated to the latest.
Post steps to reproduce the problem
9.4.2.0
installed withrvm
gem
:Which command did you run?
Gemfile used
What were you expecting to happen?
I would expected that the process terminates with resolution success or failure.
What actually happened?
Loop forever until an OutOfMemory error happens.
If not included with the output of your command, run
bundle env
and paste the output belowEnvironment
Bundler Build Metadata
Bundler settings
Gemfile
Gemfile
Gemfile.lock
Further investigations
Running Bundler with debug flag:
it turn out that after backtracking a lot, for each version of
aws-sdk-resources
gems from2.11.263
down to2.0.23
resolving into a resolution conflict, the log remains in infinite loop, printing
These logs comes from
rubygems/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb
Lines 227 to 229 in b2fe65b
The
incompatibility
instance created hasfailed?
that evaluates always totrue
while theIncompatibility
instances are kept alive bynew_terms
variable, and this made the OutOfMemory error.Looking into the definition of
failed?
atrubygems/bundler/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb
Line 36 in b2fe65b
it turns out that:
terms
is not empty and contains 3 TermsPackage.root?
logstash-input-cloudwatch < 2.1.0
not logstash >= 1.4.0, < 2.0.0
not logstash-mixin-aws >= 0.1.7
this made the
failure?
method to return continuouslyfalse
and so the infinite loop.The text was updated successfully, but these errors were encountered: