Skip to content

Conversation

@k0kubun
Copy link
Member

@k0kubun k0kubun commented Sep 12, 2025

tool/sync_default_gems.rb prism

on ruby_3_4 with the latest Prism ruby/prism@b4865f9.

Earlopain and others added 2 commits September 12, 2025 14:00
Prism can parse multiple versions of ruby. Because of that branch release managers are ok with simply
bumping prism to its latest version.

However, if no version is specified, it will parse as the latest known version, which can be ahead of the maintenance branch.
So we need to explicitly pass a version to not accidentally introduce new syntax to maintenance branches.
This reverts commit a495e6a.

This break extension builds:

```
/Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:321:in 'String#replace': can't modify frozen String: "$(SDKROOT)$(prefix)/include" (FrozenError)
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:321:in 'RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:314:in 'block in RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'String#gsub'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:314:in 'block in RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'String#gsub'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:314:in 'block in RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'String#gsub'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:307:in 'RbConfig.expand'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:325:in 'block in <module:RbConfig>'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:324:in 'Hash#each_value'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:324:in '<module:RbConfig>'
        from /Users/hsbt/Documents/github.com/ruby/ruby/rbconfig.rb:11:in '<top (required)>'
        from ./ext/extmk.rb:42:in 'Kernel#require'
        from ./ext/extmk.rb:42:in '<main>'
make[1]: *** [ext/configure-ext.mk:70: ext/json/exts.mk] Error 1
```
@k0kubun k0kubun force-pushed the ruby_3_4-prism-1-5-0 branch from 044ba76 to 251d806 Compare September 12, 2025 21:00
@k0kubun k0kubun enabled auto-merge (rebase) September 12, 2025 21:19
@k0kubun k0kubun merged commit cdd1de6 into ruby:ruby_3_4 Sep 12, 2025
73 checks passed
@k0kubun k0kubun deleted the ruby_3_4-prism-1-5-0 branch September 12, 2025 21:33
@satmandu
Copy link
Contributor

Is it possible that this is breaking ruby on Linux/i686?

I'm getting segfaults when I build ruby against the 3.4 branch with prism 1.5.1 and run ruby -e "require 'concurrent-ruby' ; puts 'success'"

@k0kubun
Copy link
Member Author

k0kubun commented Sep 14, 2025

It's passing the Ubuntu i686 CI job, so I'm not sure if it's a Linux/i686 problem; it could be an issue in concurrent-ruby or your environment. Please file a PR to add a test case that fails on that CI if you believe that's a CRuby issue and need something in CRuby to be fixed.

@satmandu
Copy link
Contributor

It's passing the Ubuntu i686 CI job, so I'm not sure if it's a Linux/i686 problem; it could be an issue in concurrent-ruby or your environment. Please file a PR to add a test case that fails on that CI if you believe that's a CRuby issue and need something in CRuby to be fixed.

Thanks for that. I'm trying a rebuild off of the ruby_3_4 branch with #(install_prefix}/bin/ruby -e \"require 'concurrent-ruby' ; puts 'success'\"", exception: true in my install to check to see if a build directly causes this error.

Is there a good way to leverage the build in the Ubuntu i686 CI? Are there artifacts available?

I'm happy to provide docker based reproducers that we are generating in Chromebrew.

@k0kubun
Copy link
Member Author

k0kubun commented Sep 15, 2025

The definition is at

- test_task: check
arch: i686
You can see how it's built in the workflow and compare that with how you build your Ruby. You can also run the CI by forking the repository and pushing your build process to the workflow.

@satmandu
Copy link
Contributor

Thanks for that! I opened an issue at https://bugs.ruby-lang.org/issues/21607 as I didn't realize 3.4.6 was going to be cut so soon, so perhaps that is helpful. It includes our build run log with the output from make check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants