Project

General

Profile

Activity

From 03/08/2021 to 03/14/2021

03/14/2021

11:45 PM Bug #17723 (Closed): autoconf 2.70+ is not working with master branch
MacPorts upgraded the version of autoconf to 2.71 recently. On macOS environment with MacPorts is broken now.
http://rubyci.s3.amazonaws.com/osx1100arm/ruby-master/log/20210314T214503Z.fail.html.gz
hsbt (Hiroshi SHIBATA)
03:00 PM Bug #17722 (Closed): define_method with shareable results in "defined in a different Ractor"
Testing against latest master, and expectinng [this](https://bugs.ruby-lang.org/issues/17159?tab=history) to already be handled, I nonetheless found a weird case, for which I managed to build a short reproduction.
```ruby
class A
...
chucke (Tiago Cardoso)
02:06 PM Bug #16376: Stack-buffer-overflow in renumber_by_map in regcomp.c
Though the example might be pathological, causing segfaults is not nice.
I wrote a patch to make `renumber_by_map` (and `renumber_node_backref`) check the size of the array `map` before accessing its element.
The behavior after the...
xtkoba (Tee KOBAYASHI)
01:37 PM Bug #17645: `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
ruby_3_0 ff2ea4daeb795ebb3d0afa8c57d86a4af9757e50 merged revision(s) 2a6bfd22468343003463e0cbf91953a01b0dbba5,3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f. naruse (Yui NARUSE)
11:13 AM Bug #17645 (Closed): `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
Applied in changeset commit:git|3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f.
----------
Explicitly cast __s64 to time_t [Bug #17645]
A workaround of shorten-64-to-32 error where 32-bit linux.
xtkoba (Tee KOBAYASHI)
12:30 PM Revision ff2ea4da (git): merge revision(s) 2a6bfd22468343003463e0cbf91953a01b0dbba5,3ac28de5414c81a0da8c8ec969ea74db5a0f1b0f: [Backport #17645]
Properly convert time_t [Bug #17645]
---
thread_sync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Explicitly cast __s64 to time_t [Bug #17645]
A workaround of shorten-64-to-32 error ...
naruse (Yui NARUSE)
11:18 AM Revision 2a6bfd22 (git): Properly convert time_t [Bug #17645]
nobu (Nobuyoshi Nakada)
11:18 AM Revision 8a5a91ee (git): --dont-cuddle-else [ci skip]
nobu (Nobuyoshi Nakada)
11:10 AM Revision ce9fb9b2 (git): * 2021-03-14 [ci skip]
git[bot]
11:10 AM Revision 3ac28de5 (git): Explicitly cast __s64 to time_t [Bug #17645]
A workaround of shorten-64-to-32 error where 32-bit linux. xtkoba (Tee KOBAYASHI)

03/13/2021

12:50 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
I think `--disable-gems` is also useful to investigate issues, e.g. RubyGems used to override `Kernel#warn` (fixed in Ruby 3).
It can significantly simplify investigating issues with `require`.
I agree it's not very common to need it for...
Eregon (Benoit Daloze)
11:02 AM Feature #17684: Remove `--disable-gems` from release version of Ruby
I'm also using the --disable-gems option. I make games on Ruby but I'm not using gems and since the main audience is Windows, I have to distribute portable Ruby version that HAS to work on any path (including those with accents). I notic... NuriYuri (Youri Nouri)
10:53 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
> > While we have RubyCI, I think we still have a motivation to run a CI on non-x86_64 architectures at a pull-request timing.
> ...
Okay. For the cost of the maintenance, I remember on the ticket #16360 to add ppc64le/s390x, an issue t...
jaruga (Jun Aruga)
09:20 AM Misc #17720: Cirrus CI to check non-x86_64 architecture cases by own machines
> While we have RubyCI, I think we still have a motivation to run a CI on non-x86_64 architectures at a pull-request timing.
Yes, we want non-x86_64 CIs with cheaper (maintenance/money) cost.
PR timing CI is desired rather than cron-...
naruse (Yui NARUSE)
09:03 AM Bug #17508: io-console versioning
ruby_3_0 commit:b20e2c3f2a3ce227b9cf32d2bf02db0ac67eccb5. naruse (Yui NARUSE)
08:56 AM Bug #17659: Ractor: can't call io/wait methods
ruby_3_0 e050dd53230cb354e816415f8a937901f79ec395 merged revision(s) f6d5de8f33fe715d939e3e77b8ef73d88bcd6c9f. naruse (Yui NARUSE)
08:56 AM Revision e050dd53 (git): merge revision(s) f6d5de8f33fe715d939e3e77b8ef73d88bcd6c9f: [Backport #17659]
[ruby/io-wait] Declare as Ractor-safe
Fixes https://bugs.ruby-lang.org/issues/17659
https://github.com/ruby/io-wait/commit/ba338b4764
---
ext/io/wait/wait.c | 4 ++++
test/io/wait/test...
naruse (Yui NARUSE)
08:55 AM Revision b20e2c3f (git): Backport io-console 0.5.7 to Ruby 3.0 (#4252)
* [ruby/io-console] [DOC] Note that IO#getpass returns a chomped string
IO#getpass uses String#chomp! on the read input line.
https://github.com/ruby/io-console/commit/1e98c93bc8
* [ruby/io-console] Ignore chomp! result and return the...
jeremyevans (Jeremy Evans)
08:54 AM Bug #17612: ractor crash with some simple codes
ruby_3_0 6bf32cbed8f3fd0b73b99737d671f833c594d800 merged revision(s) 63abb5c227e5c20d18d0debf699251da93ca64b5,34d02631e71209b12abb69d0114601027e485bc9,2adbf01ae14c0a4cf190b7c969b91726966a0e0f,3acc81d9e41b18380b9e0168fe2b5e5e0c727256. naruse (Yui NARUSE)
08:54 AM Bug #17672: Ractor stdio does not belong to the ractor
ruby_3_0 6f9e007729d53fdbc22e37e52129ea5aa2556d0e merged revision(s) b3c53a8a885be8f5cc2b712798b0d2741c488ce4. naruse (Yui NARUSE)
08:06 AM Bug #17680: tab completion no longer works on irb3.0
What is confusing is that the behavior of IRB changes drastically with `readline.so`. I suppose that Ruby 2.5 of the main issue is the case when `readline.so` is installed, and that the rest (Ruby 3.0 of the main issue and Ruby 2.5 of #n... xtkoba (Tee KOBAYASHI)
06:44 AM Revision c7e6914b (git): [Doc] Fix multiple `Magic Comments` example
[ci skip] kachick (Kenichi Kamiya)
06:42 AM Feature #17674: Proposal: `Method#source_location` or `Method#owner` for refined methods
The example code in #note-2 does not seem to refine `Range#cover?`. This method is defined natively in `range.c`, and so the behavior is expected (`Method#source_location` should return `nil`). xtkoba (Tee KOBAYASHI)
12:14 AM Revision 07ff1f4b (git): Revert "Extracted AtomicWrite"
This reverts commit 2148ee78a5bc5e679903f5839c66578bfcf94a39, mistakenly committed. nobu (Nobuyoshi Nakada)
12:11 AM Revision 983f6d0f (git): Moved locking VM to an atomic operation
nobu (Nobuyoshi Nakada)
12:10 AM Revision 2148ee78 (git): Extracted AtomicWrite
nobu (Nobuyoshi Nakada)

03/12/2021

08:40 PM Bug #17719: Irregular evaluation order in hash literals
To me the evaluation order of 1->3->2 is a bit unexpected, but it might be OK unless specified otherwise.
IMO, duplicate keys in hash literals should be allowed in a scripting language like Ruby. For example, they are explicitly allow...
xtkoba (Tee KOBAYASHI)
01:05 PM Bug #17719 (Closed): Irregular evaluation order in hash literals
@mame pointed out an irregular evaluation order example.
```sh
$ ruby -e '{foo:p(1), bar:p(2), foo:p(3)}'
-e:1: warning: key :foo is duplicated and overwritten on line 1
1
3
2
```
It feels like a bug.
https://github.com/nobu...
nobu (Nobuyoshi Nakada)
08:12 PM Revision 6f9e0077 (git): merge revision(s) b3c53a8a885be8f5cc2b712798b0d2741c488ce4: [Backport #17672]
Make Ractor stdio belonging to the Ractor [Bug #17672]
Defer making ractor stdio until ractor started.
Before ractor started, created objects belong to the caller ractor
instead of the created ractor.
---...
naruse (Yui NARUSE)
08:11 PM Revision 6bf32cbe (git): merge revision(s) 63abb5c227e5c20d18d0debf699251da93ca64b5,34d02631e71209b12abb69d0114601027e485bc9,2adbf01ae14c0a4cf190b7c969b91726966a0e0f,3acc81d9e41b18380b9e0168fe2b5e5e0c727256: [Backport #17612]
dtoa.c: make compilable independently
Except for `-Dxmalloc=malloc -Dxfree=free`.
---
missing/dtoa.c | 24 ++++++++++++++++++------
1 file changed, 18 insertions(+), 6 deletions(-)
dtoa.c: const...
naruse (Yui NARUSE)
08:01 PM Revision 7b122b8a (git): * 2021-03-13 [ci skip]
git[bot]
08:00 PM Bug #17642: Ractor should not allow "allocate" ("dup")
ruby_3_0 72c6497453f74f3398130d99fc610922f3995ae5 merged revision(s) 7b9476fbfab738d1eb01b4b4c4af9a1680513019. naruse (Yui NARUSE)
06:58 PM Feature #17721 (Feedback): Proc.new should be able to contruct a lambda
since procs and lambdas are of the same type, as long as Proc::new exists, it should be able to create either.
```ruby
class Proc
def augment
self.class.new lambda? do
call
end
end
end
```
bughit (bug hit)
06:18 PM Feature #17674: Proposal: `Method#source_location` or `Method#owner` for refined methods
osyo (manga osyo) wrote in #note-1:
> hi.
> ...
Can't confirm:
```ruby
# frozen_string_literal: true
puts RUBY_VERSION
p (1..10).method(:cover?).source_location
```
```
~/Projects/ruby/test/source_location
> ruby test.rb
3.0.0
nil
~/...
AlexWayfer (Alexander Popov)
05:50 PM Misc #17720 (Assigned): Cirrus CI to check non-x86_64 architecture cases by own machines
Hello!
This ticket is related to the tickets #16234 #16360. But I opened a new ticket because it is related to general non-x86_64 architecture CI cases.
I have a suggestion.
I see the `.travis.yml` was removed [1], and I also sa...
jaruga (Jun Aruga)
03:36 PM Bug #6120 (Closed): Float and BigDecimal bug in remainder in corner cases
Applied in changeset commit:git|aaab3b1de943c3317e115d623ffc7908b4c96578.
----------
Fix integer/float remainder with infinity argument of opposite sign
Previously, the result was incorrect:
4.remainder(-Float::INFINITY)
Before: => Na...
jeremyevans (Jeremy Evans)
03:35 PM Revision 722e6c1d (git): * 2021-03-13 [ci skip]
git[bot]
03:35 PM Revision aaab3b1d (git): Fix integer/float remainder with infinity argument of opposite sign
Previously, the result was incorrect:
4.remainder(-Float::INFINITY)
Before: => NaN
After: => 4
4.2.remainder(-Float::INFINITY)
Before: => NaN
After: => 4.2
Fixes [Bug #6120]
jeremyevans (Jeremy Evans)
01:10 PM Bug #17486 (Closed): Build fails on darwin due to libtool being removed
nobu (Nobuyoshi Nakada)
10:28 AM Revision 701001e3 (git): Removed an unused declaration
nobu (Nobuyoshi Nakada)
09:15 AM Revision d91ade3e (git): Renamed functions for Fiber singleton methods
nobu (Nobuyoshi Nakada)
08:13 AM Revision 90c12def (git): Constified variables for getenv
nobu (Nobuyoshi Nakada)
08:07 AM Revision 2ea600f9 (git): Bundle RBS 1.1.1 (#4259)
soutaro (Soutaro Matsumoto)
06:51 AM Revision ea39955e (git): Removed a duplicate setting for mingw
nobu (Nobuyoshi Nakada)
06:30 AM Revision 0446a339 (git): * 2021-03-12 [ci skip]
git[bot]
06:27 AM Revision 6b978d54 (git): Remove .travis.yml
Reason:
* Recent build is failed.
https://travis-ci.org/github/ruby/ruby/jobs/762561190
* Current configuration uses Ubuntu 16.04 (xenial), whose EOL is Apr 2021.
If someone want to recover Travis CI builds, please fix above two issues.
naruse (Yui NARUSE)
02:39 AM Bug #17645: `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
Yet another solution would be to define `rb_time64_t` for `rb_time_nano_new` (and `rb_time_new`), but may be an overkill. nobu (Nobuyoshi Nakada)

03/11/2021

09:46 PM Feature #17718 (Open): a method paramaters object that can be pattern matched against
```ruby
def get_perdiem(city: nil, state: nil, zip:nil)
case parameters_match # (return an object of the parameters we can pattern match on)
in {zip: zip}
find_perdiem_by_zip(zip)
in {state: s, city: c}
find_perd...
dsisnero (Dominic Sisneros)
09:38 PM Feature #17685: Marshal format for out of band buffer objects
On the consumer side, we can Marshal those objects the usual way, which when unserialized will give us a copy of the original object:
b = ZeroCopyByteArray.new("abc".bytes)
data = Marshal.dump(b)
new_b = Marshal.load(data)
puts b =...
dsisnero (Dominic Sisneros)
02:52 AM Feature #17685: Marshal format for out of band buffer objects
Do you want the way to load and dump the memory view metadata of any objects that support exporting their memory view?
Could you please tell me the example use cases you've assumed?
mrkn (Kenta Murata)
03:32 PM Revision 72c64974 (git): merge revision(s) 7b9476fbfab738d1eb01b4b4c4af9a1680513019: [Backport #17642]
Ractor.allocate should not be allowed
Ractor.allocate and Ractor#dup should not be allowed like Thread.
[Bug #17642]
---
bootstraptest/test_ractor.rb | 18 ++++++++++++++++++
ractor.c ...
naruse (Yui NARUSE)
11:36 AM Revision 6305d1c6 (git): remove invalidated cc
if cc is invalidated, cc should be released from iseq. ko1 (Koichi Sasada)
11:34 AM Bug #17636: Race condition in check_rvalue_consistency_force when using ractors
ruby_3_0 d3863cb2e80f27d26b521b2c957b21feacb900de merged revision(s) 07ab172ebef28bb82c2650694548d123802d6c22. naruse (Yui NARUSE)
11:34 AM Revision d3863cb2 (git): merge revision(s) 07ab172ebef28bb82c2650694548d123802d6c22: [Backport #17636]
sync check_rvalue_consistency_force()
check_rvalue_consistency_force() uses is_pointer_to_heap() and
it should be synchronized with other ractors.
[Bug #17636]
---
gc.c | 149 ++++++++++++++++++++...
naruse (Yui NARUSE)
11:32 AM Bug #17634: Ractor code gives me malloc(): unaligned fastbin chunk detected
ruby_3_0 commit:b49264ab7aa92f64a806857d7e81b3f1cbba5585. naruse (Yui NARUSE)
11:25 AM Bug #17497: Ractor performance issue
ruby_3_0 de6072a22edbaab3793cf7f976cc9e0118d0df40 merged revision(s) abdc634f64a440afcdc7f23c9757d27aab4db8a9,083c5f08ec4e95c9b75810d46f933928327a5ab3,1ecda213668644d656eb0d60654737482447dd92,813fe4c256f89babebb8ab53821ae5eb6bb138c6. naruse (Yui NARUSE)
11:24 AM Revision de6072a2 (git): merge revision(s) abdc634f64a440afcdc7f23c9757d27aab4db8a9,083c5f08ec4e95c9b75810d46f933928327a5ab3,1ecda213668644d656eb0d60654737482447dd92,813fe4c256f89babebb8ab53821ae5eb6bb138c6: [Backport #17497]
remove unused decl
---
internal/vm.h | 6 ------
vm_args.c | 2 --
2 files changed, 8 deletions(-)
Check stack overflow in recursive glob_helper [Bug #17162]
---
dir.c ...
naruse (Yui NARUSE)
11:17 AM Bug #17599: [BUG] try to mark T_NONE object when object allocation tracing is enabled
ruby_3_0 b49264ab7aa92f64a806857d7e81b3f1cbba5585 merged revision(s) 969b824a0c7605e0e570631d967ad0de0c37d0bf,100e464bee46ae71ef048ed85a9bdd012935a3f7. naruse (Yui NARUSE)
11:06 AM Bug #15852: APPLICATION_VERIFIER_LOCKS_LOCK_IN_FREED_HEAP on exiting ruby
ruby_3_0 0074ea2d83230e10ab0cd769fff203c13d3c592f merged revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb. naruse (Yui NARUSE)
12:57 AM Bug #15852: APPLICATION_VERIFIER_LOCKS_LOCK_IN_FREED_HEAP on exiting ruby
`vm->waitpid_lock` and `vm->workqueue_lock` seem never deleted.
`rb_native_mutex_destroy` on them are disabled by `if (0)` in `rb_vm_gvl_destroy()`, and that function is not called from anywhere too.
I have no idea why these calls are ...
nobu (Nobuyoshi Nakada)
11:06 AM Revision 0074ea2d (git): merge revision(s) 2a83650b0fd25719fb6c03bfec7bd895734d3ceb: [Backport #15852]
Destroy VM-wise locks before freeing [Bug #15852]
---
thread.c | 7 -------
vm.c | 2 ++
2 files changed, 2 insertions(+), 7 deletions(-)
naruse (Yui NARUSE)
08:25 AM Revision 05fa06a4 (git): * 2021-03-11 [ci skip]
git[bot]
08:24 AM Revision 04ef602c (git): [rubygems/rubygems] Remote test to check require
This test was triggering require of `rubygems/core_ext/tcpsocket_init`
which overrides TCPSocket.initialize globally. Requires don't get
reset between test runs and it was making other test unreliable.
Fixes timeout of test on ruby mast...
sonalkr132 (Aditya Prakash)
08:24 AM Revision 0476ce03 (git): Merge RubyGems-3.2.14 and Bundler-2.2.14
hsbt (Hiroshi SHIBATA)
08:24 AM Revision 7efc7afc (git): Merge RubyGems-3.2.13 and Bundler-2.2.13
hsbt (Hiroshi SHIBATA)
08:24 AM Revision 06cd5711 (git): Merge RubyGems-3.2.12 and Bundler-2.2.12
hsbt (Hiroshi SHIBATA)
08:24 AM Revision f375bc77 (git): Merge RubyGems-3.2.11 and Bundler-2.2.11
hsbt (Hiroshi SHIBATA)
08:24 AM Revision 38f8b8d0 (git): Merge RubyGems-3.2.10 and Bundler-2.2.10
hsbt (Hiroshi SHIBATA)
07:57 AM Bug #12666: Fatal error: glibc detected an invalid stdio handle
Thx a lot! vo.x (Vit Ondruch)
07:31 AM Bug #17645: `shorten-64-to-32` errors with Clang 11.1.0 for 32-bit targets w.r.t. `time_t` (maybe Y2038?)
I encountered another compilation error of `shorten-64-to-32` for 32-bit musl targets, where `time_t` is 64-bit. A workaround:
```
--- a/thread_sync.c
+++ b/thread_sync.c
@@ -560,7 +560,7 @@ rb_mutex_sleep(VALUE self, VALUE timeout
...
xtkoba (Tee KOBAYASHI)
01:46 AM Revision a6c93a1d (git): Revert "Update bundled_gems"
This reverts commit b37f60fbd4b18f23e0443ae41b2cd7b991f0e11c.
Because test-bundled-gems failed.
znz (Kazuhiro NISHIYAMA)
01:37 AM Misc #17635: DevelopersMeeting20210317Japan
* [Bug #16608] ConditionVariable#wait should return false when timeout exceeded (jeremyevans0)
* @nobu requested review of this during the developer meeting.
* Is it OK to make ConditionVariable#wait return false if timed out inste...
jeremyevans0 (Jeremy Evans)
12:21 AM Revision a6b5d70b (git): Create the test file under the created temporary directory
Fixes https://github.com/ruby/ruby/pull/4255 nobu (Nobuyoshi Nakada)
12:01 AM Bug #17494: ruby is hanged when using activesupport + rspec + rspec-parameterized
One possible workaround for this is a checking for an immediate loop in `resolve_refined_method`:
```diff
diff --git a/vm_method.c b/vm_method.c
index 2573e708ba..ebfe686a27 100644
--- a/vm_method.c
+++ b/vm_method.c
@@ -1245,7 +...
jeremyevans0 (Jeremy Evans)

03/10/2021

10:55 PM Bug #17142 (Closed): Ruby fails to build in AIX
jeremyevans0 (Jeremy Evans)
10:52 PM Bug #17189 (Feedback): test_thread.rb in testsuite deadlocks with musl libc 1.2.1
Can you narrow down which particular test method is causing this issue? That would help narrow down the problem? Even if the problem is not fixable, we could skip that test on musl libc so the test suite doesn't deadlock.
It is expe...
jeremyevans0 (Jeremy Evans)
10:41 PM Bug #6120: Float and BigDecimal bug in remainder in corner cases
I've submitted a pull request to fix this issue for Integer/Float: https://github.com/ruby/ruby/pull/4257
I've submitted an issue to the bigdecimal repository to fix the issue in BigDecimal: https://github.com/ruby/bigdecimal/issues/187
jeremyevans0 (Jeremy Evans)
09:54 PM Bug #12666 (Closed): Fatal error: glibc detected an invalid stdio handle
jeremyevans0 (Jeremy Evans)
08:06 PM Bug #12666 (Assigned): Fatal error: glibc detected an invalid stdio handle
I've added a pull request for this: https://github.com/ruby/fiddle/pull/70 jeremyevans0 (Jeremy Evans)
09:44 PM Revision ef882258 (git): Simplify ibf_dump_object_symbol by delegating to ibf_dump_object_string
byroot (Jean Boussier)
09:44 PM Revision 1041bff3 (git): Add a benchmark for RubyVM::InstructionSequence.load_from_binary
byroot (Jean Boussier)
09:44 PM Revision 2de7fbcd (git): Pre-freeze ISeq names to avoid useless duplication
byroot (Jean Boussier)
09:44 PM Revision d00e7deb (git): Use rb_enc_interned_str in ibf_load_object_string
byroot (Jean Boussier)
09:44 PM Revision 8463c8a4 (git): Specialize ibf_load_object_symbol and ibf_dump_object_symbol
byroot (Jean Boussier)
09:43 PM Revision a03653d3 (git): proc.c: make bind_call use existing callable method entry when possible
The most common use case for `bind_call` is to protect from core
methods being redefined, for instance a typical use:
```ruby
UNBOUND_METHOD_MODULE_NAME = Module.instance_method(:name)
def real_mod_name(mod)
UNBOUND_METHOD_MODULE_NAME...
byroot (Jean Boussier)
08:09 PM Revision d9fea496 (git): Remove cvar overtaken classes at end of test methods
Fixes issues when the same tests are executed more than once,
which some CI machines do.
jeremyevans (Jeremy Evans)
08:07 PM Bug #15718 (Closed): YAML raises error when dumping strings with UTF32 encoding
jeremyevans0 (Jeremy Evans)
08:04 PM Bug #15718: YAML raises error when dumping strings with UTF32 encoding
Thanks for the investigation @jeremyevans0 👍
I'm definitely ok to close this. I don't even recall how I stumbled upon this 😅
marcandre (Marc-Andre Lafortune)
07:11 PM Bug #15718 (Feedback): YAML raises error when dumping strings with UTF32 encoding
I looked into this and ruby YAML uses libyaml, which is a YAML 1.1 implementation. YAML 1.1 does not support UTF-32 encoding; that isn't supported by the YAML spec until YAML 1.2. So I think it is reasonable for `YAML.dump` to raise `E... jeremyevans0 (Jeremy Evans)
07:37 PM Bug #16608: ConditionVariable#wait should return false when timeout exceeded
I've added a pull request that builds on @nobu's pull request, but uses a new method (`Mutex#sleep_for`) instead of making backwards-incompatible changes to `Mutex#sleep`: https://github.com/ruby/ruby/pull/4256 jeremyevans0 (Jeremy Evans)
07:25 PM Bug #14096 (Closed): Psych allows invalid single quote escape character
This has been fixed in libyaml 0.2.1 (released June 2018), and the YAML given by @headius will raise `Psych::SyntaxError` on Ruby versions 1.9-3.0 when used with libyaml 0.2.1+. jeremyevans0 (Jeremy Evans)
05:43 PM Feature #17685 (Feedback): Marshal format for out of band buffer objects
Allow the use of the marshal protocol to transmit large data (objects) from one process or ractor to another, on same machine or multiple machines without extra memory copies of the data.
See Python PEP 574 - https://www.python.org/de...
dsisnero (Dominic Sisneros)
05:40 PM Revision cbc7c1c0 (git): Add cvar overtaken tests
While working on another project we noticed that there were no tests for
the cvar overtaken exception when using classes. This change adds a test
for cvar overtaken with classes and moves the cvar overtaken test for
modules into the new ...
eileencodes (Eileen Uchitelle)
05:39 PM Revision 23a48d8f (git): Refactor `rb_class_ivar_set`
In every caller of `rb_class_ivar_set` it checks for the `RCLASS_IV_TBL`
and then creates it if it doesn't exist. Instead of repeating this in
every caller, this can be done once in `rb_class_ivar_set`.
eileencodes (Eileen Uchitelle)
05:38 PM Revision 9cdb5a51 (git): * 2021-03-11 [ci skip]
git[bot]
05:38 PM Revision 9d0ae387 (git): Remove DEFINED_IVAR2 from enum
This version of defined? doesn't seem to be possible to emit anymore. jhawthorn (John Hawthorn)
05:27 PM Bug #14716: SecureRandom throwing an error in Ruby 2.5.1
xtkoba (Tee KOBAYASHI) wrote in #note-19:
> To my understanding, the problem is that when `Random.urandom` failed to use `/dev/urandom` it does not fall back to using an OpenSSL function even if it is available.
Ah, thank you, that i...
jeremyevans0 (Jeremy Evans)
04:38 PM Bug #14716: SecureRandom throwing an error in Ruby 2.5.1
To my understanding, the problem is that when `Random.urandom` failed to use `/dev/urandom` it does not fall back to using an OpenSSL function even if it is available.
However, this issue seems no longer to happen on recent Linux syst...
xtkoba (Tee KOBAYASHI)
04:01 PM Bug #14716: SecureRandom throwing an error in Ruby 2.5.1
If SecureRandom requires a file descriptor to work, I think it should be expected to raise an exception if a file descriptor is not available. After all, it's not a bug when File.open raises an exception because a file descriptor is not... jeremyevans0 (Jeremy Evans)
10:53 AM Bug #14716: SecureRandom throwing an error in Ruby 2.5.1
I can reproduce this issue with Ruby 3.0.0p0 on my old Android phone by artificially opening a lot of files.
The reproducer code (named `bug14716.rb`):
```ruby
require 'securerandom'
a = []
1017.times { a.push File.open '/' }
...
xtkoba (Tee KOBAYASHI)
12:23 AM Bug #14716 (Feedback): SecureRandom throwing an error in Ruby 2.5.1
Can anyone prepare a reproducible example of this happening with Ruby 2.7 or 3.0 (Ruby 2.6 goes into security maintenance at the end of the month)? I think many of the reported failures with Ruby 2.5 and 2.6 could be due to the file des... jeremyevans0 (Jeremy Evans)
03:41 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
I disagree on removing this option, I don't think the benefits of removing it are strong enough, even if it didn't make any difference in performance. deivid (David Rodríguez)
02:53 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
I'd love to see this clarified. IMO, there should be other ways to manage `$LOAD_PATH` then RubyGems. For such use cases, this option is useful IMO. vo.x (Vit Ondruch)
01:35 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
Will we be able to re-enable the `--disable-gems` option when we build `ruby` from source code? I think it is useful for narrowing problems down. For that purpose it might be sufficient that `miniruby` does not depend on Gems, though.
...
xtkoba (Tee KOBAYASHI)
01:21 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
I don't have anything invested in this myself, but just for information to help the discussion, here's two examples of apps that use the option
* https://github.com/Shopify/shopify-app-cli/blob/master/bin/shopify
* https://github.com...
chrisseaton (Chris Seaton)
01:02 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
chrisseaton (Chris Seaton) wrote in #note-1:
> How should people who were using it for performance migrate off the option?
`--disable-gems` should be just ignored in the future version, and the performance will be degraded.
naruse (Yui NARUSE)
01:00 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
Agreed. Unfortunately this increases the cost of development to support `--disable-gems`.
In other words, this feature breaks the assumption that every Ruby has RubyGems.
This feature should be removed.
naruse (Yui NARUSE)
12:59 PM Feature #17684: Remove `--disable-gems` from release version of Ruby
How should people who were using it for performance migrate off the option? chrisseaton (Chris Seaton)
12:51 PM Feature #17684 (Assigned): Remove `--disable-gems` from release version of Ruby
In my understand, `--disable-gems` is only debugging feature for ruby-core team.
But some users enabled its option in test environment for performance or etc. So, `--disable-gems` option is wrong usage for some users.
* https://git...
hsbt (Hiroshi SHIBATA)
01:31 PM Feature #17674: Proposal: `Method#source_location` or `Method#owner` for refined methods
hi.
In Ruby 2.7 and later, `#method` supports Refinements.
```ruby
# test.rb
module Cover
refine Range do
def cover?(value)
return super unless value.is_a?(Range)
super(value.first) && super(value.last)
...
osyo (manga osyo)
01:13 PM Revision 4c80b9d0 (git): Fix `coroutine_type` variable name
nobu (Nobuyoshi Nakada)
01:10 PM Misc #17635: DevelopersMeeting20210317Japan
* [Feature #17684] Remove `--disable-gems` from release version of Ruby
* Recently this increases the cost of the ecosystem
naruse (Yui NARUSE)
10:37 AM Revision b37f60fb (git): Update bundled_gems
znz (Kazuhiro NISHIYAMA)
09:40 AM Misc #17683 (Open): Current status of beginless range (experimental or not)
A beginless range was experimentally introduced in Ruby 2.7.0:
https://github.com/ruby/ruby/blob/v2_7_0/NEWS#label-Other+miscellaneous+changes
Is it still experimental feature or not?
jnchito (Junichi Ito)
06:27 AM Feature #14643 (Closed): Remove problematic separator '\0' of Dir.glob and Dir.[]
mame (Yusuke Endoh)

03/09/2021

11:59 PM Revision 67b79997 (git): * 2021-03-10 [ci skip]
git[bot]
11:55 PM Bug #17508 (Closed): io-console versioning
I created a pull request to backport the remaining changes in io-console 0.5.7 from master to the ruby_3_0 branch: https://github.com/ruby/ruby/pull/4252 jeremyevans0 (Jeremy Evans)
10:41 PM Feature #15517 (Assigned): Net::HTTP not recognizing valid UTF-8
I've submitted a pull request (https://github.com/ruby/net-http/pull/17) that takes the patch provided by @naruse in #2567 and modifies it to be opt-in in a backwards compatible manner. It also fixes various issues with the patch and ad... jeremyevans0 (Jeremy Evans)
03:12 PM Feature #17682 (Open): String#casecmp performance improvement
I've submitted a PR with up to 27x speedup for `String#casecmp`: https://github.com/ruby/ruby/pull/4133
According to [HowToContribute][1] it looks like I was supposed to create a ticket for "non-tiny" fixes so I'm now doing this.
One...
Dan0042 (Daniel DeLorme)
02:05 PM Revision f0b3700d (git): Given argument does not need to cache
nobu (Nobuyoshi Nakada)
11:36 AM Revision 5f821ee9 (git): Recheck ucontext functions to make reconfig stable
nobu (Nobuyoshi Nakada)
11:11 AM Bug #15852 (Closed): APPLICATION_VERIFIER_LOCKS_LOCK_IN_FREED_HEAP on exiting ruby
Applied in changeset commit:git|2a83650b0fd25719fb6c03bfec7bd895734d3ceb.
----------
Destroy VM-wise locks before freeing [Bug #15852]
nobu (Nobuyoshi Nakada)
11:11 AM Revision 2a83650b (git): Destroy VM-wise locks before freeing [Bug #15852]
nobu (Nobuyoshi Nakada)
09:10 AM Bug #17583: Segfault on large stack(RUBY_THREAD_VM_STACK_SIZE)
Does this work?
https://github.com/nobu/ruby/tree/disable-gc-while-VM-bootsrap
nobu (Nobuyoshi Nakada)
04:22 AM Bug #10961 (Closed): Zlib corrupts data when receive signal
Applied in changeset commit:git|0c5f8c62766afe4605172800063e63fe36996658.
----------
[ruby/zlib] Resume zstream if available [Bug #10961]
wanabe (_ wanabe)
04:19 AM Revision 7110795f (git): * 2021-03-09 [ci skip]
git[bot]
04:19 AM Revision 0c5f8c62 (git): [ruby/zlib] Resume zstream if available [Bug #10961]
wanabe (_ wanabe)
02:37 AM Bug #17676: Accessing ENV from Ractor raises IsolationError
I agree `ENV` should be shareable.
It is in my task list, but not high priority.
ko1 (Koichi Sasada)
12:43 AM Bug #17676 (Assigned): Accessing ENV from Ractor raises IsolationError
hsbt (Hiroshi SHIBATA)
01:36 AM Feature #17679: Ractor incoming channel can consume unlimited resources
It's not clear to me that this should be implemented at the Ractor level.
Both suggested approaches can be handled in Ruby, for example using an intermediary Ractor...
```ruby
DONE = Object.new.freeze
MIDDLEMAN = Ractor.new do
...
marcandre (Marc-Andre Lafortune)
12:42 AM Feature #17679 (Assigned): Ractor incoming channel can consume unlimited resources
hsbt (Hiroshi SHIBATA)
12:42 AM Bug #17678 (Assigned): Ractors do not restart after fork
hsbt (Hiroshi SHIBATA)
12:42 AM Bug #17677 (Assigned): Ractor crashes fork when blocking
hsbt (Hiroshi SHIBATA)
12:31 AM Bug #17680: tab completion no longer works on irb3.0
I could not reproduce the old version behaviour. I got back to irb 1.1.0 and the autocomplete behaviour is the same as the version 1.3.4. My steps:
$ touch linking.rb
$ touch list_load.rb
$ touch list_load_OLD.rb
$ irb
2.5.0 :001 ...
crocarneiro (Carlos Carneiro)

03/08/2021

11:35 PM Bug #13513: Resolv::DNS::Message.decode hangs after detecting truncation in UDP messages
I've confirmed this bug is still present in the current resolv library, and have submitted a patch to fix it: https://github.com/ruby/resolv/pull/6 jeremyevans0 (Jeremy Evans)
07:00 PM Bug #17681 (Closed): irb3.0 exits after "source" command
jeremyevans0 (Jeremy Evans)
06:53 PM Bug #17681: irb3.0 exits after "source" command
Now resolved; I needed to update irb by gem3.0 install irb. simondedeo (Simon DeDeo)
06:42 PM Bug #17681 (Closed): irb3.0 exits after "source" command
in contrast to previous versions of irb, irb3.0 exits (with "nil") on executing a "source". Here's an example:
ayerie:simon$ cat > test.rb
print "hello"
ayerie:simon$ irb3.0
irb(main):001:0" source "test.rb"
test.rb(main):002:...
simondedeo (Simon DeDeo)
06:24 PM Bug #17680 (Closed): tab completion no longer works on irb3.0
in irb2.5:
rb(main):001:0> source 'li [then I hit tab...]
linking.rb list_load.rb list_load_OLD.rb
irb(main):001:0> source 'lis [then I hit tab again...]
list_load.rb list_load_OLD.rb
irb(main):001:0> source '...
simondedeo (Simon DeDeo)
04:22 PM Feature #17679 (Assigned): Ractor incoming channel can consume unlimited resources
## Background
In the [ddtrace](https://github.com/DataDog/dd-trace-rb) gem, we want to move telemetry trace sending to a separate background Ractor. We’re concerned that if something goes wrong/gets delayed in this background Ractor, ...
marcotc (Marco Costa)
04:19 PM Bug #17678 (Closed): Ractors do not restart after fork
Hello there! I'm working at Datadog on the `ddtrace` gem -- <https://github.com/DataDog/dd-trace-rb> and we're experimenting with using Ractors in our library but run into a few issues.
### Background
When running a Ractor as a bac...
ivoanjo (Ivo Anjo)
04:19 PM Bug #17677 (Closed): Ractor crashes fork when blocking
## Background
If you create a Ractor which blocks (e.g. `receive`), then fork the process, the fork will segfault upon completion.
## How to reproduce
```ruby
r2 = Ractor.new do
Ractor.receive
end

sleep(1)

puts "Fork...
delner (David Elner)
04:12 PM Bug #17676 (Closed): Accessing ENV from Ractor raises IsolationError
## Background
Accessing ENV variables from a Ractor will raise Ractor::IsolationError, as the Hash is non-shareable.
## How to reproduce
``` ruby
ractor = Ractor.new do
ENV['PATH']
end

ractor.take
```
## Expectation ...
delner (David Elner)
08:46 AM Revision e85bffc3 (git): Increment global variables atomically
nobu (Nobuyoshi Nakada)
08:46 AM Revision b7d4dcf3 (git): Make vm_exit_handler installation MT-safe
nobu (Nobuyoshi Nakada)
08:46 AM Revision 9299703b (git): Make uenvarea thread exclusive
nobu (Nobuyoshi Nakada)
08:46 AM Revision 8c943e3b (git): Make the flag in thread_exclusive unique
nobu (Nobuyoshi Nakada)
08:45 AM Revision 1a004029 (git): Enclose crtitical sections in `thread_exclusive` block
nobu (Nobuyoshi Nakada)
08:41 AM Bug #17673: sysseek(0) and '1A' in header return "EOFError (end of file reached)"
This is not specific to Ruby, but the very (in)famous text mode spec of Windows (and other dosish systems). nobu (Nobuyoshi Nakada)
08:12 AM Misc #17662: The heredoc pattern used in tests does not syntax highlight correctly in many editors
Okay, the style is an intentional hack to trick the editors into syntax-highlinting and auto-indenting the code within the heredoc. I didn't know, but it makes sense to me.
I investigated the syntax highlighting behavior of GitHub. Th...
mame (Yusuke Endoh)
07:37 AM Misc #17662: The heredoc pattern used in tests does not syntax highlight correctly in many editors
Also, does auto indentation work inside `<<~RUBY` as `begin;`...`end;` hack? nobu (Nobuyoshi Nakada)
07:30 AM Misc #17662: The heredoc pattern used in tests does not syntax highlight correctly in many editors
I don't mind to transfer to `<<~RUBY` if ruby-mode.el supporting it gets released.
BTW, what editors support it?
nobu (Nobuyoshi Nakada)
08:04 AM Revision d10b5358 (git): test/ruby/test_string.rb: make GitHub syntax-highlight correctly
It looks like GitHub syntax-highlighting does not support an empty
heredoc. This change adds a newline to make GitHub can handle the syntax
appropriately.
https://bugs.ruby-lang.org/issues/17662
mame (Yusuke Endoh)
05:37 AM Bug #17643 (Rejected): Ruby 3 embedded - no GC methods?
You don't call `ruby_options`.
And the `argv` made in this part is wrong.
> ```c
> ...
nobu (Nobuyoshi Nakada)
04:47 AM Revision 7de349bb (git): [rubygems/rubygems] Remote test to check require
This test was triggering require of `rubygems/core_ext/tcpsocket_init`
which overrides TCPSocket.initialize globally. Requires don't get
reset between test runs and it was making other test unreliable.
Fixes timeout of test on ruby mast...
sonalkr132 (Aditya Prakash)
04:47 AM Revision 53468cc1 (git): Sync latest development version of bundler & rubygems
deivid (David Rodríguez)
04:47 AM Revision 2ab6b7a7 (git): Remove no longer needed globs
deivid (David Rodríguez)
04:39 AM Revision 602d09a1 (git): Suppress useless default branch name hint [ci skip]
nobu (Nobuyoshi Nakada)
03:10 AM Revision b1f375cc (git): Removed HEAD^2 checkout to suppress a CodeQL annotation [ci skip]
nobu (Nobuyoshi Nakada)
02:47 AM Bug #17675 (Closed): StringIO#each_byte doesn't check for readabilty while iterating
Applied in changeset commit:git|32a13591e0bb6e96b05452e214f14eda21ee3aa9.
----------
[ruby/stringio] Check if closed in loop
[Bug #17675] https://bugs.ruby-lang.org/issues/17675
https://github.com/ruby/stringio/commit/1ed61d0cbc
nobu (Nobuyoshi Nakada)
02:08 AM Misc #17641: pocke should have a commit bit
I agree.
Matz.
matz (Yukihiro Matsumoto)
01:13 AM Revision 32a13591 (git): [ruby/stringio] Check if closed in loop
[Bug #17675] https://bugs.ruby-lang.org/issues/17675
https://github.com/ruby/stringio/commit/1ed61d0cbc
nobu (Nobuyoshi Nakada)
01:12 AM Revision 99f54c08 (git): [ruby/stringio] Use Gemfile instead of Gem::Specification#add_development_dependency.
https://github.com/ruby/stringio/commit/157fe9f04d hsbt (Hiroshi SHIBATA)
01:08 AM Revision d0a05fd4 (git): Fixed FD leaks
nobu (Nobuyoshi Nakada)
01:03 AM Revision 8aa70b9b (git): * 2021-03-08 [ci skip]
git[bot]
12:35 AM Revision 0d29c317 (git): [ruby/stringio] Include all modules included into Test::Unit::TestCase
Some methods are separated into modules in test-unit now.
https://github.com/ruby/stringio/commit/d289848994
nobu (Nobuyoshi Nakada)
12:35 AM Revision 21e25591 (git): [ruby/stringio] Pass IOs as separate list for ruby 2.x
https://github.com/ruby/stringio/commit/74e39858eb nobu (Nobuyoshi Nakada)
12:34 AM Revision c3c18007 (git): Prefer to use omit
hsbt (Hiroshi SHIBATA)
 

Also available in: Atom