[ruby-core:117674] [Ruby master Bug#20450] Ruby 3.1.1 broken with bootsnap

Issue #20450 has been reported by philippe.bs.noel@tutanota.com (Philippe Noel). ---------------------------------------- Bug #20450: Ruby 3.1.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Open * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by hsbt (Hiroshi SHIBATA). Status changed from Open to Assigned Assignee set to hsbt (Hiroshi SHIBATA) Can you provide your `Gemfile`? I did confirm to work that with bootsnap and zeitwerk at https://github.com/ruby/ruby/pull/10347#issuecomment-2017204802 ---------------------------------------- Bug #20450: Ruby 3.1.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108085 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by philippe.bs.noel@tutanota.com (Philippe Noel). hsbt (Hiroshi SHIBATA) wrote in #note-1:
Can you provide your `Gemfile`? I did confirm to work that with bootsnap and zeitwerk at https://github.com/ruby/ruby/pull/10347#issuecomment-2017204802
``` $ cat Gemfile source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } # Bundle edge Rails instead: gem 'rails', github: 'rails/rails' gem 'rails', '~> 7.1.0' gem 'bootsnap', require: false gem 'winrm' ``` ---------------------------------------- Bug #20450: Ruby 3.1.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108087 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by eugeneius (Eugene Kenny). I submitted a fix for this issue at https://github.com/ruby/ruby/pull/10619. ---------------------------------------- Bug #20450: Ruby 3.1.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108090 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by professor (Todd Sedano). Thank you for fixing this. I confirmed that making this change fixed Ruby 3.3.1 for gusto ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108100 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by shan (Shannon Skipper). For what it's worth, here are some (untested) install scripts using a minimalist version of @eugeneius's patch for ruby-install, rbenv, RVM and asdf. ```sh ruby-install --patch https://gist.githubusercontent.com/havenwood/57ef01e562bc5ac2939477cc842cc9a... ruby-3.3.1 ``` ```sh rvm install 3.3.1 --patch https://gist.githubusercontent.com/havenwood/57ef01e562bc5ac2939477cc842cc9a... ``` ```ruby rbenv install --patch 3.3.1 < <(curl -s https://gist.githubusercontent.com/havenwood/57ef01e562bc5ac2939477cc842cc9a...) ``` ```sh RUBY_APPLY_PATCHES=$(curl -s https://gist.githubusercontent.com/havenwood/57ef01e562bc5ac2939477cc842cc9a...) asdf install ruby 3.3.1 ``` ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108103 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Assigned * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by hsbt (Hiroshi SHIBATA). Thanks all. I added https://github.com/ruby/ruby/pull/10619 to [backport PR](https://github.com/ruby/ruby/pull/10354). Sorry to your inconvenient experience for new stable version. https://bugs.ruby-lang.org/issues/20450#note-6 or https://github.com/ruby/ruby/pull/10619#issuecomment-2075896240 are good to temporary workaround for this issue until 3.3.2 release. ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108111 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by shan (Shannon Skipper). RVM is now patching this by default for 3.3.1 installs. https://github.com/rvm/rvm/pull/5457 ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108138 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by k0kubun (Takashi Kokubun). Backport changed from 3.1: DONTNEED, 3.2: DONTNEED, 3.3: REQUIRED to 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE I backported this to `ruby_3_3` at commit:6edd65a080b. ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108506 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by k0kubun (Takashi Kokubun). Ruby 3.3.2 has been released. It should have no issue with bootsnap. ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108517 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/

Issue #20450 has been updated by jaruga (Jun Aruga). Is this issue Ruby 3.3.1 specific or also happens in Ruby 3.3.0 too?
The issue looks like https://bugs.ruby-lang.org/issues/20060
The reporter mentioned the issue looked like #20060 introduced in Ruby 3.3.0-rc1. However, when I checked the ruby/ruby ruby_3_3 branch, the fixed commit https://github.com/ruby/ruby/commit/6edd65a080b156f1ce78fdcf57214c1644a049db for the `lib/bundled_gems.rb` is included in Ruby 3.3.2, and the commit https://github.com/ruby/ruby/commit/2f654588d9e0cefff1c23529d2f2672029e1bd21 including the line in the `lib/bundled_gems.rb` changed in the later commit 6edd65a080b156f1ce78fdcf57214c1644a049db was introduced in Ruby 3.3.1 first. ---------------------------------------- Bug #20450: Ruby 3.3.1 broken with bootsnap https://bugs.ruby-lang.org/issues/20450#change-108561 * Author: philippe.bs.noel@tutanota.com (Philippe Noel) * Status: Closed * Assignee: hsbt (Hiroshi SHIBATA) * ruby -v: ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linux] * Backport: 3.1: DONTNEED, 3.2: DONTNEED, 3.3: DONE ---------------------------------------- The issue looks like https://bugs.ruby-lang.org/issues/20060 With the new release of ruby 3.1.1, bootsnap does not work anymore. ``` bin/rails aborted! ArgumentError: comparison of String with nil failed (ArgumentError) msg = " #{RUBY_VERSION < SINCE[gem] ? "will no longer be" : "is not"} part of the default gems since Ruby #{SINCE[gem]}." ^^^^^^^^^^ /usr/local/bundle/gems/bootsnap-1.18.3/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' ``` It's working with DISABLE_BOOTSNAP=1 with the following message : `warning: parser/current is loading parser/ruby33, which recognizes 3.3.0-compliant syntax, but you are running 3.3.1.` -- https://bugs.ruby-lang.org/
participants (7)
-
eugeneius (Eugene Kenny)
-
hsbt (Hiroshi SHIBATA)
-
jaruga (Jun Aruga)
-
k0kubun (Takashi Kokubun)
-
philippe.bs.noel@tutanota.com (Philippe Noel)
-
professor (Todd Sedano)
-
shan (Shannon Skipper)