Project

General

Profile

Activity

From 02/03/2023 to 02/09/2023

02/09/2023

11:10 PM Feature #19347: Add Dir.fchdir
matz (Yukihiro Matsumoto) wrote in #note-6:
> I agree with having `Dir.for_fd` and `Dir#chdir` as well. If the assumed use-case is handling a file descriptor sent via UNIX domain socket, allowing `chdir` only is not sufficient. We shoul...
jeremyevans0 (Jeremy Evans)
07:32 AM Feature #19347: Add Dir.fchdir
I agree with having `Dir.for_fd` and `Dir#chdir` as well. If the assumed use-case is handling a file descriptor sent via UNIX domain socket, allowing `chdir` only is not sufficient. We should allow other directory-related operations via ... matz (Yukihiro Matsumoto)
10:04 PM Revision 2c8e4aa2 (git): YJIT: format numbers in stats printouts with comma separators (#7281)
maximecb (Maxime Chevalier-Boisvert)
09:28 PM Feature #19428 (Open): Adding a "piped heredoc" feature

Hello,
I hope this is the correct place to post a small feature request.
HEREDOC's are awesome! There are several used within Ruby:
```ruby
<<END
Have to left justify this
END
<<-INDENTED
Still left justified, but i...
shreeve (Steve Shreeve)
08:14 PM Revision 810aeb2d (git): YJIT: optimized codegen for `rb_ary_empty_p` (WIP) (#7242)
* YJIT: add specialized implementation of rb_ary_empty_p()
* Update yjit/src/codegen.rs
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
maximecb (Maxime Chevalier-Boisvert)
08:04 PM Feature #19388 (Rejected): Deprecate SecurityError
jeremyevans0 (Jeremy Evans)
06:51 PM Feature #19388: Deprecate SecurityError
TruffleRuby still uses this exception class, notably when something is not allowed in "GraalVM Context permissions" such as "not allowed to create thread"/"not allowed to use native libraries"/"not allowed to use Java interop"/etc.
(ful...
Eregon (Benoit Daloze)
07:40 AM Feature #19388: Deprecate SecurityError
The original intention of `SecurityError` was the errors from taint checks. So most usages of it are misused (including core implementation).
But at the same time, I don't want to punish existing code by removing it. So we keep it for t...
matz (Yukihiro Matsumoto)
08:02 PM Revision d6208551 (git): Rename rb_str_splice_{0,1} -> rb_str_update_{0,1}
eightbitraptor (Matt V-H)
08:02 PM Revision 601b83dc (git): Remove alias macro rb_str_splice
eightbitraptor (Matt V-H)
07:28 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
> `deep_freeze`
As always the tricky part it circular references etc. But I guess in the case of freeze it's easy to use the frozen flag can be used to void cycles.
byroot (Jean Boussier)
07:12 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
If we had (in-place) `deep_freeze` or even just an internal version of it, we could call that after `_load`/`marshal_load` and then it would really be deeply frozen.
And that could be efficient by using a flag on objects for "deeply fro...
Eregon (Benoit Daloze)
07:11 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
byroot (Jean Boussier) wrote in #note-4:
> I don't think we can do much about the `_dump` and other callbacks.
Couldn't we at least freeze 1) the object returned by `_load` and 2) the receiver of `marshal_load` after calling `marshal_l...
Eregon (Benoit Daloze)
06:49 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
I don't think we can do much about the `_dump` and other callbacks.
However I'll try to have a look at the extended objects.
byroot (Jean Boussier)
06:39 PM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
cc @byroot which implemented this in #18148 Eregon (Benoit Daloze)
04:10 PM Bug #19427 (Closed): Marshal.load(source, freeze: true) doesn't freeze in some cases
I've noticed that the `freeze` option doesn't work in the following cases:
- when dumped object extends a module
- when dumped object responds to `#marshal_dump` and `#marshal_load` methods
- when dumped object responds to `#_dump` me...
andrykonchin (Andrew Konchin)
07:24 PM Revision b9e65801 (git): Copy cvar table on clone
When a class with a class variable is cloned we need to also copy the
cvar cache table from the original table to the clone. I found this bug
while working on fixing [Bug #19379]. While this does not fix that bug
directly it is still a r...
eileencodes (Eileen Uchitelle)
04:38 PM Revision 0ddf29f4 (git): Remove unused preprocessor block
peterzhu2118 (Peter Zhu)
04:15 PM Feature #19324: Enumerator.product => Enumerable#product
@knu Sorry, I might miss some context.
What's the problem with just straightforwardly introducing `Enumerable#product` (which would be redefined in `Array`), the same as it is with many other `Enumerable` methods?..
zverok (Victor Shepelev)
04:12 PM Feature #19324: Enumerator.product => Enumerable#product
Array#product has been there for years and is used a lot. What are the steps to introduce Enumerable#product without bringing confusion? knu (Akinori MUSHA)
03:41 PM Revision 381bdee1 (git): YJIT: Support invokesuper in a block (#7264)
Support invokesuper in a block on YJIT
invokesuper previously side exited when it is in a block. To make sure we're compiling the correct method in super, we now use the local environment pointer (LEP) to get the method, which will work...
Maple Ong
03:38 PM Bug #19400 (Closed): YJIT fails to boot on ARM64 systems with 64 KiB pages
Applied in changeset commit:git|b78f871d838c168789648738e5c67b071beb8a19.
----------
YJIT: Use the system page size when the code page size is too small (#7267)
Previously on ARM64 Linux systems that use 64 KiB pages
(`CONFIG_ARM64_64K...
alanwu (Alan Wu)
03:38 PM Revision 0601ba6a (git): YJIT: Add counter for megamorphic send (#7274)
k0kubun (Takashi Kokubun)
03:34 PM Revision b78f871d (git): YJIT: Use the system page size when the code page size is too small (#7267)
Previously on ARM64 Linux systems that use 64 KiB pages
(`CONFIG_ARM64_64K_PAGES=y`), YJIT was panicking on boot due to a failed
assertion.
The assertion was making sure that code GC can free the last code page
that YJIT manages without...
alanwu (Alan Wu)
03:33 PM Revision 970e7cde (git): [ruby/irb] Make tests more compatible with TruffleRuby
(https://github.com/ruby/irb/pull/514)
* Improve encoding error test case
The test input IRB currently uses happen to hit a compatibility bug in
TruffleRuby, which has been documented in
https://github.com/oracle/truffleruby/issues/284...
st0012 (Stan Lo)
03:32 PM Bug #19425 (Closed): Merge the internal only "private" GC headers together
Applied in changeset commit:git|72aba64fff09a829bfaf41165d0075066f087185.
----------
Merge gc.h and internal/gc.h
[Feature #19425]
eightbitraptor (Matt V-H)
09:18 AM Bug #19425: Merge the internal only "private" GC headers together
No problem.
ko1 (Koichi Sasada)
03:32 PM Revision 72aba64f (git): Merge gc.h and internal/gc.h
[Feature #19425] eightbitraptor (Matt V-H)
03:16 PM Revision e2b6289b (git): YJIT: Add counters for ivar exits (#7266)
k0kubun (Takashi Kokubun)
02:35 PM Bug #19426 (Open): Endless `Range#step` of object with `#succ` method does not work
nobu (Nobuyoshi Nakada)
02:18 PM Bug #19426: Endless `Range#step` of object with `#succ` method does not work
Sorry that I merged the PR before seeing the reply.
With the same object, `Range#each` works as expected.
```ruby
(c..).each do |d|
p d.i
break if d.i > 3
end
```
This is because `c` is not compared against `nil` first....
nobu (Nobuyoshi Nakada)
01:54 PM Bug #19426 (Closed): Endless `Range#step` of object with `#succ` method does not work
Error was caused because the definition of `<=>` does not conform to the expectation that it should return `nil` for incomparable objects.
Matz.
matz (Yukihiro Matsumoto)
11:33 AM Bug #19426 (Closed): Endless `Range#step` of object with `#succ` method does not work
Consider this `c` object which hash `#succ` method.
```ruby
c = Struct.new(:i) do
def succ; self.class.new(i+1); end
def <=>(other) i <=> other.i;end
end.new(0)
```
This `Range#step` works.
```ruby
(c..c.succ).step(1) ...
nobu (Nobuyoshi Nakada)
11:37 AM Revision da4464b8 (git): [Bug #19426] Fix endless `Range#step` with `#succ` method
nobu (Nobuyoshi Nakada)
10:55 AM Feature #19179: Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
Your PR has some `Socket::Credentials` class methods which are not in your proposal.
Why are `from_` methods needed as Ruby level methods?
nobu (Nobuyoshi Nakada)
10:29 AM Revision 8edd350b (git): [rubygems/rubygems] Avoid crashing with a corrupted lockfile
I did a bad thing (script that edits the Gemfile.lock directly) and
ended up with a Gemfile.lock that was completely missing some indirect
dependencies. While this is my fault and an error is reasonable, I
noticed that the error got prog...
dodecadaniel (Daniel Colson)
10:21 AM Revision 0a8faab5 (git): Avoid to duplicate entries that own redmine and github ids
hsbt (Hiroshi SHIBATA)
10:21 AM Revision b49cd843 (git): Remove `REG_LITERAL` flag
All `Regexp` literals are frozen now. nobu (Nobuyoshi Nakada)
09:52 AM Revision 5991af20 (git): Added helper script for generate github releases
hsbt (Hiroshi SHIBATA)
09:32 AM Feature #18368: Range#step semantics for non-Numeric ranges
Thanks @matz I'll be working on the implementation. zverok (Victor Shepelev)
05:07 AM Feature #18368: Range#step semantics for non-Numeric ranges
I accept solution 2, which someone may specify an array or a set for the range edge, and get an unnatural result. I consider it is the responsibility of the user.
Matz.
matz (Yukihiro Matsumoto)
09:30 AM Feature #19362: #dup on Proc doesn't call initialize_dup
@nobu Thanks! Will this PR be merged? (I secretly hoped to have it in 3.2.1 :))) zverok (Victor Shepelev)
09:26 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
@matz Thanks for your answer. I'll gather more evidence/real-life examples and will adjust the proposal.
My main concern though was not as much some particular usage but general awareness of the difference between the two types of enu...
zverok (Victor Shepelev)
05:48 AM Feature #19061: Proposal: make a concept of "consuming enumerator" explicit
Regarding the concrete proposals:
1. Introduce an `Enumerator#consuming?` method
The consuming information is not reliable especially with I/O (some IO may not be rewindable, but lseek(2) may not return error for the IO, e.g....
matz (Yukihiro Matsumoto)
08:02 AM Feature #17753: Add Module#namespace
> When you assign an integer to a constant, it's just storage. If you assign a class or module object with a name, it's just storage. However, assigning an anonymous class or module object changes the state, it has a side-effect that is ... shioyama (Chris Salzberg)
06:22 AM Bug #19283 (Closed): Regex error on ruby 3.2
hsbt (Hiroshi SHIBATA)
06:15 AM Bug #19283: Regex error on ruby 3.2
This error is resolved by releasing ruby 3.2.1. I really appreciate it. Sho (Shohei Nakano)
05:51 AM Feature #19272 (Rejected): Hash#merge: smarter protocol depending on passed block arity
It looks nice at the first sight but may cause the compatibility issue as @Eregon mentioned.
Matz.
matz (Yukihiro Matsumoto)

02/08/2023

10:20 PM Revision 728d2f80 (git): [rubygems/rubygems] Improve wording of unmet dependencies warning
`trying to manually editing` doesn't seem quite grammatically
correct. We could change it to `trying to manually edit` (is that a
split infinitive?), but I don't think `trying to` adds much here so
I've removed it instead so `editing` is...
dodecadaniel (Daniel Colson)
08:57 PM Bug #19394: cvars in instance of cloned class point to source class's cvars even after class_variable_set on clone
The fix ended up being a bit more involved. We needed two PRs.
One to copy the CVAR table on clone: https://github.com/ruby/ruby/pull/7275
And one to check the cref and not read from the cache if they differ (ie is the cloned class):...
eileencodes (Eileen Uchitelle)
05:43 PM Revision 861d70e3 (git): Rename iseq_mark_and_update to iseq_mark_and_move
The new name is more consistent. peterzhu2118 (Peter Zhu)
03:09 PM Bug #19425 (Closed): Merge the internal only "private" GC headers together
Github PR: [7273](https://github.com/ruby/ruby/pull/7273)
Currently we have 4 headers named `gc.h`
* `gc.h`
* `internal/gc.h`
* `include/ruby/internal/gc.h`
* `include/ruby/internal/intern/gc.h`
The first two are private and ...
eightbitraptor (Matt V-H)
11:15 AM Revision 6aa19614 (git): [DOC] Refine/fix doc/contributing/building_ruby.md [ci skip]
* Separate dependencies for RubyGems
* Add reasons of optional libraries
* Add a note for gperf and fix the required version
nobu (Nobuyoshi Nakada)
10:52 AM Revision 3a0f6ce1 (git): Use Thread.pass until thread.stop? to wait for thread to block
[Bug #19415]
It should be more reliable
byroot (Jean Boussier)
10:01 AM Feature #17753: Add Module#namespace
Let me reword that last remark about "the Ruby model suffers just a little bit".
Ruby objects and variables behave the same. But constants are not as orthogonal and generic:
1. When you assign an integer to a constant, it's just storag...
fxn (Xavier Noria)
07:54 AM Feature #17753: Add Module#namespace
Yeah, I believe the feature makes sense and can be useful, and the proposed implementation that keeps a pointer is well-defined (vs what AS does). Also consistent with `Module#name`, as you said.
My observations above were more relate...
fxn (Xavier Noria)
03:41 AM Feature #17753: Add Module#namespace
This has been quiet for a while, but despite the reservations expressed I'd really like to see it implemented.
I don't personally really like `namespace` as a name either, because of its usage in other places. It's been mentioned, but w...
shioyama (Chris Salzberg)
09:08 AM Bug #19415 (Closed): Incorrect circularity warning for concurrent requires
byroot (Jean Boussier)
08:51 AM Bug #19415: Incorrect circularity warning for concurrent requires
Fixed by 8ce2fb9bbbaea14737c84385b1573f743a30f773 byroot (Jean Boussier)
08:24 AM Bug #19415 (Open): Incorrect circularity warning for concurrent requires
byroot (Jean Boussier)
08:06 AM Bug #19415 (Closed): Incorrect circularity warning for concurrent requires
byroot (Jean Boussier)
09:00 AM Bug #19424 (Closed): Significant performance decreases in `OpenStruct#marshal_load` in Ruby 3.0 and 3.1
I can see degradation in **Marshal load** only in Ruby 3.1.2 compared to 2.7.4
Processing time increased by 200%(2.4 sec to 4.3 sec)
Memory allocation increased by 600%(6500001 to 39000004)
```
require 'benchmark'
require 'ostruct...
sumitdey035 (Sumit Dey)
09:00 AM Revision 63e1769b (git): Add TAGS rule [ci skip]
nobu (Nobuyoshi Nakada)
08:57 AM Misc #19421: Distribution documentation
duerst (Martin Dürst) wrote in #note-12:
> > * Why gperf? I am not aware I'd need this for anything creating the tarball via make-snapshot or using the tarball directly.
> ...
It is used also for lex.c, enc/jis/props.h and a couple of ...
nobu (Nobuyoshi Nakada)
05:48 AM Misc #19421: Distribution documentation
vo.x (Vit Ondruch) wrote in #note-8:
> hsbt (Hiroshi SHIBATA) wrote in #note-2:
> ...
That's used for creating 'enc/unicode/15.0.0/name2ctype.h' (15.0.0 is different for different Unicode versions).
The generation happens maybe once a...
duerst (Martin Dürst)
08:50 AM Revision 8ce2fb9b (git): Only emit circular dependency warning for owned thread shields
[Bug #19415]
If multiple threads attemps to load the same file concurrently
it's not a circular dependency issue.
So we check that the existing ThreadShield is owner by the current
fiber before warning about circular dependencies.
Jean byroot Boussier
08:49 AM Feature #19423 (Open): IXDTF (Internet Extended Date/Time format) support
This is a reminder ticket.
duerst (Martin Dürst) wrote in [Misc #19096#note-10]:
> I'm not sure whether and how much this is relevant, but please note that the Sedate WG in the IETF has a draft (https://www.ietf.org/archive/id/draft-...
nobu (Nobuyoshi Nakada)
08:38 AM Misc #19096: [Question] Time with `-00:00` offset is in UTC
duerst (Martin Dürst) wrote in #note-10:
> I'm not sure whether and how much this is relevant, but please note that the Sedate WG in the IETF has a draft (https://www.ietf.org/archive/id/draft-ietf-sedate-datetime-extended-07.html, clos...
nobu (Nobuyoshi Nakada)
08:26 AM Revision 3ab34551 (git): Add RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS to pre-init pools granularly
The old RUBY_GC_HEAP_INIT_SLOTS isn't really usable anymore as
it initalize all the pools by the same factor, but it's unlikely
that pools will need similar sizes.
In production our 40B pool is 5 to 6 times bigger than our 80B pool.
byroot (Jean Boussier)
08:23 AM Misc #19357: DevMeeting-2023-02-09
* [Feature #10343] Postfix notations for `when` and `else` inside `case` statement (sawa)
* Allow `foo when condition` within case-statements.
* Has not received feedback for eight years.
sawa (Tsuyoshi Sawada)
06:36 AM Revision 6e799014 (git): Removed svn feature from make-snapshot
hsbt (Hiroshi SHIBATA)
06:34 AM Bug #18169 (Closed): Local copies of gemified libraries are being released out of sync with their gems
In Ruby 3.2, I completely sync default gems and ruby release code. But Ruby 3.1 and 3.0 are still work in progress. I'll working to fix out-of-sync statuses with @headius on each repository. hsbt (Hiroshi SHIBATA)
06:30 AM Misc #19276 (Third Party's Issue): It is not possible to reply to emails from redmine
We should move this to https://github.com/ruby/b.r-l.o/issues/175 hsbt (Hiroshi SHIBATA)
04:02 AM Revision 31819e82 (git): v3.2.1
naruse (Yui NARUSE)
03:35 AM Revision a56d959e (git): Replace `PACKED_STRUCT` and `PACKED_STRUCT_UNALIGNED`
nobu (Nobuyoshi Nakada)
03:35 AM Revision fefe37f9 (git): Replace `PACKED_STRUCT` in include
nobu (Nobuyoshi Nakada)
03:34 AM Revision 899ea350 (git): Extract include/ruby/internal/attr/packed_struct.h
Split `PACKED_STRUCT` and `PACKED_STRUCT_UNALIGNED` macros into the
macros bellow:
* `RBIMPL_ATTR_PACKED_STRUCT_BEGIN`
* `RBIMPL_ATTR_PACKED_STRUCT_END`
* `RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED_BEGIN`
* `RBIMPL_ATTR_PACKED_STRUCT_UNALIGNED...
nobu (Nobuyoshi Nakada)

02/07/2023

09:33 PM Revision 1e711439 (git): Use more agressive RUBY_GC_HEAP_OLDOBJECT_LIMIT_FACTOR for GC tests
byroot (Jean Boussier)
09:33 PM Revision 4713b084 (git): Revert "Revert "Consider DATA objects without a mark function as protected""
This reverts commit 6eae8e5f514db716e52ad06a2ac97e2cc3910d83. Jean byroot Boussier
09:12 PM Revision fd71a76f (git): [rubygems/rubygems] Add Ruby 3.2 and 3.3 platforms to Gemfile DSL
Along the same lines as https://github.com/rubygems/rubygems/pull/5469,
this adds support for Ruby 3.2 and 3.3 platforms: `:ruby_32`, `mri_32`,
etc.
It also includes a spec that should help catch this earlier in the
future, failing if w...
dodecadaniel (Daniel Colson)
09:03 PM Revision 23052e00 (git): * remove trailing spaces. [ci skip]
git[bot]
09:03 PM Revision 1c0127ed (git): Make Time objects WB protected
Co-Authored-By: Jean Boussier <byroot@ruby-lang.org> peterzhu2118 (Peter Zhu)
09:03 PM Revision e9090eb6 (git): Remove unused code in time.c
Co-Authored-By: Jean Boussier <byroot@ruby-lang.org> peterzhu2118 (Peter Zhu)
08:53 PM Bug #19394: cvars in instance of cloned class point to source class's cvars even after class_variable_set on clone
I've pushed a fix up to github https://github.com/ruby/ruby/pull/7265. We added a cref to the cvar cache that we can check if it's the same as the cref we have. If they are different we shouldn't read from the cache. eileencodes (Eileen Uchitelle)
08:18 PM Feature #19272: Hash#merge: smarter protocol depending on passed block arity
-2 means 1 required argument, and rest argument (e.g. `p method(def m(a,*); end).arity => -2`).
I think using this new behavior for -2 is too hacky.
For arity == 2, it seems more reasonable, and the examples above could use `_1 + _...
Eregon (Benoit Daloze)
08:58 AM Feature #19272: Hash#merge: smarter protocol depending on passed block arity
> That -2 means just unlimited.
Well, it is obviously not my call to decide what it means, but I interpret it as "2 explicitly declared params (plus some unpacking probably happening)". I mean, it is not _exactly_ the same as `-1` or ...
zverok (Victor Shepelev)
08:49 AM Feature #19272: Hash#merge: smarter protocol depending on passed block arity
zverok (Victor Shepelev) wrote in #note-7:
> * Any `:+.to_proc.arity` is -2
> ...
That -2 means just unlimited.
> * Which actually made me think about this idea with `merge` :)
`.abs == 2`? 😅
nobu (Nobuyoshi Nakada)
07:49 AM Feature #19272: Hash#merge: smarter protocol depending on passed block arity
@nobu All of my examples work with my reference implementation. You can try it yourself.
`:any_symbol.to_proc.arity` is `-2`, corresponding to the following lambda:
```ruby
->(first, *rest) { first.send(symbol, *rest) }
```
The ...
zverok (Victor Shepelev)
01:41 AM Feature #19272: Hash#merge: smarter protocol depending on passed block arity
zverok (Victor Shepelev) wrote:
> E.g.: **If, and only if, the passed block is of arity 2, treat it as an operation on old and new values.** Otherwise, proceed as before (maintaining backward compatibility.)
> ...
`:+.to_proc` is a pro...
nobu (Nobuyoshi Nakada)
07:30 PM Revision 08c20947 (git): Fix confusing "
Eregon (Benoit Daloze)
07:27 PM Revision 77909250 (git): Add Building the Tarball section in distribution docs
Eregon (Benoit Daloze)
07:22 PM Revision 826067b0 (git): Clarify section about getting the Ruby tarball
Eregon (Benoit Daloze)
07:16 PM Revision 91b18dc8 (git): Use write barriers for Backtrace objects
Backtrace objects hold references to:
* iseqs - via the captured locations
* strary - a lazily allocated array of strings
* locary - a lazily allocated array of backtrace locations
Co-authored-by: Adam Hess <HParker@github.com>
jhawthorn (John Hawthorn)
06:42 PM Misc #19421: Distribution documentation
I'd support adding a good explanation to cover topics mentioned at https://bugs.ruby-lang.org/issues/19421#note-8
And regarding bundled gems and default gems, we should also have a document to cover what are those and how to exclude f...
sorah (Sorah Fukumori)
04:36 PM Misc #19421: Distribution documentation
vo.x (Vit Ondruch) wrote in #note-8:
> > and https://github.com/rbenv/ruby-build/wiki#suggested-build-environment
> ...
It is what people have found to be necessary.
`patch` is needed by `ruby-build` itself because it needs it to appl...
Eregon (Benoit Daloze)
12:39 PM Misc #19421: Distribution documentation
>use of GMP is not documented at all as far as I can say. What is the benefit of enabling it?
Added it at https://github.com/ruby/ruby/commit/31d37e2406d1aa10265944e56807343f91da98fb
hsbt (Hiroshi SHIBATA)
10:01 AM Misc #19421: Distribution documentation
hsbt (Hiroshi SHIBATA) wrote in #note-2:
> See https://github.com/ruby/ruby/blob/master/doc/contributing/building_ruby.md
Unfortunately, these documents are kind of useless. They explain what is needed but don't explain why and that is ...
vo.x (Vit Ondruch)
06:40 AM Misc #19421: Distribution documentation
> The documentation should answer questions that packagers may have, but it should not state definitively how something should be done by packagers.
I agree with this too, but I don't think that should prevent us from giving examples ...
ioquatix (Samuel Williams)
06:39 AM Misc #19421: Distribution documentation
> gdbm and tk were removed as included extensions a while back.
Was this ever communicated to downstream maintainers clearly? If not, is there a way we can improve that?
> ...
Some operating system packages do build directly from g...
ioquatix (Samuel Williams)
06:33 AM Misc #19421: Distribution documentation
>The documentation should answer questions that packagers may have, but it should not state definitively how something should be done by packagers.
I totally agreed this.
hsbt (Hiroshi SHIBATA)
06:25 AM Misc #19421: Distribution documentation
> It's distributor's convenience, not our responsibility scope.
Open source is no one's responsibility and everyone's convenience.
I don't think this should prevent interested parties adding and maintaining documentation.
> ...
Does t...
ioquatix (Samuel Williams)
05:37 AM Misc #19421: Distribution documentation
ioquatix (Samuel Williams) wrote:
> the best practice for building source packages. The documentation I wrote from this was removed as "out of scope" but I disagree with that (https://github.com/ruby/ruby/commit/c35ebed895e1a3f7bced3db5...
jeremyevans0 (Jeremy Evans)
05:23 AM Misc #19421: Distribution documentation
>Related to the above, what is the official location for source tarballs?
See https://www.ruby-lang.org/en/downloads/.
> ...
See https://github.com/ruby/ruby/blob/master/doc/contributing/building_ruby.md and https://github.com/rbe...
hsbt (Hiroshi SHIBATA)
05:03 AM Misc #19421 (Open): Distribution documentation
I use Ruby a lot, on a lot of different systems, and help people and companies use it, including developers who install it on their systems.
Over time, I found that installing Ruby isn't always easy. Part of this is due to package man...
ioquatix (Samuel Williams)
06:39 PM Revision 0ee4fec9 (git): Fix typo in gc.h [ci skip]
peterzhu2118 (Peter Zhu)
04:31 PM Revision 88e08622 (git): Remove wrong file
naruse (Yui NARUSE)
04:01 PM Revision 2c7fe9c0 (git): [ruby/net-http] Enhanced RDoc for Net::HTTP
https://github.com/ruby/net-http/commit/e65a3d9f11 burdettelamar (Burdette Lamar)
02:53 PM Revision a641f642 (git): [ruby/net-http] [DOC] Reorganize doc for proxy server
(https://github.com/ruby/net-http/pull/117)
https://github.com/ruby/net-http/commit/f8b6b76cba
burdettelamar (Burdette Lamar)
02:22 PM Revision 6eae8e5f (git): Revert "Consider DATA objects without a mark function as protected"
This reverts commit 6e4c242130965de1cf00703c99f8821b0bd19e5b. byroot (Jean Boussier)
01:39 PM Revision 04680710 (git): Use rb_gc_mark_and_move for method objects
peterzhu2118 (Peter Zhu)
01:39 PM Revision df2e36ae (git): Use rb_gc_mark_and_move for proc and binding
Also makes VM_ENV_ENVVAL movable. peterzhu2118 (Peter Zhu)
12:49 PM Revision 8fc69a0a (git): [ruby/reline] Add comment for unused constants
FILENAME_COMPLETION_PROC and USERNAME_COMPLETION_PROC are not used by Reline.
However, they were added for compatibility with the rb-readline gem.
These constants have been retained and comments added.
https://github.com/ruby/reline/com...
ima1zumi (Mari Imaizumi)
12:38 PM Revision 31d37e24 (git): Mentioned gmp at requirements
hsbt (Hiroshi SHIBATA)
12:27 PM Revision 740b45a4 (git): Update default gems list at a66bc448a40929207fcf6e97107d71 [ci skip]
git[bot]
12:25 PM Revision a66bc448 (git): [ruby/psych] Bump version to 5.1 for release
This version primarily updates the JRuby extension to use
SnakeYAML Engine, a newer version of the SnakeYAML library, which
also updates YAML support to 1.2. The JRuby extension now also
exposes settings for the parser.
https://github.c...
headius (Charles Nutter)
10:48 AM Revision 60c92477 (git): Mark Encoding as Write Barrier protected
It doesn't even have a mark function.
It's only about a hundred objects, but not reason
to scan them every time.
byroot (Jean Boussier)
10:48 AM Revision 6e4c2421 (git): Consider DATA objects without a mark function as protected
It's not uncommon for simple binding to wrap structs without
any Ruby object references. Hence with no `mark` function.
Might as well mark them as protected by a write barrier.
byroot (Jean Boussier)
08:47 AM Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
ruby_3_2 3decf7df6f678ff6386c5c1888642d76f49dc147 merged revision(s) 3a7367ccc319499127ead147e5a08f769e44208e. naruse (Yui NARUSE)
08:29 AM Revision 8623c812 (git): Document default gems and bundled gems specifications
hsbt (Hiroshi SHIBATA)
08:26 AM Revision f8463827 (git): * 2023-02-07 [ci skip]
git[bot]
08:26 AM Revision 72beb9f8 (git): Remove wrong dollar
nobu (Nobuyoshi Nakada)
08:19 AM Feature #19422 (Assigned): Make `--enabled-shared` mandatory on macOS
nobu (Nobuyoshi Nakada)
08:14 AM Feature #19422 (Assigned): Make `--enabled-shared` mandatory on macOS
From the troubles around linker on macOS, I propose `--enable-shared` option mandatory on macOS.
This patch enables the option by default, and abort if `--disable-shared` option is given explicitly.
```diff
diff --git i/configure.ac...
nobu (Nobuyoshi Nakada)
07:23 AM Bug #19414: uninitialized constant URI::WSS in 3.0.X and 3.1.X
I submitted backport PRs:
* Ruby 3.0: https://github.com/ruby/ruby/pull/7260
* Ruby 3.1: https://github.com/ruby/ruby/pull/7261
hsbt (Hiroshi SHIBATA)
06:35 AM Bug #19378 (Assigned): Windows: Use less syscalls for faster require of big gems
nobu (Nobuyoshi Nakada)
06:15 AM Revision 3decf7df (git): merge revision(s) 3a7367ccc319499127ead147e5a08f769e44208e: [Backport #19403]
mkconfig: Map `includedir` only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)'
and remap `includedir`.
Fix https://github.com/rbenv/ruby-build/discussions/2123
---
...
naruse (Yui NARUSE)
06:14 AM Bug #19399: Ripper::Lexer.parse throws NoMethodError error for some input
ruby_3_2 7246cd0081ec845e1407484fca10439e7868880b merged revision(s) fad48fefe19cc282a5b209944244a3713359b47f. naruse (Yui NARUSE)
06:05 AM Bug #19372 (Assigned): Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
hsbt (Hiroshi SHIBATA)
06:05 AM Bug #19387 (Assigned): ObjectSpace.each_objects only returns shareable objects after starting a Ractor
hsbt (Hiroshi SHIBATA)
06:04 AM Bug #19407 (Assigned): 2 threads taking from current ractor will hang forever
hsbt (Hiroshi SHIBATA)
06:04 AM Bug #19410 (Assigned): If move from ractor fails with error, some objects are left in broken state
hsbt (Hiroshi SHIBATA)
06:03 AM Bug #19408 (Assigned): Object no longer frozen after moved from a ractor
hsbt (Hiroshi SHIBATA)
06:03 AM Bug #19409 (Assigned): Object's shape is reset after a ractor move
hsbt (Hiroshi SHIBATA)
05:21 AM Revision 5ee39ea6 (git): Added tarball instruction to building_ruby.md
hsbt (Hiroshi SHIBATA)
04:46 AM Revision 7246cd00 (git): merge revision(s) fad48fefe19cc282a5b209944244a3713359b47f: [Backport #19399]
[Bug #19399] Parsing invalid heredoc inside block parameter
Although this is of course invalid as Ruby code, allow to just parse
and tokenize.
---
ext/ripper/lib/ripper/lexer.rb | 2 +-
test/rip...
naruse (Yui NARUSE)
04:45 AM Bug #19398: Memory leak in WeakMap
ruby_3_2 3426ebd0489654f951a8b92efaf5e72b9f43efab merged revision(s) c6f84e918943a0bf8db6fee556fc53180d257510. naruse (Yui NARUSE)
04:35 AM Bug #17664: Behavior of sockets changed in Ruby 3.0 to non-blocking
> I could probably use the 'events' form of IO#wait however.
Yes, you should do that. `IO.select` for a single file descriptor is hard to implement efficiently into the event loop.
ioquatix (Samuel Williams)
03:44 AM Feature #19420: Simplify MJIT implementation
I'm very happy about this, it sounds like a good path forward. ioquatix (Samuel Williams)
01:36 AM Feature #19420 (Closed): Simplify MJIT implementation
# Background
### Implementation complexity
Because MJIT needs to run a C compiler and be able to call almost everything in vm.c, it has brought MJIT-specific complexity to the Ruby VM implementation:
* GVL and waitpid hacks for `Pro...
k0kubun (Takashi Kokubun)
01:39 AM Misc #19357: DevMeeting-2023-02-09
* [Feature #19420] Simplify MJIT implementation (k0kubun)
* Is it okay to move forward with that idea? I'd like to get early feedback before going too far with it.
k0kubun (Takashi Kokubun)

02/06/2023

11:38 PM Revision c84184d5 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.58 to 0.9.61.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.58...v0.9.61)
---
updated-depende...
dependabot[bot]
11:09 PM Revision a719e341 (git): [ruby/rdoc] Remove duplicate word in RDoc::MarkupReference
The word "for" appeared twice in the same sentence in the margins section, and this PR removes the duplicate occurrence. cjilbert504
11:09 PM Revision 773d56b1 (git): [ruby/rdoc] Add test coverage for -C flag
https://github.com/ruby/rdoc/commit/564be08f4b zzak (zzak _)
11:09 PM Revision b171e997 (git): [ruby/rdoc] Actually execute RDoc document task for coverage
https://github.com/ruby/rdoc/commit/7e70d41585 zzak (zzak _)
10:32 PM Bug #19415 (Open): Incorrect circularity warning for concurrent requires
Reopening as I reverted the patch because of some CI failures.
I'll improve the patch and merge again tomorrow.
byroot (Jean Boussier)
06:35 PM Bug #19415 (Closed): Incorrect circularity warning for concurrent requires
byroot (Jean Boussier)
11:58 AM Bug #19415: Incorrect circularity warning for concurrent requires
I have a patch for this: https://github.com/ruby/ruby/pull/7252
That bug isn't very critical, but I think it wouldn't hurt to backport it, at least on recent versions.
byroot (Jean Boussier)
10:30 PM Revision c19defd0 (git): Revert "Only emit circular dependency warning for owned thread shields"
This reverts commit fa49651e05a06512e18ccb2f54a7198c9ff579de. Jean byroot Boussier
09:12 PM Revision c30602e6 (git): YJIT: Support arg0 splat on invokeblock (#7234)
k0kubun (Takashi Kokubun)
09:11 PM Bug #19419 (Closed): [BUG] try to mark T_NONE object in `ibf_dump_mark`
Reported downstream at https://github.com/Shopify/bootsnap/issues/436
Relevant part of the crash report:
```
[BUG] try to mark T_NONE object
-- C level backtrace information -------------------------------------------
Ruby/3.2...
byroot (Jean Boussier)
07:50 PM Revision 675e2966 (git): Add .DELETE_ON_ERROR to Makefile
This instructs make to delete target files if the recipe fails midway, like
when make itself is interrupted. This is mostly for development since it
protects against corrupt builds that need a `make clean` to repair. Release
builds norma...
alanwu (Alan Wu)
07:42 PM Feature #19322: Support spawning "private" child processes
I meant to reply to this earlier but could not.
Right, in the SIGCHILD handler it's not possible to know the pid from Ruby's trap (it might be possible with `siginfo_t` of `sigaction()` but that's platform-dependent).
The typical w...
Eregon (Benoit Daloze)
06:38 PM Bug #19414: uninitialized constant URI::WSS in 3.0.X and 3.1.X
duerst (Martin Dürst) wrote in #note-3:
> @noraj This is just how backporting works. Closed means closed on trunk; the backporting maintainers check what they need to do separately.
Ok, thank you and sorry for the naive question. I r...
noraj (Alexandre ZANNI)
02:11 AM Bug #19414: uninitialized constant URI::WSS in 3.0.X and 3.1.X
@noraj This is just how backporting works. Closed means closed on trunk; the backporting maintainers check what they need to do separately. duerst (Martin Dürst)
12:53 AM Bug #19414: uninitialized constant URI::WSS in 3.0.X and 3.1.X
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> Since this is fixed in the master branch and Ruby 3.2, this is a backport request for 3.1 and 3.0.
> ...
Do I have something to do? Thanks to the Backport field this issue is listed in [B...
noraj (Alexandre ZANNI)
06:35 PM Revision fa49651e (git): Only emit circular dependency warning for owned thread shields
[Bug #19415]
If multiple threads attemps to load the same file concurrently
it's not a circular dependency issue.
So we check that the existing ThreadShield is owner by the current
fiber before warning about circular dependencies.
byroot (Jean Boussier)
04:40 PM Revision 28da9909 (git): Limit maximum number of IVs on a shape on T_OBJECTS
Create SHAPE_MAX_NUM_IVS (currently 50) and limit all shapes of
T_OBJECTS to that number of IVs. When a shape with a T_OBJECT has more than 50 IVs, fall back to the
obj_too_complex shape which uses hash lookup for ivs.
Note that a previ...
jemmai (Jemma Issroff)
04:19 PM Revision cab8c116 (git): [rubygems/rubygems] Properly exclude gemspec file itself from gem
by comparing the file names with full path.
Follows up https://github.com/rubygems/rubygems/commit/f444478eaccf
https://github.com/rubygems/rubygems/commit/9637a82d2e
matsuda (Akira Matsuda)
04:19 PM Revision 77bec15c (git): [rubygems/rubygems] Properly load the generated gemspec
The previous code loads bundler's gemspec which does not include the generated
gemspec file, and thus the test was passing where it should indeed fail.
With this change, the test properly fails now.
https://github.com/rubygems/rubygems/...
matsuda (Akira Matsuda)
04:02 PM Bug #19418 (Closed): Checking if a date in an open date range times out when the range starts after the test date
As this is fixed by raising an error in 3.2, I'm closing this. jeremyevans0 (Jeremy Evans)
01:50 PM Bug #19418: Checking if a date in an open date range times out when the range starts after the test date
[Range#include](https://docs.ruby-lang.org/en/3.1/Range.html#method-i-include-3F) basically iterates throughout the range and compares every value with the target value; it requires only two methods: `value.succ` and `value.==`, and neve... zverok (Victor Shepelev)
01:28 PM Bug #19418 (Closed): Checking if a date in an open date range times out when the range starts after the test date
`
require 'date'
((Date.today + 1)..).include?(Date.today)
`
is expected to return `false`. It never return a value, as like it is in a never ending loop.
`((Date.today)..).include?(Date.today)`
however, returns `true` righ...
wilhelmsen (Hallgeir Wilhelmsen)
03:29 PM Revision 21dcf5d7 (git): YJIT: Check interrupts on frame pop (#7248)
YJIT: Skip gen_check_ints on ISEQ send
On the interpreter, vm_push_frame doesn't check interrupts. Only
vm_pop_frame does.
k0kubun (Takashi Kokubun)
02:23 PM Revision 91f353b1 (git): [ruby/reline] Fix line rendering when newline is added at the end of the buffer
https://github.com/ruby/reline/commit/7d61b3df9a tompng (tomoya ishida)
08:10 AM Feature #19179: Support parsing SCM_CRED(ENTIALS) messages from ancillary messages
I think this is a good direction.
However, class and method names should be reviewed by matz.
I doubt that the current proposal has names good enough.
For example, "as_ancillary_data" is not in the convention of Ruby.
Ruby uses m...
akr (Akira Tanaka)
07:41 AM Revision 3426ebd0 (git): merge revision(s) c6f84e918943a0bf8db6fee556fc53180d257510: [Backport #19398]
[Bug #19398] Memory leak in WeakMap
There's a memory leak in ObjectSpace::WeakMap due to not freeing
the `struct weakmap`. It can be seen in the following script:
```
100.times do
10000.times d...
naruse (Yui NARUSE)
07:19 AM Revision 440b9d2c (git): Fixup 3dcc2b63160588ba313a120823e0723c89f9a09f
hsbt (Hiroshi SHIBATA)
07:16 AM Revision 3dcc2b63 (git): Separate download section for using Git
hsbt (Hiroshi SHIBATA)
07:14 AM Revision f9cd67cb (git): Mentioned cache.r-l.o
hsbt (Hiroshi SHIBATA)
06:43 AM Bug #19404: Backport request for 3b83b265f11965582d4b9b439eff8a501792ab68
ruby_3_2 3a88589399f7f1059be245f766809c49790ad939 merged revision(s) 3b83b265f11965582d4b9b439eff8a501792ab68. naruse (Yui NARUSE)
05:20 AM Revision b3fd1222 (git): [ruby/English] Replace HTML5 deprecated tag <tt> with <code>
https://github.com/ruby/English/commit/3712fd6752 ccmywish (Aoran Zeng)
05:00 AM Revision 3a885893 (git): merge revision(s) 3b83b265f11965582d4b9b439eff8a501792ab68: [Backport #19404]
YJIT: Crash with rb_bug() when panicking
Helps with getting good bug reports in the wild. Intended to be
backported to the 3.2.x series.
---
yjit/bindgen/src/main.rs | 3 +++
yjit/src/crub...
naruse (Yui NARUSE)
04:58 AM Bug #19385: YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting.
ruby_3_2 535d863f34e6c36a2378683e7c2d3b7369e3d076 merged revision(s) 188688a53e7708d25ab80e14d05e70ffcf792e13. naruse (Yui NARUSE)
12:01 AM Bug #19144: Ruby should set AI_V4MAPPED | AI_ADDRCONFIG getaddrinfo flags by default
Thank you for having a look at this!
> Ruby has several methods to invoke getaddrinfo() and connect() internally, such as TCPSocket.new.
> ...
I'm OK with doing just this, and not changing direct calls to `Addrinfo.getaddrinfo`. You're ...
kjtsanaktsidis (KJ Tsanaktsidis)

02/05/2023

11:10 PM Feature #19347: Add Dir.fchdir
I like the idea of having `Dir.for_fd` and `Dir#chdir` - it opens the door to more object-oriented directory file descriptor methods on `Dir` (of particular interest to me - `Dir#openat`). kjtsanaktsidis (KJ Tsanaktsidis)
09:33 PM Bug #19417 (Closed): Regexp \p{Word} and [[:word:]] do not match Unicode Other_Number character
According to the [documentation for Regexp](https://ruby-doc.org/3.2.0/Regexp.html), `\p{Word}` and `[[:word:]]` both match a character in one of the following Unicode general categories: Letter, Mark, Number, Connector_Punctuation. Howe... ObjectBoxPC (Philip Chung)
08:31 PM Revision 8a29419b (git): [ruby/reline] test_dumb_terminal: "ruby" command is not always available
Fixes the same issue at https://github.com/ruby/ruby/pull/5417
`ruby` is not always available in certain build environments and
configure options (e.g. --program-suffix)
This patch tries to choose an appropriate command line for spawni...
sorah (Sorah Fukumori)
12:40 PM Bug #19416 (Closed): Inconsistent behaviour for Struct.new without any member_names
When I simply declare a Struct without any arguments, I get an error:
```
irb(main):001:0> Struct.new
(irb):1:in `new': wrong number of arguments (given 0, expected 1+) (ArgumentError)
from (irb):1:in `<main>' ...
herwin (Herwin W)
12:28 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
st0012 (Stan Lo) wrote in #note-19:
> my understanding is that such feature requires Ruby to keep all the frames on the stack in an accessible format, which will limit the optimisation YJIT could do.
I don't think so since `rb_debug_...
Eregon (Benoit Daloze)
09:28 AM Revision 8a474b34 (git): [ruby/rdoc] [DOC] Fix reference to proper list type RDoc::MarkupReference
The "Lettered List" section referred to the previous "Numbered List" section, so this PR fixes that reference to point instead of lettered lists. cjilbert504
08:00 AM Bug #19415 (Closed): Incorrect circularity warning for concurrent requires
This script performs 5 concurrent `require` calls to the same file:
```ruby
threads = []
5.times do
threads << Thread.new {
p require 'bar'
}
end
threads.each(&:join)
```
The file `bar.rb` is simply
```ruby...
fxn (Xavier Noria)
01:37 AM Revision 45a2f1c5 (git): [rubygems/rubygems] Replace "prior to" with "immediately after"
Currently, the instructions and placeholder contradict each other.
The commit that introduced this placeholder (42bc4715d920e836c8499883d)
makes it clear that the placeholder should be replaced AFTER publishing
(i.e. once the author suc...
sambostock (Sam Bostock)
01:24 AM Bug #19414 (Closed): uninitialized constant URI::WSS in 3.0.X and 3.1.X
Since this is fixed in the master branch and Ruby 3.2, this is a backport request for 3.1 and 3.0.
For 3.1, it needs commit:c94f964e3f94e9f934a3f4e73fb55f5fd2a21f08
For 3.0, it needs commit:c94f964e3f94e9f934a3f4e73fb55f5fd2a21f08 ...
jeremyevans0 (Jeremy Evans)
01:08 AM Bug #19414 (Closed): uninitialized constant URI::WSS in 3.0.X and 3.1.X
I have a library called [ctf-party](https://github.com/noraj/ctf-party), [making use of URI:WSS](https://github.com/noraj/ctf-party/blob/ef3b82cc1668325b782246a9bb162b18a9b2930c/lib/ctf_party/defang.rb#L86), and it's making my [CI pipeli... noraj (Alexandre ZANNI)

02/04/2023

10:31 PM Revision 295fc59e (git): [ruby/irb] Add tests for workspaces commands
(https://github.com/ruby/irb/pull/512)
https://github.com/ruby/irb/commit/874dbcad81
st0012 (Stan Lo)
10:15 PM Bug #19413 (Open): Can't move object when 2 ivars refer to same object
```ruby
class A
def initialize
@a = Object.new
@b = @a
end
end
r = Ractor.new do |err|
obj = receive
p obj
end
r.send(A.new, move: true) # Allocator undefined for Ractor::MovedObject
r.take
```
To fix it...
luke-gru (Luke Gruber)
09:46 PM Revision 3d207408 (git): Remove unneeded repetitions
k0kubun (Takashi Kokubun)
07:38 PM Revision 0a02c51a (git): [rubygems/rubygems] Ensure that `TempIO` is closed
https://github.com/rubygems/rubygems/commit/0cbb7b5370 nobu (Nobuyoshi Nakada)
07:38 PM Revision e37bf46e (git): [rubygems/rubygems] Fix Tempfile leaks
https://github.com/rubygems/rubygems/commit/f95d1a87ce nobu (Nobuyoshi Nakada)
06:06 PM Revision 06195e76 (git): * remove trailing spaces. [ci skip]
git[bot]
06:06 PM Revision 6db79aef (git): [ruby/net-http] [DOC] Enhanced RDoc for Net::HTTP
(https://github.com/ruby/net-http/pull/116)
https://github.com/ruby/net-http/commit/22c0d34002
burdettelamar (Burdette Lamar)
04:23 AM Bug #19144 (Feedback): Ruby should set AI_V4MAPPED | AI_ADDRCONFIG getaddrinfo flags by default
I feel AI_ADDRCONFIG is good if the result addresses are used immediately for making a connection.
But getaddrinfo can be used just for getting DNS information.
AI_ADDRCONFIG is not suitable for this situation.
I don't understand ...
akr (Akira Tanaka)
04:07 AM Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
Yes. commit:3a7367ccc319499127ead147e5a08f769e44208e will be backported to 3.1 and 3.2. hsbt (Hiroshi SHIBATA)

02/03/2023

11:45 PM Bug #18940: Ruby Ractor fails with IOError when handling higher concurrency
There is a chance that the route problem is related to #19412 brodock (Gabriel Mazetto)
11:44 PM Bug #19412 (Open): Socket starts queueing and not responding after a certain amount of requests
Here is a an example code:
```ruby
require 'socket'
PORT = 8080
BACKLOG = 50
LISTEN = '127.0.0.1'
def handle_connection(connection, _addrinfo)
request = connection.gets
puts request
connection.write "HTTP/1.1 200...
brodock (Gabriel Mazetto)
11:41 PM Revision da9ee7bc (git): [ruby/rdoc] Add newline before return
https://github.com/ruby/rdoc/commit/6d609cb64c
Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
zzak (zzak _)
11:41 PM Revision e04d20bc (git): [ruby/rdoc] Add rdoc:coverage default task
https://github.com/ruby/rdoc/commit/157fbaf575 zzak (zzak _)
11:02 PM Bug #19411: GC issue with moved objects
The issue is again with shapes (related to https://bugs.ruby-lang.org/issues/19409). Newly moved objects (class MovedObject) need to have their shape reset to root shape. I'll make a PR for this. luke-gru (Luke Gruber)
09:59 PM Bug #19411 (Closed): GC issue with moved objects
This crashes:
```ruby
class Obj
def initialize
@obj = 3
end
end
GC.stress = true
r = Ractor.new do
obj = receive
p obj
end
obj = Obj.new
r.send(obj, move: true)
r.take
```
It only crashes with nested obj...
luke-gru (Luke Gruber)
10:31 PM Revision a8000d06 (git): Mark "method" objects as protected by write barrier
All its reference are set with RB_OBJ_WRITE, so they
can be marked as WB protected.
byroot (Jean Boussier)
10:31 PM Revision cc9d96b2 (git): Avoid using OBJ_WB_UNPROTECT
Not that it makes a big difference here, but it's
just unecessary.
byroot (Jean Boussier)
10:26 PM Revision 3fefe660 (git): [DOC] Fix call-seq of Struct.new (#7246)
kyanagi (Kouhei Yanagita)
08:02 PM Bug #19410 (Assigned): If move from ractor fails with error, some objects are left in broken state
```ruby
r = Ractor.new do
obj = receive
end
a = Object.new
obj = [a, proc { }]
begin
r.send(obj, move: true)
rescue => e
puts "couldn't move"
end
p a # a is moved, this errors out. But it's not really moved because the o...
luke-gru (Luke Gruber)
07:59 PM Revision e30cf60a (git): Remove dead code in ar_copy
All of the callers of ar_copy guarantee that hash2 has an ar table,
so we don't need the logic to handle the case when hash2 doesn't have
an ar table.
peterzhu2118 (Peter Zhu)
07:58 PM Revision f901b934 (git): YJIT: Make Block::start_addr non-optional
We set the block address as soon as we make the block, so there is no
point in making it `Option<CodePtr>`. No memory saving, unfortunately,
as `mem::size_of::<Block>() = 176` before and after this change. Still
a simplification for the ...
alanwu (Alan Wu)
07:42 PM Bug #14083 (Rejected): Refinement in block calling incorrect method
This is working as intended. Scoping rules for refinements is similar
to the scoping rules for constant resolution. The scope only
changes when one uses the `class`/`module` keyword. In the posted
example the two `using` calls act on ...
alanwu (Alan Wu)
07:10 PM Bug #19409 (Closed): Object's shape is reset after a ractor move
I believe an object should have the same shape after being moved from 1 ractor to another.
```ruby
class Obj
attr_accessor :a, :b, :c, :d
def initialize
@a = 1
@b = 2
@c = 3
end
end
r = Ractor.new do
obj ...
luke-gru (Luke Gruber)
07:01 PM Revision dff03149 (git): Put example VSCode configs in misc/.vscode [ci skip]
They are needed very often but it's hard to remember. I thought it'd be
useful to just copy that to /.vscode and edit that.
Usage:
cp -r misc/.vscode .vscode
Don't symlink it because you'd edit it but not want to commit it.
k0kubun (Takashi Kokubun)
06:55 PM Bug #19408 (Closed): Object no longer frozen after moved from a ractor
I think frozen objects should still be frozen after a move.
```ruby
r = Ractor.new do
obj = receive
p obj.frozen? # should be true but is false
p obj
end
obj = [Object.new].freeze
r.send(obj, move: true)
r.take
```
luke-gru (Luke Gruber)
06:43 PM Bug #19407 (Closed): 2 threads taking from current ractor will hang forever
In the current implementation of Ractors, it's possible to `take` from the current ractor. This could be useful
when co-ordinating threads:
```ruby
t = Thread.new do
obj = Ractor.current.take
p obj # do some work with obj
end...
luke-gru (Luke Gruber)
06:26 PM Revision e50f1024 (git): CI: Pass -O2 for annocheck
Because `optflags` is pasted into the invocation line after `CC`, we were
building with -O1 unintentionally. You can see this in the configuration
summary: https://github.com/ruby/ruby/actions/runs/3933391169/jobs/6727044423#step:9:753
...
alanwu (Alan Wu)
06:10 PM Revision c6b90e5e (git): Mark "mapping_buffer" as write barrier protected
It doesn't have any reference so it can be marked as protected. byroot (Jean Boussier)
04:40 PM Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
Hello @hsbt! It looks like you solved the problem before I could respond :) Thank you!
For what it's worth, my value of SDKROOT is:
```shell
$ env | grep SDKROOT
SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
```
It is un...
jcouball@yahoo.com (James Couball)
08:14 AM Bug #19403 (Closed): Unable to Build Native Gems on Mac with Ruby 3.1.0+
I confirmed to fix installation error with `SDKROOT` environmental variable.
```
$ env | rg SDKROOT
SDKROOT=/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
```
Before result with `make install` at `ruby_3_1` branch.
```
(snip)
ins...
hsbt (Hiroshi SHIBATA)
04:57 AM Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
I think it is fixed by commit:3a7367ccc319499127ead147e5a08f769e44208e. nobu (Nobuyoshi Nakada)
01:00 AM Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
@jcouball@yahoo.com Can you share your environmental variable of `SDKROOT`? In my environment, I couldn't look it.
```
$ env | rg SDKROOT
(nothing result)
```
hsbt (Hiroshi SHIBATA)
03:14 PM Revision 08c529be (git): YJIT: Support ifunc on invokeblock (#7233)
k0kubun (Takashi Kokubun)
02:58 PM Revision 8e7d2cc2 (git): Implement Write Barrier for Backtrace::Location
It only has a single reference, set in a single place. byroot (Jean Boussier)
02:37 PM Revision fe5ce1ee (git): Enable write barriers on File::Stat
It holds no reference, so no changes needed. byroot (Jean Boussier)
02:33 PM Revision faa4c227 (git): [ruby/net-http] [DOC] Enhanced RDoc for write_timeout
(https://github.com/ruby/net-http/pull/115)
https://github.com/ruby/net-http/commit/6da39b0461
burdettelamar (Burdette Lamar)
01:45 PM Bug #19051 (Closed): Incorrect pointers in global_cc_cache_table when compacting
peterzhu2118 (Peter Zhu)
11:56 AM Bug #19401: [Doc] Broken links in CSV documentation
Fixed in [PR#7236](https://github.com/ruby/ruby/pull/7236) eightbitraptor (Matt V-H)
10:57 AM Feature #19406: Allow declarative reference definition for rb_typed_data_struct
i don't know if it works for my use case too, but for my c++ extension,
i need to keep the ruby object alive for as long as the C++ object lives.
I solved it with this approach:
* have a ruby Hash defined as global value so it doe...
Hanmac (Hans Mackowiak)
10:13 AM Feature #19406 (Closed): Allow declarative reference definition for rb_typed_data_struct
[Github PR 7153](https://github.com/ruby/ruby/pull/7153)
## Summary
This PR proposes an additional API for C extension authors to define wrapped
struct members that point to Ruby objects, when the struct being wrapped
contains on...
eightbitraptor (Matt V-H)
10:18 AM Bug #18755 (Closed): Backport rubygems/pull/5154 into Ruby 3.0
Thanks for clarification. I'll backport https://github.com/rubygems/rubygems/pull/5154 and release RubyGems 3.2.34 with it.
FYI: https://github.com/rubygems/rubygems/pull/6027
hsbt (Hiroshi SHIBATA)
10:13 AM Bug #18755: Backport rubygems/pull/5154 into Ruby 3.0
hsbt (Hiroshi SHIBATA) wrote in #note-3:
> @vo.x Is your request https://github.com/rubygems/rubygems/pull/5154? Your link is https://github.com/rubygems/rubygems/pull/5044, not 5154. I'm confusing now.
Sorry for confusion. This is t...
vo.x (Vit Ondruch)
08:49 AM Bug #18755 (Open): Backport rubygems/pull/5154 into Ruby 3.0
@vo.x Is your request https://github.com/rubygems/rubygems/pull/5154? Your link is https://github.com/rubygems/rubygems/pull/5044, not 5154. I'm confusing now. hsbt (Hiroshi SHIBATA)
07:50 AM Revision 4d35365a (git): Update default gems list at cbd5de4f88b889eb6bd40ddb073da5 [ci skip]
git[bot]
07:49 AM Revision cbd5de4f (git): [ruby/stringio] Development of 3.0.6 started.
https://github.com/ruby/stringio/commit/a7561f447b nobu (Nobuyoshi Nakada)
07:46 AM Bug #19400: YJIT fails to boot on ARM64 systems with 64 KiB pages
alanwu (Alan Wu) wrote in #note-4:
> Curious what OS distribution you're using for reproduction.
> ...
We are building ruby on OpenCloudOS stream.
Yes, we use the kernel which is compiled by ourself.
xiacunshun (xiacunshun xia)
06:40 AM Bug #19405 (Rejected): Prevent Use of include CustomModule in a Nested Class
This is not a bug, this is expected behavior. It is true in Ruby even if you don't define any classes:
```ruby
Object::Object::Object::Object::Object::Object::Object::Object::Object::Object::Object::Object::Object::Object::Object::Ob...
jeremyevans0 (Jeremy Evans)
03:58 AM Bug #19405 (Rejected): Prevent Use of include CustomModule in a Nested Class
Bug present ever since **Ruby 1.8**.
Tested in **Ruby 2.7 and 3.0** as well.
I would like to request the developers to prevent any person from doing something as illogical and useless as the code I have provided you with right below....
kyonides (Edwin Acuña)
05:13 AM Revision 535d863f (git): merge revision(s) 188688a53e7708d25ab80e14d05e70ffcf792e13: [Backport #19385]
[PATCH 1/4] YJIT: Move CodegenGlobals::freed_pages into an Rc
This allows for supplying a freed_pages vec in Rust tests. We need it so we
can test scenarios that occur after code GC.
---
yjit/src/asm/mod...
naruse (Yui NARUSE)
 

Also available in: Atom