Bug #16926
closedKernel#require does not load a feature twice when $LOAD_PATH has been modified spec fails only on 2.7
Description
fails in 2.7.1, but not on Ruby <= 2.6 and not on master.
Could someone investigate why that is and if the change is on purpose or a bug?
It sounds like a bug, because changing the last be_false
to be_true
then passes for Kernel#require
but fails for Kernel.require
.
Reproduce with:
$ Use ruby 2.7.1
$ cd ruby/spec
# remove ruby_bug guard in core/kernel/require_spec.rb
$ mspec core/kernel/require_spec.rb
Updated by Eregon (Benoit Daloze) almost 5 years ago
- Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED
Updated by jeremyevans0 (Jeremy Evans) almost 5 years ago
I bisected this, twice.
- First failing commit between 2.6 and 2.7 is dd16f8524c44f8802e634af2577fe5a149cd740e.
- First fixing commit between 2.7 and master is 96064e6f1ce100a37680dc8f9509f06b3350e9c8.
Updated by nagachika (Tomoyuki Chikanaga) almost 5 years ago
Thank you for the bisecting.
I think it's hard to backport whole 96064e6f1ce100a37680dc8f9509f06b3350e9c8. Reverting dd16f8524c44f8802e634af2577fe5a149cd740e may fix this issue. I wonder dd16f8524c44f8802e634af2577fe5a149cd740e was the fix for another issues or not.
hsbt san, do you have any idea?
Updated by vo.x (Vit Ondruch) almost 5 years ago
Updated by deivid (David RodrÃguez) almost 5 years ago
Yes, I think ideally we should release rubygems 3.1.5 with the fix, and backport that to ruby 2.7.2. What do you think, hsbt san?
Updated by hsbt (Hiroshi SHIBATA) almost 5 years ago
- Status changed from Open to Assigned
- Assignee set to hsbt (Hiroshi SHIBATA)
Updated by hsbt (Hiroshi SHIBATA) over 4 years ago
- Status changed from Assigned to Closed
- Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE
Applied at 9b884df6dd918b0fdcc256d8a9febfaccd8a9042
Updated by Eregon (Benoit Daloze) over 4 years ago
@hsbt (Hiroshi SHIBATA) That commit seems unrelated.
Updated by hsbt (Hiroshi SHIBATA) over 4 years ago
- Status changed from Closed to Assigned
Right, I missed to pick https://github.com/rubygems/rubygems/pull/3639 at RubyGems 3.1.5.
Updated by hsbt (Hiroshi SHIBATA) over 4 years ago
- Status changed from Assigned to Closed
I released RubyGems 3.1.6 https://blog.rubygems.org/2021/01/26/3.1.6-released.html
@nagachika (Tomoyuki Chikanaga) Can you merge https://github.com/ruby/ruby/pull/4122 for Ruby 2.7.3?
Updated by nagachika (Tomoyuki Chikanaga) over 4 years ago
- Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED
Thank you for your investigations!
I will take a look at it.
BTW, can I push merge button on GitHub PR into stable branches?
Updated by nagachika (Tomoyuki Chikanaga) over 4 years ago
- Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE