Project

General

Profile

Activity

From 07/21/2021 to 07/27/2021

07/27/2021

09:48 PM Bug #10902: require("enumerator") scans LOAD_PATH 2x on every invocation
If we want to allow loading an `enumerator.rb` library, then we cannot avoid the scan of the load path for *.rb files. However, we can avoid scanning the load path twice, once for `enumerator.rb` and once for `enumerator.so`, since we a... jeremyevans0 (Jeremy Evans)
09:11 PM Feature #18042: YARV code optimization
I think you'd have to do a lot of work, to even get the basic benefits of this approach. So they may not want what is likely to be a very large volume of code for what is likely to be a small benefit. chrisseaton (Chris Seaton)
07:29 PM Feature #18042: YARV code optimization
But way MRI team don't want to borrow the developments of other ruby implementations? because it's hard to support? motoroller (Iskandar Gohar)
12:28 PM Feature #18042: YARV code optimization
Yes these are all optimisations that compilers can do and you can see them being done in implementations of Ruby like TruffleRuby, but it requires a complex system of 'deoptimisation' to be able to go from the optimised code back to the ... chrisseaton (Chris Seaton)
11:46 AM Feature #18042: YARV code optimization
@nobu Yes you are right, but I want to say that we don't need temp object in this case, so wy can't we do some optimizations? or one more case: code like this `[1,2,3,4,5,6].select(&:even?).count` will allocate new array only for return ... motoroller (Iskandar Gohar)
11:15 AM Feature #18042: YARV code optimization
Hanmac (Hans Mackowiak) wrote in #note-6:
> motoroller (Iskandar Gohar) wrote:
> ...
And the second should be `_1.method1.method2`.
nobu (Nobuyoshi Nakada)
07:11 AM Feature #18042: YARV code optimization
motoroller (Iskandar Gohar) wrote:
> ```ruby
> ...
there are differences with the code:
* first lets say that array is `[a, b]`
* the first example would call x = a.method1, y = b.method1 and then `x.method2, y.method2`
* the seco...
Hanmac (Hans Mackowiak)
06:12 AM Feature #18042 (Feedback): YARV code optimization
> as I see mjit only translates yarv into C
It's interesting that many people seem to think it's what MJIT does. We indeed copy-paste the original C code for most instructions, but it's not for optimizations but just for ease of mainten...
k0kubun (Takashi Kokubun)
07:36 PM Bug #14500 (Closed): Missing Regexp documentation and clarification on behavior of \K for edge case
Applied in changeset commit:git|4fc9ddd7b6af54abf88d702c2e11e97ca7750ce3.
----------
Update Capturing and Anchors sections of regexp documention
Document that only first 9 numbered capture groups can use the \n
backreference syntax. D...
jeremyevans (Jeremy Evans)
07:35 PM Bug #14500: Missing Regexp documentation and clarification on behavior of \K for edge case
Sundeep (Sundeep Agarwal) wrote:
> **Anchors** section (https://ruby-doc.org/core-2.5.0/Regexp.html#class-Regexp-label-Anchors)
> ...
The `\K` behavior at the end of a regexp is a bug that has already been filed upstream in Onigmo: htt...
jeremyevans0 (Jeremy Evans)
07:30 PM Revision 4fc9ddd7 (git): Update Capturing and Anchors sections of regexp documention
Document that only first 9 numbered capture groups can use the \n
backreference syntax. Document \0 backreference. Document \K anchor.
Fixes [Bug #14500]
jeremyevans (Jeremy Evans)
06:01 PM Bug #18018 (Closed): Float#floor / truncate sometimes result that is too small.
Applied in changeset commit:git|35e467080ca35a9a129e95f802f102c3bc0a81b3.
----------
Make Float#floor with ndigits argument handle error
The previous implementation could result in a returned
float that is 1/(10**ndigits) too low. Fir...
jeremyevans (Jeremy Evans)
05:48 PM Bug #18018: Float#floor / truncate sometimes result that is too small.
jeremyevans0 (Jeremy Evans) wrote in #note-5:
> > A correct algorithm seem to be to rely on `Rational#floor`:
> ...
My bad 🤦‍♂️ Rational#floor makes sense for rationals, but is not what we can use. Not sure how I got confused.
> I t...
marcandre (Marc-Andre Lafortune)
06:00 PM Revision 35e46708 (git): Make Float#floor with ndigits argument handle error
The previous implementation could result in a returned
float that is 1/(10**ndigits) too low. First try adding
one before dividing, and if that results in a value that is
greater than the initial number, then try the original
calculatio...
jeremyevans (Jeremy Evans)
05:48 PM Bug #15779 (Closed): After NoMemoryError, ruby freezes and takes 100% CPU
Applied in changeset commit:git|a6dc48f86a8ee7b1f713105b5c7136824d6b5720.
----------
Fix infinite loop in ensure after NoMemoryError
VM patch from wanabe.
Test based on example from buzztaiki (Taiki Sugawara).
Test fails when compile...
jeremyevans (Jeremy Evans)
05:48 PM Revision 338b604b (git): * 2021-07-28 [ci skip]
git[bot]
05:47 PM Revision a6dc48f8 (git): Fix infinite loop in ensure after NoMemoryError
VM patch from wanabe.
Test based on example from buzztaiki (Taiki Sugawara).
Test fails when compiles with -DRUBY_DEBUG, as that can
can use rb_bug instead of NoMemoryError, which doesn't
allow testing this case. Test also fails on Min...
jeremyevans (Jeremy Evans)
05:35 PM Bug #13810 (Open): Inconsistency between Date and Time.strftime("%v")
I submitted a pull request upstream to fix this: https://github.com/ruby/date/pull/35. However, I'm not sure if the consistency benefit is worth the backwards incompatibility cost. jeremyevans0 (Jeremy Evans)
05:08 PM Feature #18047: TracePoint: Add event type for constant access
Is it only on constant reads or also on constant writes/assignments?
Access is a pretty generic term and I would think it means both, but then is there a way to differentiate from the TracePoint event?
Adding docs to the TracePoint class...
Eregon (Benoit Daloze)
01:46 AM Feature #18047 (Feedback): TracePoint: Add event type for constant access
Hi there
We've made a PR to add new :constant_access TracePoint event. https://github.com/ruby/ruby/pull/4683
Burke Libbey made some first steps on this idea a few years ago #13133 and we improved his patch based on the comment by ko1....
suusan2go (Kenta Suzuki)
03:52 PM Bug #18049: Cannot build ruby-3.0.2 on NetBSD
First, it should be clarified that it is the already installed `/usr/local/bin/ruby` (version 3.0.1p64) that segfaults here.
I guess that the source comes directly from a Git repository, as `prelude.rbinc` should be prebuilt in a rele...
xtkoba (Tee KOBAYASHI)
01:49 PM Bug #18049 (Feedback): Cannot build ruby-3.0.2 on NetBSD
I get random segfaults when attempting to build on NetBSD
```sh
uname -a
NetBSD juggler.panix.com 9.1 NetBSD 9.1 (PANIX-STD) #2: Thu Mar 18 17:46:23 EDT 2021 [email protected]:/misc/obj64/misc/devel/netbsd/9.1/src/sys/arch/amd...
sydofficious (Kenneth Dunlap)
03:00 PM Bug #18050 (Closed): Cannot build ruby-2.7.4 on NetBSD
```
NetBSD juggler.panix.com 9.1 NetBSD 9.1 (PANIX-STD) #2: Thu Mar 18 17:46:23 EDT 2021 [email protected]:/misc/obj64/misc/devel/netbsd/9.1/src/sys/arch/amd64/compile/PANIX-STD amd64
Configuration summary for ruby version 2.7....
sydofficious (Kenneth Dunlap)
12:20 PM Revision 23011180 (git): [ruby/find] Add Errno::EINVAL to list of ignored errors
This error can occur on Windows for certain filenames on certain
code pages.
Fixes [Bug #14591]
https://github.com/ruby/find/commit/0a474d1027
jeremyevans (Jeremy Evans)
11:56 AM Feature #12675 (Closed): Code simplification and readability for prime_division method in prime.rb
prime.rb was extracted from ruby repository to https://github.com/ruby/prime. If you still interested in this, Can you file it to ruby/prime repo? Thanks. hsbt (Hiroshi SHIBATA)
11:38 AM Misc #12567 (Closed): Where is parser.bundle ?
You can find it like `lib/ruby/3.1.0/x86_64-darwin20/json/ext/parser.bundle`. hsbt (Hiroshi SHIBATA)
09:49 AM Revision acfec23b (git): Remove probably unintented symlinks
nobu (Nobuyoshi Nakada)
09:35 AM Feature #14331 (Closed): change call CGI methods from :: to .
Applied at https://github.com/ruby/cgi/commit/724c9e0e0acf29f39471393b1b67239760d8ce14 hsbt (Hiroshi SHIBATA)
09:20 AM Bug #18028 (Closed): test/ruby/enc/test_emoji_breaks.rb does not deal with Unicode ranges in file emoji-sequences.txt
Completed with commit 26b1e6fca8. duerst (Martin Dürst)
09:14 AM Revision 26b1e6fc (git): Deal with Unicode ranges in the file emoji-sequences.txt
Detect Unicode ranges and loop over them.
This fixes issue #18028.
duerst (Martin Dürst)
09:00 AM Revision c3d31377 (git): Bump unicode version for Ruby 3.1
hsbt (Hiroshi SHIBATA)
08:39 AM Feature #18029 (Closed): Update Unicode Emoji version to 13.1
Completed with revisions 01e98d8785 and 3010b40477. duerst (Martin Dürst)
08:34 AM Revision 6656309f (git): Fix test failure for parallel testing
hsbt (Hiroshi SHIBATA)
08:33 AM Revision b875a85c (git): Added missing require for URI::WS class
hsbt (Hiroshi SHIBATA)
08:10 AM Revision 3010b404 (git): Adjust test/ruby/enc/test_emoji_breaks.rb to handle Emoji Version 13.1
Deal with the issue that the emoji files in emoji/13.1 have Unicode
Emoji version 13.1, but at the same time the files in 13.0.0/ucd/emoji
are still at Emoji version 13.0. Specifically:
- Add a version attribute to TestEmojiBreaks::Break...
duerst (Martin Dürst)
08:10 AM Revision 01e98d87 (git): Change Unicode Emoji Version from 13.0 to 13.1
duerst (Martin Dürst)
07:57 AM Revision d3d68aa8 (git): [ruby/uri] User assert_ractor for test case of Ractor
https://github.com/ruby/uri/commit/bbf8b44dba hsbt (Hiroshi SHIBATA)
07:54 AM Revision 1cf11177 (git): [ruby/uri] Add proper Ractor support to URI
* Using a module to map scheme name to scheme class, which also works with Ractor.
* No constant redefinition, no ObjectSpace, still fast lookup for initial schemes.
https://github.com/ruby/uri/commit/883567fd81
Eregon (Benoit Daloze)
07:54 AM Revision 090d799c (git): [ruby/uri] Revert "Fix to support Ruby 3.0 Ractor"
* This reverts commit 1faa4fdc161d7aeebdb5de0c407b923beaecf898.
* It has too many problems, see https://github.com/ruby/uri/pull/22 for discussion.
https://github.com/ruby/uri/commit/b959da2dc9
Eregon (Benoit Daloze)
07:54 AM Revision a288c21a (git): [ruby/uri] Fix to support Ruby 3.0 Ractor
https://github.com/ruby/uri/commit/1faa4fdc16 kvokka (Mike Beliakov)
07:25 AM Bug #18048: Thread#join can break with fiber scheduler unblock fails or blocks.
The PR is 050a89543952a2c9e7c9bc938f4fdb538f6c9278 followed by 13f8521c630a15c87398dee0763e95f59c032a94 ioquatix (Samuel Williams)
07:22 AM Bug #18048 (Closed): Thread#join can break with fiber scheduler unblock fails or blocks.
nagachika (Tomoyuki Chikanaga)
07:21 AM Bug #18048: Thread#join can break with fiber scheduler unblock fails or blocks.
Thank you for creating the pack for backport. I see the PR was basically backporting 050a89543952a2c9e7c9bc938f4fdb538f6c9278 partially. I will try to merge it. nagachika (Tomoyuki Chikanaga)
06:57 AM Bug #18048 (Closed): Thread#join can break with fiber scheduler unblock fails or blocks.
In addition to https://bugs.ruby-lang.org/issues/17666 we found several more cases that need to be addressed.
Fix potential hang when joining threads.
If the thread termination invokes user code after `th->status` becomes
`THREAD_...
ioquatix (Samuel Williams)
06:40 AM Revision 82191da2 (git): Predefine recursive key ID
nobu (Nobuyoshi Nakada)
06:40 AM Revision 03e7fc89 (git): Extracted repeatedly defined IDs
nobu (Nobuyoshi Nakada)
06:40 AM Revision 537e8245 (git): Don't redefine #rb_intern over and over again
nobu (Nobuyoshi Nakada)
06:40 AM Revision 6329da58 (git): Use predefined IDs
nobu (Nobuyoshi Nakada)
06:40 AM Revision 0754cc48 (git): Added intern_ids.rb
nobu (Nobuyoshi Nakada)
06:23 AM Revision 13f8521c (git): Fix potential hang when joining threads.
If the thread termination invokes user code after `th->status` becomes
`THREAD_KILLED`, and the user unblock function causes that `th->status` to
become something else (e.g. `THREAD_RUNNING`), threads waiting in
`thread_join_sleep` will ...
Samuel Williams
05:55 AM Revision cd49940c (git): Run in a separated process to run finalizers certainly
nobu (Nobuyoshi Nakada)
04:41 AM Revision 2de7c29b (git): test/ruby/test_parse.rb: Prevent an "unused variable" warning
mame (Yusuke Endoh)
03:30 AM Revision 2d0a1e5f (git): Try GC more during suppressing the warning
nobu (Nobuyoshi Nakada)
02:47 AM Revision ed51e8b8 (git): Make GCed during suppressing the warning
Consume the VM stack more, to make the target object get GCed with
more probability during suppressing the warning.
nobu (Nobuyoshi Nakada)
02:37 AM Bug #17429: Prohibit include/prepend in refinement modules
I've changed the behavior and have added tests in https://github.com/shugo/ruby/pull/3/commits/3aaca9217f958640495c14ac11b08948960d1f30 shugo (Shugo Maeda)
12:57 AM Revision 5b27c1a1 (git): * 2021-07-27 [ci skip]
git[bot]
12:25 AM Revision bd8daa85 (git): [rubygems/rubygems] Remove the warning for not defining a gem server source
Bundler has deprecated gemfiles without a global source and this feature
is now obsolete. `Bundler::Definition#has_rubygems_remotes?` is removed
because it's not used anymore.
https://github.com/rubygems/rubygems/commit/d29dd2cb7b
daniel_niknam (Daniel Niknam)
12:25 AM Revision 49176e8c (git): [rubygems/rubygems] Refactor Bundler::Dsl#check_rubygems_source_safety to improve readability
`check_rubygems_source_safety` is responsible for:
1. if there are multiple global sources
- for bundle 3.x raise an error
- for bundle 2.x print a warning
2. print a warning if there is no explicit global source
The second respons...
daniel_niknam (Daniel Niknam)
12:25 AM Revision 1ef36023 (git): [rubygems/rubygems] Deprecate Gemfile without an explicit global source
Raise a warning when parsing a Gemfile and it doesn't have a global source. Gemfiles like this, specially now that rubygems sources are are no longer merged into a single source for security, are very confusing because they generate a di... daniel_niknam (Daniel Niknam)
12:25 AM Revision 2f9e0cf1 (git): [rubygems/rubygems] Explicitly define a global source for tests
This is in preparation for deprecating source-less gemfiles.
https://github.com/rubygems/rubygems/commit/d6493fa3e2
daniel_niknam (Daniel Niknam)
12:25 AM Revision b500e8fa (git): [rubygems/rubygems] Implement Bundler::SourceList#implicit_global_source?
This method is created to tell whether any global source exist in the object or not and it will be used by `Bundler:Dsl` to print a warning if no global source has been defined in the Gemfile.
https://github.com/rubygems/rubygems/commit...
daniel_niknam (Daniel Niknam)
12:25 AM Revision 91a3f06e (git): [rubygems/rubygems] Implement Bundler::Source::Rubygems#no_remotes?
This method is created to tell whether any remote exist in the object or not and it will be used by `Bundler:SourceList` to tell if a global source has been defined implicitly or not.
https://github.com/rubygems/rubygems/commit/47e3ff0e47
daniel_niknam (Daniel Niknam)
12:25 AM Revision 095b5bbc (git): [rubygems/rubygems] Lazily load shellwords
https://github.com/rubygems/rubygems/commit/ef6388656a deivid (David Rodríguez)
12:25 AM Revision 350f4a0b (git): [rubygems/rubygems] Rubygems doesn't need to load the `base64` library
https://github.com/rubygems/rubygems/commit/fe723c0f7f deivid (David Rodríguez)
12:25 AM Revision 960023ff (git): [rubygems/rubygems] Rubygems doesn't need to load the `resolv` library
https://github.com/rubygems/rubygems/commit/8bf41f53cc deivid (David Rodríguez)
12:25 AM Revision 9cddc0ec (git): [rubygems/rubygems] Lazily load `shellwords` library
https://github.com/rubygems/rubygems/commit/e5532ef886 deivid (David Rodríguez)
12:25 AM Revision 9ac89fe3 (git): [rubygems/rubygems] The `--quiet` should still display warnings
The is the previous intentional behaviour until
https://github.com/rubygems/bundler/commit/ca0676cb1c638e0b9747ea8c18f28adf82cc01de.
In my opinion, that previous behaviour was better and should be
restored, because we want our users to ...
deivid (David Rodríguez)
12:25 AM Revision 24aca87d (git): [rubygems/rubygems] Make `--quiet` spec independent on the specific warning
We'll be removing the warning about no gem sources, so this spec will no
longer test that warnings are hidden by `--quiet`.
Test that in another way so that we don't lose the coverage when we
drop the specific warning about no gem serve...
deivid (David Rodríguez)
12:25 AM Revision 803c6085 (git): [rubygems/rubygems] Check requirements classes
Mitigate the security risk:
https://devcraft.io/2021/01/07/universal-deserialisation-gadget-for-ruby-2-x-3-x.html
https://github.com/rubygems/rubygems/commit/141c2f4388
nobu (Nobuyoshi Nakada)
12:25 AM Revision 88e46cf6 (git): [rubygems/rubygems] Remove all `syck` traces from `rubygems`
After reading [this blog
post](https://blog.rubygems.org/2011/08/31/shaving-the-yaml-yak.html),
published almost 10 years ago already, my understanding is that this
problem could come up in two ways:
* Rubygems.org serving corrupted gem...
deivid (David Rodríguez)
12:25 AM Revision 6bcedabf (git): [rubygems/rubygems] Remove `gem install` hint when installing a gem fails
A fresh `gem install` might not reproduce the exact `bundle install`
environment that originally caused the error. It also makes it harder
for the user to troubleshoot the error since she needs to run a separate
command.
Instead, show t...
deivid (David Rodríguez)
12:25 AM Revision 6eb6f740 (git): [rubygems/rubygems] Show a backtrace in case gem installation fails
For example, due to extension compilation issues.
https://github.com/rubygems/rubygems/commit/adbe55bb6a
deivid (David Rodríguez)
12:25 AM Revision 4271f4ae (git): [rubygems/rubygems] Fix bundler binstub version selection
To mimic built-in rubygems behaviour, only thing that should be
approximated is the lockfile version. Other alternatives like
`BUNDLER_VERSION` should be respected exactly.
https://github.com/rubygems/rubygems/commit/dbd667d4bc
deivid (David Rodríguez)
12:25 AM Revision 90899c50 (git): [rubygems/rubygems] Remove LoadError message in regards to requiring a relative file
Ruby 1.9.2 removed "." from LOAD_PATH for robustness and security reasons.
This code was introduced by https://github.com/rubygems/rubygems/commit/56fc830e19a573a5905eba7f4714ad1f21ed1927 commit
to helping users understand the issue and ...
daniel_niknam (Daniel Niknam)
12:25 AM Revision 705b1bde (git): [rubygems/rubygems] Fix interrupt handling in Bundler workers
The existing interrupt handling using `SharedHelpers.trap` fails when the previous
handler for a signal is not callable (for example, when it is the string "DEFAULT").
Instead, we now handle interrupts by aborting the process when worke...
haines (Andrew Haines)

07/26/2021

07:57 PM Bug #18046: Missing include leads to build breakage of glib2 on head
Making `ruby/internal/intern/thread.h` depend directly on `ruby/io.h` doesn't work due to circular dependency issues. I have a commit that adds a separate include file that both `ruby/internal/intern/thread.h` and `ruby/io.h` include to ... jeremyevans0 (Jeremy Evans)
07:00 PM Bug #18046 (Closed): Missing include leads to build breakage of glib2 on head
I was testing out my code on a CI and I noticed that the build broke with some compile errors. I reported it to the ruby-gnome project, and they think it's a missing include. Here's that bug: https://github.com/ruby-gnome/ruby-gnome/issu... andymeneely (Andy Meneely)
07:26 PM Bug #14635: Float#round(n) returns a wrong result when n is big
This issue still exists in the master branch. I've submitted a pull request that uses a modified version of @mame's patch to fix this issue: https://github.com/ruby/ruby/pull/4682 jeremyevans0 (Jeremy Evans)
06:36 PM Bug #18018 (Open): Float#floor / truncate sometimes result that is too small.
marcandre (Marc-Andre Lafortune) wrote in #note-4:
> > marcandre (Marc-Andre Lafortune) wrote:
> ...
I did miss that :). I agree with you that it is reasonable definition.
> A correct algorithm seem to be to rely on `Rational#floor`...
jeremyevans0 (Jeremy Evans)
05:44 PM Feature #18045 (Closed): Variable Width Allocation Phase II

# GitHub PR: https://github.com/ruby/ruby/pull/4680
# Feature description
Since merging the initial implementation in #17570, we've been working on improving the performance of the allocator (which was one of the major drawbacks ...
peterzhu2118 (Peter Zhu)
03:08 PM Feature #18042: YARV code optimization
as I see mjit only translates yarv into C motoroller (Iskandar Gohar)
12:51 PM Feature #18042: YARV code optimization
This is how the various JITs for Ruby work. You usually think of a JIT emitting machine code, but they could also emit optimised YARV instructions. chrisseaton (Chris Seaton)
02:29 PM Bug #18044 (Closed): unusual behavior with Arabic string in a Hash
jeremyevans0 (Jeremy Evans)
06:32 AM Bug #18044: unusual behavior with Arabic string in a Hash
Thanks ! Indeed removing that invisible character fixes the issue. I wonder if this error could be made more obvious? 0xleaf (0x leaf)
06:24 AM Bug #18044: unusual behavior with Arabic string in a Hash
If I'll copy-paste your example literally, and then...
```ruby
foo.keys.first.chars
# => ["a", "r", "a", "b", "i", "c", "‎"]
foo.keys.first.chars.last.unpack('U') # => 8206
8206.to_s(16) # => 200e
```
It is [U200e](https://www.com...
zverok (Victor Shepelev)
05:44 AM Bug #18044 (Closed): unusual behavior with Arabic string in a Hash
Hey all,
I found a potential bug where looking up a key that contains an arabic string always returns "nil" instead of the string. To reproduce, run the following script
```ruby
foo = {"arabic‎" => "ٱلتَّوْبَة"}
p foo.keys # => [...
0xleaf (0x leaf)
11:24 AM Revision c8172d0b (git): rb_iterate is no longer used in ruby/spec
Eregon (Benoit Daloze)
11:15 AM Bug #17429: Prohibit include/prepend in refinement modules
In other words, Refinement#import copies methods but does not attempt to change anything lexical, except which refinements are applied to these methods. Eregon (Benoit Daloze)
11:12 AM Bug #17429: Prohibit include/prepend in refinement modules
Yes, I think that's completely fine.
In code, this should work:
```ruby
module Shared
A = 1
def foo
A
end
end
refine SomeClass do
import Shared
end
SomeClass.new.foo # => 1
```
And this should not:
```r...
Eregon (Benoit Daloze)
12:02 AM Bug #17429: Prohibit include/prepend in refinement modules
Eregon (Benoit Daloze) wrote in #note-23:
> shugo (Shugo Maeda) wrote in #note-22:
> ...
For me, it's surprising if the imported methods cannot access constants of the refinement.
However, constant assignments in refine block define cons...
shugo (Shugo Maeda)
06:44 AM Revision b8386f7f (git): Prepend DebugSystem to VCS class only
And revert 24e5f1c982966c379220b1bbb26b4e0320180fa1, pepending to
Kernel did not affect the top level methods before 3.0.
nobu (Nobuyoshi Nakada)
05:17 AM Revision 24e5f1c9 (git): Ignore 7z unless available
`DebugSystem#system` is prepended in vcs.rb and defaulted to
`exception: true`.
nobu (Nobuyoshi Nakada)

07/25/2021

08:09 PM Bug #16608 (Closed): ConditionVariable#wait should return false when timeout exceeded
Applied in changeset commit:git|070557afc4ca83876b951fe090806b59e3867ae5.
----------
Distinguish signal and timeout [Bug #16608]
nobu (Nobuyoshi Nakada)
08:09 PM Revision 165a098f (git): * 2021-07-26 [ci skip]
git[bot]
08:09 PM Revision 070557af (git): Distinguish signal and timeout [Bug #16608]
nobu (Nobuyoshi Nakada)
06:47 PM Bug #18043 (Third Party's Issue): pod install failed on iMac (24-inch, M1, 2021) macOS Big Sur Version: 11.4 (20F71)
jeremyevans0 (Jeremy Evans)
11:26 AM Bug #18043: pod install failed on iMac (24-inch, M1, 2021) macOS Big Sur Version: 11.4 (20F71)
The same as #17988 (and others related to Ethon on M1 Mac). Should be closed as a third party's issue. xtkoba (Tee KOBAYASHI)
10:25 AM Bug #18043 (Third Party's Issue): pod install failed on iMac (24-inch, M1, 2021) macOS Big Sur Version: 11.4 (20F71)
% pod install
Analyzing dependencies
/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.3/lib/ffi/library.rb:275: [BUG] Bus Error at 0x0000000104838000
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20]
-- Control frame inform...
rahulshinde (Rahul Shinde)
05:36 PM Bug #18018: Float#floor / truncate sometimes result that is too small.
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> This issue also goes the other direction:
> ...
Well, that `f` *is* the same float (291.4), I don't understand your point, sorry.
> marcandre (Marc-Andre Lafortune) wrote:
> ...
Maybe...
marcandre (Marc-Andre Lafortune)
03:13 PM Bug #15856: Performance of redundant `Kernel.require` is slow when many gems are activated
Thanks for working on this and coming up with a 100% backwards compatible fix! <3 deivid (David Rodríguez)
11:08 AM Bug #15856 (Closed): Performance of redundant `Kernel.require` is slow when many gems are activated
Applied in changeset commit:git|b360588cd3cbac5fb4f004aa53a8fdc715906719.
----------
Sort feature index arrays by the priority of file types [Bug #15856]
When looking for libraries to load with a feature name without
extension, `.rb` f...
nobu (Nobuyoshi Nakada)
11:58 AM Revision 8897098b (git): Update bundled_gems
znz (Kazuhiro NISHIYAMA)
11:07 AM Revision 02facb86 (git): * 2021-07-25 [ci skip]
git[bot]
05:51 AM Revision e2aaed04 (git): merge revision(s) 292230cbf926e9892596ea37fd4567f0c49ab73c:
Fixed leaked global symbols
---
gc.c | 14 +++++++++-----
vm_insnhelper.c | 7 ++++---
vm_insnhelper.h | 2 +-
vm_sync.c | 4 ++--
vm_sync.h | 6 ++++--
...
nagachika (Tomoyuki Chikanaga)
05:19 AM Revision 0a5f22cc (git): merge revision(s) 73cd4951de20bf989747013b1e62a202f12ac2d2,6e6be107dd0c820afc4db68d09110ad96c4aebdd:
Reduced GitHub Actions
Moved leaked-globals before check.
---
.github/workflows/macos.yml | 4 +++-
.github/workflows/ubuntu.yml | 8 +++-----
2 files changed, 6 insertions(+), 6 deletions(-)
...
nagachika (Tomoyuki Chikanaga)
05:11 AM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
ruby_3_0 95dc88c88869541dd0eccafd14924d78c8d7f427 merged revision(s) 5f69a7f60467fa58c2f998daffab43e118bff36c. nagachika (Tomoyuki Chikanaga)
04:49 AM Revision 95dc88c8 (git): partially merge revision(s) 5f69a7f60467fa58c2f998daffab43e118bff36c: [Backport #17666]
Co-authored-by: Samuel Williams <@ioquatix>
https://github.com/nagachika/ruby/pull/1/commits/2cee515f024f3295945f312cb6b052f972f9c93d
nagachika (Tomoyuki Chikanaga)
04:47 AM Revision dc7ad028 (git): bump up bundled rbs and typeprof version to pass test-bundled-gems.
nagachika (Tomoyuki Chikanaga)
04:13 AM Revision ec5bc132 (git): bump up bundled rbs and typeprof version to pass test-bundled-gems.
nagachika (Tomoyuki Chikanaga)

07/24/2021

02:59 PM Revision b360588c (git): Sort feature index arrays by the priority of file types [Bug #15856]
When looking for libraries to load with a feature name without
extension, `.rb` files are given priority. However, since the
feature index arrays were not in that order of priority, but in
the order in which they were loaded, a lower pri...
nobu (Nobuyoshi Nakada)
08:58 AM Revision 971d24cd (git): * 2021-07-24 [ci skip]
git[bot]
05:31 AM Revision eec45a93 (git): Escape unprintable chars only, without surrounding quotes
nobu (Nobuyoshi Nakada)

07/23/2021

10:27 PM Bug #18018 (Feedback): Float#floor / truncate sometimes result that is too small.
The algorithm for `Float#floor` with the `ndigits` argument is basically (omitting the overflow/underflow handling):
```ruby
class Float
def floor_ndigits(ndigits)
x = (10**ndigits).to_f
(self * x).floor / x
end
end
...
jeremyevans0 (Jeremy Evans)
09:30 PM Bug #17728 (Closed): [BUG] Segmentation fault at 0x0000000000000000
jeremyevans0 (Jeremy Evans)
07:38 PM Bug #15856: Performance of redundant `Kernel.require` is slow when many gems are activated
I've reviewed @nobu's patch and think that we should go with that approach. It avoids the backwards compatibility issues with @deivid's approach while still fixing the performance issue. I submitted a pull request for it: https://githu... jeremyevans0 (Jeremy Evans)
07:15 PM Bug #13154 (Rejected): URI::Generic, == operator, normalize!
I agree with @phluid61, plain path provided to `URI.parse` should not be treated as implicit `file` scheme. Such a change would break backwards compatibility for the methods mentioned, and I think `URI.parse('http://foo/bar').merge(URI.... jeremyevans0 (Jeremy Evans)
07:08 PM Feature #10473: Change Date#to_datetime to use local time
I don't think this is a bug. `Time` defaults to local time, and `DateTime` to UTC:
```ruby
Time.parse('2021-07-23')
# => 2021-07-23 00:00:00 -0700
DateTime.parse('2021-07-23')
#<DateTime: 2021-07-23T00:00:00+00:00 ((2459419j,0s...
jeremyevans0 (Jeremy Evans)
04:22 PM Feature #18042 (Feedback): YARV code optimization
Hi! Long period of time I think about programmatically code optimization for YARV. In compiled languages like C/C++ the compiler can do whatever it wants with the code and does for performance optimization. Firstly, ruby developers think... motoroller (Iskandar Gohar)
10:01 AM Bug #17429: Prohibit include/prepend in refinement modules
shugo (Shugo Maeda) wrote in #note-22:
> In the current implementation, the module in cref is replaced with the refinement like Module#dup, so constants in the imported module are not accessible from the copied methods.
Could you sho...
Eregon (Benoit Daloze)
03:43 AM Revision 8cc18703 (git): [NEWS] added [Feature #17798] [ci skip]
nobu (Nobuyoshi Nakada)
03:41 AM Revision 53857313 (git): [NEWS] adjusted formats [ci skip]
nobu (Nobuyoshi Nakada)
03:01 AM Feature #17798 (Closed): exception in finalizer
Applied in changeset commit:git|fc4dd45d0142221880d1b2c9b54dee0597be2b78.
----------
Show exception in finalizer [Feature #17798]
nobu (Nobuyoshi Nakada)
03:01 AM Revision 37799503 (git): Suppress exception message in finalizer [Feature #17798]
nobu (Nobuyoshi Nakada)
03:01 AM Revision fc4dd45d (git): Show exception in finalizer [Feature #17798]
nobu (Nobuyoshi Nakada)
03:01 AM Revision 63e5f4df (git): Access rb_execution_context_t::errinfo directly
nobu (Nobuyoshi Nakada)
01:25 AM Revision b726c4ee (git): Use rb_equal
It can be optimized and handles Qnil properly. nobu (Nobuyoshi Nakada)
01:25 AM Revision 4da07ac2 (git): Finalizers no longer store the safe level
nobu (Nobuyoshi Nakada)

07/22/2021

09:02 PM Bug #18041 (Feedback): [BUG] Segmentation fault - ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
applenotbanana (Apple Banana) wrote in #note-1:
> is it problem with excon?
Excon is a pure ruby gem, and the segfault appears to occur in openssl, so my guess would be no. In any case, Ruby 2.5 is no longer supported, Please try wi...
jeremyevans0 (Jeremy Evans)
08:36 PM Bug #18041: [BUG] Segmentation fault - ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
is it problem with excon? applenotbanana (Apple Banana)
08:31 PM Bug #18041 (Closed): [BUG] Segmentation fault - ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
/usr/local/lib/ruby/2.5.0/openssl/buffering.rb:388: [BUG] Segmentation fault at 0x0020ffffaf56467c
ruby 2.5.8p224 (2020-03-31 revision 67882) [aarch64-linux]
-- Control frame information ----------------------------------------------...
applenotbanana (Apple Banana)
06:13 PM Revision fc78a089 (git): * 2021-07-23 [ci skip]
git[bot]
06:13 PM Revision 86e0eecc (git): [ruby/irb] Fix #256
Support int that follow on symbeg in IRB
https://github.com/ruby/irb/commit/90cb27b1bd
osyo (manga osyo)
03:55 PM Feature #17798: exception in finalizer
https://github.com/ruby/ruby/pull/4670 nobu (Nobuyoshi Nakada)
02:10 PM Revision 62661dd9 (git): Don't recompute the heap page
We already page the page of the zombie calculated. Don't recalculate the
page.
peterzhu2118 (Peter Zhu)
02:10 PM Revision 018f3961 (git): Don't set flags in finalize_list
The call after it to `heap_page_add_freeobj` will set the flags. peterzhu2118 (Peter Zhu)
06:41 AM Revision 75f60e5a (git): Sort out quad_t related macros
nobu (Nobuyoshi Nakada)
06:41 AM Revision fc50b2ea (git): Remove unneeded function declarations
S_H_ (Shun Hiraoka)
05:10 AM Revision e4b68ab7 (git): [DOC] Fixed the description of regexp alternations [ci skip]
Ulysses Zhan
05:02 AM Revision d6b8819b (git): Refactor rb_proc_call_with_block function
S_H_ (Shun Hiraoka)
05:02 AM Revision e882905d (git): Refactor sym_each_i function
S_H_ (Shun Hiraoka)
02:56 AM Bug #17666: Thread#join hangs when Fiber.set_scheduler is set
Thank you for your confirmation and adding a test!
I will create a patch for ruby_3_0 branch based on your pull request.
nagachika (Tomoyuki Chikanaga)
02:48 AM Bug #18014: Memory leak in GC when using Ractors
ruby_3_0 a215c6d0448764131cbbb48b476dc698b51c2273 merged revision(s) 119697f61e2b2b157816a8aa33aada5863959900,4a627dbdfd1165022fa9e716ba845e937b03773d. nagachika (Tomoyuki Chikanaga)
02:45 AM Bug #18014: Memory leak in GC when using Ractors
Thank you for reviewing. I will commit the patch soon. nagachika (Tomoyuki Chikanaga)
02:48 AM Revision 186900d1 (git): * 2021-07-22 [ci skip]
git[bot]
02:47 AM Revision a215c6d0 (git): partially merge revision(s) 119697f61e2b2b157816a8aa33aada5863959900,4a627dbdfd1165022fa9e716ba845e937b03773d: [Backport #18014]
[Bug #18014] Fix rb_gc_force_recycle unmark before sweep
If we force recycle an object before the page is swept, we should clear
it in the mark bitmap. If we don't clear it in the bitmap, then during
sweeping we ...
nagachika (Tomoyuki Chikanaga)
12:58 AM Revision e3cda754 (git): Remove useless casts
nobu (Nobuyoshi Nakada)
12:52 AM Revision a4e39112 (git): Cast to size_t instead of int
len and *retlen are size_t since r22957
(commit:4de12b6ae9a7fc1e28ada4b62291a78f28ae7528).
nobu (Nobuyoshi Nakada)

07/21/2021

06:40 PM Revision 31144fe9 (git): Change GC verification to walk all pages
`gc_verify_internal_consistency_` does not walk pages in the tomb heap
so numbers were off. This commit changes it to walk all allocated pages.
peterzhu2118 (Peter Zhu)
05:07 PM Bug #18038 (Closed): Invalid interpolation in heredocs
Applied in changeset commit:git|b940a453572b5c3ed5c0951647929e14f5843a7d.
----------
Fix interpolated heredoc
This fixes https://bugs.ruby-lang.org/issues/18038. The provided
reproduction showed that this happens in heredocs with doubl...
eileencodes (Eileen Uchitelle)
05:06 PM Revision f5f70106 (git): * 2021-07-22 [ci skip]
git[bot]
05:06 PM Revision b940a453 (git): Fix interpolated heredoc
This fixes https://bugs.ruby-lang.org/issues/18038. The provided
reproduction showed that this happens in heredocs with double
interpolation. In this case `DSTR` was getting returned but needs to be
convered to a `EVSTR` which is what is...
eileencodes (Eileen Uchitelle)
11:44 AM Revision fa308a68 (git): Update bundled_gems
nobu (Nobuyoshi Nakada)
11:44 AM Revision c25cf1ea (git): Drop optional commit hash when updated
nobu (Nobuyoshi Nakada)
10:32 AM Revision 04b5e85b (git): Look up ruby_digit36_to_number_table
Instead of scanning ruby_hexdigits. nobu (Nobuyoshi Nakada)
08:40 AM Revision b2749e00 (git): * 2021-07-21 [ci skip]
git[bot]
07:28 AM Revision 1c80e0e6 (git): Use typeprof supporting rbs 1.3
nobu (Nobuyoshi Nakada)
 

Also available in: Atom