diff options
author | David RodrÃguez <deivid.rodriguez@riseup.net> | 2021-12-26 22:08:11 +0100 |
---|---|---|
committer | git <svn-admin@ruby-lang.org> | 2022-01-05 07:25:45 +0900 |
commit | d1a91076dc9fb67c08ac074971a9bdbc0207616a (patch) | |
tree | 67071127151eb7044c8e8c7b85d726b1b8091224 /compile.c | |
parent | 5917f49ad03cd3b2c13d3eea85c969a113b83bf8 (diff) | |
download | ruby-d1a91076dc9fb67c08ac074971a9bdbc0207616a.tar.gz |
[rubygems/rubygems] Fix race conditon on JRuby
On JRuby, sometimes we get the following error in CI when running a
realworld test that checks that `gem install rails` succeeds:
```
ERROR: While executing gem ... (NoMethodError)
undefined method `ignored=' for nil:NilClass
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/stub_specification.rb:193:in `to_spec'
org/jruby/RubyArray.java:2642:in `map'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/specification.rb:758:in `_all'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/specification.rb:956:in `each'
org/jruby/RubyEnumerable.java:1710:in `any?'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/resolver/activation_request.rb:111:in `installed?'
/home/runner/.rubies/jruby-9.3.2.0/lib/ruby/stdlib/rubygems/request_set.rb:173:in `block in install'
```
I'm not sure how this error is happening, but I think there's no need to
copy the `@ignored` instance variable when materializing stub
specifications. This instance variable is used to not print a warning
about missing extensions more than once for each gem upon gem
activation, but as far as I can see, it's only used by methods that work
on specification stubs. Once specifications are materialized, I think
it can be safely ignored.
https://github.com/rubygems/rubygems/commit/301cecd5a7
Diffstat (limited to 'compile.c')
0 files changed, 0 insertions, 0 deletions