29d630c108 (master): [ruby/rubygems] Load vendored persistent before activating Artifice in-process

0 views
Skip to first unread message

Hiroshi SHIBATA

unread,
5:16 AM (7 hours ago) 5:16 AM
to ruby...@g.ruby-lang.org
Hiroshi SHIBATA 2026-08-04 05:43:31 +0000 (Tue, 04 Aug 2026)

New Revision: 29d630c108

https://github.com/ruby/ruby/commit/29d630c108

Log:
[ruby/rubygems] Load vendored persistent before activating Artifice in-process

Artifice replaces Gem::Net::HTTP, so when bundler/vendored_persistent
gets lazily required while Artifice is active, the vendored Persistent
classes are defined under the Artifice replacement. After deactivation
Gem::Net::HTTP::Persistent becomes unresolvable, and the vendored
connection_pool fork hook then raises NameError on any later
Process.fork in the same rspec worker, failing worker_spec whenever it
shares a process with parallel_installer_spec. Load it up front like
gem_remote_fetcher_spec already does, before requiring
support/artifice/compact_index, which activates Artifice on load.

https://github.com/ruby/rubygems/commit/168266e7d6

Co-Authored-By: Claude Fable 5 <nor...@anthropic.com>

Modified files:
spec/bundler/bundler/installer/parallel_installer_spec.rb
spec/bundler/support/artifice/helpers/artifice.rb
Reply all
Reply to author
Forward
0 new messages