Bug 2178171
| Summary: | bundled rubygem-bundler-2.3.26: hangs on resolving dependencies when a dependency does not support current platform | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Jarek Prokop <jprokop> |
| Component: | ruby | Assignee: | Jarek Prokop <jprokop> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 37 | CC: | jprokop, mo, mtasaka, pvalena, ruby-packagers-sig, strzibny, vondruch |
| Target Milestone: | --- | Keywords: | Reopened |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | ruby-3.1.4-175.fc36 ruby-3.1.4-175.fc37 ruby-3.1.4-176.fc37 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-07-08 01:14:44 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Jarek Prokop
2023-03-14 12:51:46 UTC
I think I found the culprit and a working workaround. Culprit: Running `bundle install` with `frozen` stop bundler from trying to re-resolve the already locked-in deps reveals the offending gem: ~~~ $ bundle install --frozen [DEPRECATED] The `--frozen` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local frozen 'true'`, and stop using this flag Fetching gem metadata from https://rubygems.org/.......... nokogiri-1.12.5-x86_64-linux requires ruby version < 3.1.dev, >= 2.5, which is incompatible with the current version, 3.1.3 ~~~ This points to a kind of regression IMHO, as the only platform in "PLATFORMS" is `ruby`. It should not try to fetch an architecture specific gem. This is not a problem with bundler v2.4.8, there it works normally (IOW, it install gems correctly and doesn't complain) without any extra adjusting. Workaround: Force bundler to only look at the Ruby platform gems: ``` $ bundle config set force_ruby_platform true $ bundle install --path bundle [DEPRECATED] The `--path` flag is deprecated because it relies on being remembered across bundler invocations, which bundler will no longer do in future versions. Instead please use `bundle config set --local path 'bundle'`, and stop using this flag Fetching gem metadata from https://rubygems.org/.......... Fetching rake 13.0.6 Installing rake 13.0.6 Using racc 1.6.0 Fetching minitest 5.15.0 Fetching zeitwerk 2.6.0 Fetching builder 3.2.4 Fetching crass 1.0.6 Fetching concurrent-ruby 1.1.10 Fetching erubi 1.11.0 Fetching rack 2.2.4 Fetching mini_portile2 2.6.1 Installing builder 3.2.4 Fetching nio4r 2.5.8 Installing crass 1.0.6 <...snip...> Using turbolinks 5.2.1 Using uglifier 4.2.0 Using web-console 4.2.0 Bundle complete! 21 Gemfile dependencies, 81 gems now installed. Bundled gems are installed into `./bundle` ``` I believe this is a regression on Bundler's side for Ruby 3.1.3, due to this behaviour not being present on Ruby 3.1.2 or Ruby 3.2.1, therefore I filed: https://github.com/rubygems/rubygems/issues/6482 That ticket was not needed, because it works on newer version... This is probably relevant PR: https://github.com/rubygems/rubygems/pull/6225 Fix will be included in the newest Ruby 3.1.4 rebase: https://src.fedoraproject.org/rpms/ruby/pull-request/154 FEDORA-2023-f58d72c700 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-f58d72c700 FEDORA-2023-f58d72c700 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-f58d72c700 FEDORA-2023-a7be7ea1aa has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2023-a7be7ea1aa FEDORA-2023-f58d72c700 has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-f58d72c700` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-f58d72c700 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-a7be7ea1aa has been pushed to the Fedora 36 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-a7be7ea1aa` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-a7be7ea1aa See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-f58d72c700 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-f58d72c700 FEDORA-2023-a7be7ea1aa has been submitted as an update to Fedora 36. https://bodhi.fedoraproject.org/updates/FEDORA-2023-a7be7ea1aa FEDORA-2023-a7be7ea1aa has been pushed to the Fedora 36 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2023-f58d72c700 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report. The current fix is only "partial". The bug also happens if you add `--deployment` option either via CLI (`bundle install --deployment`) or config (`bundle config set deployment true`), then we see that incorrect arch gets picked from a selection: ~~~ $ bundle config set path ./bundle $ bundle config set deployment true $ bundle install Fetching gem metadata from https://rubygems.org/.......... nokogiri-1.12.5-x86_64-linux requires ruby version < 3.1.dev, >= 2.5, which is incompatible with the current version, 3.1.4 ~~~ It's a similar problem that's been happening with the original report. I have run git bisect for upstream and prepared a patch that should fix this situation: https://bugs.ruby-lang.org/issues/19576#note-4 FEDORA-2023-7f13da96c6 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-7f13da96c6 FEDORA-2023-7f13da96c6 has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-7f13da96c6` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-7f13da96c6 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-7f13da96c6 has been pushed to the Fedora 37 stable repository. If problem still persists, please make note of it in this bug report. |