-
Notifications
You must be signed in to change notification settings - Fork 6
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
Bump Ruby to 3.3.0 and Alpine to 3.19 #561
Conversation
NoMethod error usess a lot of CPU calling inspect on an object that has raised the error. In ruby 3.3 inspect has been removed and now the exception will only contain the objects name that had the issue instead of inspecting it. see https://github.com/ruby/ruby/blob/v3_3_0/NEWS.md#compatibility-issues ``` Error message for NoMethodError have changed to not use the target object's #inspect for efficiency, and says "instance of ClassName" instead. [Feature #18285] ([1] * 100).nonexisting ```
35100f1
to
7d9ab56
Compare
|
🤔 I get a segmentation fault when trying to build this image with docker on my machine
|
nokogiri (1.15.5-aarch64-linux) | ||
racc (~> 1.4) | ||
nokogiri (1.15.5-arm64-darwin) | ||
racc (~> 1.4) | ||
nokogiri (1.15.5-x86_64-darwin) | ||
racc (~> 1.4) | ||
nokogiri (1.15.5-x86_64-linux) | ||
nokogiri (1.15.5) | ||
mini_portile2 (~> 2.8.2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you happen to know why this has changed? Is this something to do with Ruby 3.3?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm wondering if this change is related to the segmentation faults I'm seeing... it feels like this change could result in bundler not installing the native gems for Nokogiri...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like the Nokogiri native gems for version 1.15.5 don't support Ruby 3.3.0:
% curl https://rubygems.org/api/v1/versions/nokogiri.json | jq '.[] | select(.number == "1.15.5") | {platform, ruby_version}'
{
"platform": "ruby",
"ruby_version": ">= 2.7.0"
}
{
"platform": "x86_64-linux",
"ruby_version": ">= 2.7, < 3.3.dev"
}
{
"platform": "x86_64-darwin",
"ruby_version": ">= 2.7, < 3.3.dev"
}
{
"platform": "x86-mingw32",
"ruby_version": ">= 2.7, < 3.3.dev"
}
{
"platform": "x86-linux",
"ruby_version": ">= 2.7, < 3.3.dev"
}
{
"platform": "x64-mingw32",
"ruby_version": ">= 2.7, < 3.1.dev"
}
{
"platform": "x64-mingw-ucrt",
"ruby_version": ">= 3.1, < 3.3.dev"
}
{
"platform": "java",
"ruby_version": ">= 2.7.0"
}
{
"platform": "arm64-darwin",
"ruby_version": ">= 2.7, < 3.3.dev"
}
{
"platform": "arm-linux",
"ruby_version": ">= 2.7, < 3.3.dev"
}
{
"platform": "aarch64-linux",
"ruby_version": ">= 2.7, < 3.3.dev"
}
We might want to update Nokogiri to the latest version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The build docker image is passing in this PR but I didn't try to build it on my machine. Let me try running docker build .
on my machine and see if I'm seeing the same errors
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm getting the same error as you when i try build the images.
Looks like this is a known issue in Ruby 3.3.0 on linux-aarch64, see https://bugs.ruby-lang.org/issues/20085 Fiber.new{ }.resume causes Segmentation fault for Ruby 3.3.0 on aarch64-linux (via ruby-concurrency/concurrent-ruby#1023).
It looks like a fix is incoming for Ruby 3.3.1 though. |
Closing this until ruby 3.3.1 is released |
Related
What problem does this pull request solve?
Created using our
forms-deploy
update_app_versions
script to bump ruby from 3.2.2 to 3.3.0 and alpine 3.18 to 3.19Trello card:
Things to consider when reviewing