Project

General

Profile

Activity

From 09/23/2022 to 09/29/2022

09/29/2022

03:12 PM Bug #19032: Assertion Failed: vm_insnhelper.c:1176:vm_getivar:rb_ractor_shareable_p(obj) ? rb_ractor_shareable_p(val) : true
I just realized this is likely to be shape related (https://github.com/ruby/ruby/commit/d594a5a8bd0756f65c078fcf5ce0098250cba141). I notified Jemma. byroot (Jean Boussier)
03:09 PM Bug #19032 (Closed): Assertion Failed: vm_insnhelper.c:1176:vm_getivar:rb_ractor_shareable_p(obj) ? rb_ractor_shareable_p(val) : true
I got 10 occurrences of an assertion failure on our nightly CI. Yesterday's build (`b8e804e410`) was fine, so I suspect the problem was introduced yesterday?
If that assumption is correct the bug would have been introduced in one of t...
byroot (Jean Boussier)
02:45 PM Bug #19031 (Feedback): Ruby 3.1.0 has issue "[BUG] Segmentation fault at 0x0000000000000000"
Does this issue occur with Ruby 3.1.2? jeremyevans0 (Jeremy Evans)
09:42 AM Bug #19031 (Feedback): Ruby 3.1.0 has issue "[BUG] Segmentation fault at 0x0000000000000000"
I've run on ECS with Rails 7 and ruby 3.1.0. Today I've got the error bellow. Can you guys help me?
```
2022-09-29 15:38:3708:38:37 sidekiq.1 | 3 rational.so
2022-09-29 15:38:3708:38:37 sidekiq.1 | 4 complex.so
2022-09-29 15:38:3708...
derek.nguyen.269@gmail.com (Derek Nguyen)
01:52 PM Bug #18435: Calling `protected` on ancestor method changes result of `instance_methods(false)`
@nagachika Could you also backport the commits of https://github.com/ruby/ruby/pull/6467 ?
The semantics and final code in proc.c is much closer to what it was in 3.1 before the backport just above, so it seems best to backport it for c...
Eregon (Benoit Daloze)
01:48 PM Revision aa490f94 (git): Reduce diff to proc.c @ b0b9f7201acab05c2a3ad92c3043a1f01df3e17f
* So it's easy to review https://github.com/ruby/ruby/pull/6242 +
https://github.com/ruby/ruby/pull/6467 and there are less changes
overall.
Eregon (Benoit Daloze)
01:48 PM Revision c6319026 (git): Extend tests for a zsuper method of which the method it resolved to has been removed
Eregon (Benoit Daloze)
01:48 PM Revision 6b7d32a5 (git): Resolve zsuper method during lookup but preserve owner separately
* See https://bugs.ruby-lang.org/issues/18729#note-34
* See [Bug #18729]
Eregon (Benoit Daloze)
01:48 PM Revision aa53d69a (git): Add specs for {Method,UnboundMethod}#owner of a zsuper method
Eregon (Benoit Daloze)
01:48 PM Revision 94cea3e4 (git): Fix {Method,UnboundMethod}#super_method for zsuper methods
* We need to resolve the zsuper method first, and then look the super
method of that.
Eregon (Benoit Daloze)
01:22 PM Bug #19029 (Closed): Moving a transient heap allocated array between size pools can trigger GC while in GC
Applied in changeset commit:git|892f350a7db4d2cc99c5061d2e74498dfc4809ca.
----------
[Bug #19029] Don't start GC during compaction
RARRAY_PTR when called with a transient array detransients the array
before returning its pointer which ...
eightbitraptor (Matt V-H)
01:22 PM Revision 892f350a (git): [Bug #19029] Don't start GC during compaction
RARRAY_PTR when called with a transient array detransients the array
before returning its pointer which allocates in the heap.
Because RARRAY_PTR was being used during compaction (when re-embedding
arrays that have moved between size po...
eightbitraptor (Matt V-H)
12:50 PM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
nobu (Nobuyoshi Nakada) wrote in #note-4:
> GCC 12 on GitHub Actions doesn’t show that warning.
> ...
mame (Yusuke Endoh) wrote in #note-5:
> I am not able to repro with `gcc-12 (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0` and x86_64-linux.
A...
eightbitraptor (Matt V-H)
01:42 AM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
I am not able to repro with `gcc-12 (Ubuntu 12.1.0-2ubuntu1~22.04) 12.1.0` and x86_64-linux. mame (Yusuke Endoh)
12:05 PM Revision 4ced7bfb (git): Update bundled gems list at 866cfb248e269f64951c8521707322 [ci skip]
git[bot]
12:03 PM Revision 866cfb24 (git): Update bundled_gems
shugo (Shugo Maeda)
08:56 AM Revision 28840d74 (git): [rubygems/rubygems] Refine error message to check the push URL instead of just the host
https://github.com/rubygems/rubygems/commit/46990f3292 Jenny Shen
08:56 AM Revision 0522e31d (git): [rubygems/rubygems] Refactor tests to use Net::HTTPResponse instances for fetcher.data[:path]
https://github.com/rubygems/rubygems/commit/4d91cacb1f
Co-authored-by: Jacques Chester <jacques.chester@shopify.com>
Jenny Shen
08:56 AM Revision 17b783ad (git): [rubygems/rubygems] Surface entire redirect uri in permanent redirections
https://github.com/rubygems/rubygems/commit/da7837630b Jenny Shen
08:56 AM Revision 1cbf0fd8 (git): [rubygems/rubygems] Add error message when api response is a permanent redirect
https://github.com/rubygems/rubygems/commit/ccca30c77a
Co-authored-by: Nick Schwaderer <nick.schwaderer@shopify.com>
Jenny Shen
07:30 AM Misc #19030 (Closed): [ANN] Migrate lists.ruby-lang.org to Google Groups
Our mailing-list server that is `lists.ruby-lang.org` is too old. And it's difficult to replace new server on AWS because building mail-service on AWS has a lot of limitations. I and @shugo decided to migrate lists.ruby-lang.org to Googl... hsbt (Hiroshi SHIBATA)
06:47 AM Revision 9948b8bf (git): Skip unpack_sockaddr_in with http at Solaris platform
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20220929T050003Z.fail.html.gz hsbt (Hiroshi SHIBATA)
05:56 AM Revision cb16dcb1 (git): [ruby/date] The shrunk words to be copied is limited
Th buffer size is small enough and no need to allocate dynamically.
https://github.com/ruby/date/commit/f62bf0a01d
nobu (Nobuyoshi Nakada)
05:09 AM Revision 94206671 (git): bootstraptest/runner: run in parallel if in parallel build
nobu (Nobuyoshi Nakada)
05:06 AM Revision 5a8aaeda (git): [ruby/date] Narrow ALLOCV region for shrunk words
https://github.com/ruby/date/commit/f51b038074 nobu (Nobuyoshi Nakada)
01:28 AM Revision 2f7a530f (git): Update bundled gems list at 8c4e52fbe8a07da76c4038e4c5dc51 [ci skip]
git[bot]
01:27 AM Revision 8c4e52fb (git): Update bundled_gems
hsbt (Hiroshi SHIBATA)

09/28/2022

11:52 PM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
GCC 12 on GitHub Actions doesn’t show that warning.
https://github.com/ruby/ruby/actions/runs/3146751201/jobs/5115549022#step:13:130
I’m not sure what differs.
nobu (Nobuyoshi Nakada)
06:48 PM Bug #19028: GCC12 Introduces new warn flags `-Wuse-after-free`
This seems to be [this bug in gcc](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104069). I don't see it getting fixed soon. +1 for `-Wuse-after-free=1`. mame (Yusuke Endoh)
05:12 PM Bug #19028 (Closed): GCC12 Introduces new warn flags `-Wuse-after-free`
[GCC 12 introduced a new warning flag `-Wuse-after-free`](https://github.com/gcc-mirror/gcc/commit/671a283636de75f7ed638ee6b01ed2d44361b8b6) which attempts to warn about uses of pointers to dynamically allocated objects that have been re... eightbitraptor (Matt V-H)
08:47 PM Feature #19008 (Closed): Introduce coverage support for `eval`.
(1) and (2) are implemented, (3) is a separate issue. ioquatix (Samuel Williams)
10:51 AM Feature #19008: Introduce coverage support for `eval`.
Here is the PR to introduce a `eval: true/false` flag to `Coverage.setup`: https://github.com/ruby/ruby/pull/6462 ioquatix (Samuel Williams)
07:53 AM Feature #19008: Introduce coverage support for `eval`.
@ioquatix said he could implement `Coverage.start(eval: true)` soon, so I would like to wait for him instead of reverting the commit in question.
ioquatix (Samuel Williams) wrote in #note-18:
> However, I think the normal `Coverage.s...
mame (Yusuke Endoh)
07:40 AM Feature #19008: Introduce coverage support for `eval`.
@znz told me that this change broke our continuous coverage measurement.
https://github.com/ruby/actions/actions/runs/3104935882/jobs/5029973324#step:11:10
```
Error: Artifact path is not valid: /ruby/tmp/test_rubygems_20220922-21...
mame (Yusuke Endoh)
08:46 PM Bug #19026 (Closed): Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
I agree, for the existing Ruby implementations, it's a little clumsy but easily worked around using `respond_to?`. Going forward, this is a simple and good interface.
Merged PR.
ioquatix (Samuel Williams)
07:43 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
> > Isn't there a general mechanism for feature support? Like `RbConfig.support?(:eval_coverage)` or something?
> ...
I didn't mean RbConfig per se, just any kind of general mechanism. It seems there isn't.

Eregon (Benoit Daloze) ...
Dan0042 (Daniel DeLorme)
07:21 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
mame (Yusuke Endoh) wrote in #note-6:
> @ioquatix isn't `RUBY_VERSION > "3.1"` enough for your case?
Please no. For instance other Ruby implementations might already support eval Coverage trivially or can't support it easily, it shou...
Eregon (Benoit Daloze)
06:06 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
Dan0042 (Daniel DeLorme) wrote in #note-4:
> Isn't there a general mechanism for feature support? Like `RbConfig.support?(:eval_coverage)` or something?
I don't think it makes sense because this doesn't change depending on the ruby c...
mame (Yusuke Endoh)
03:03 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
mame (Yusuke Endoh) wrote in #note-1:
> Note: This API does determine if the mode is *available*, not *enabled*. So `Coverage.supported?(:eval)` will always returns `true` in Ruby 3.2 regardless of whether `Coverage.start(eval: true)` i...
jeremyevans0 (Jeremy Evans)
02:55 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
Isn't there a general mechanism for feature support? Like `RbConfig.support?(:eval_coverage)` or something? Dan0042 (Daniel DeLorme)
02:18 PM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
I think it is reasonable to have this feature to determine if `Coverage.start(eval: true)` is available. (Note that `Coverage.start(eval: true)` just ignores the keyword in Ruby 3.1 or before.)
@ioquatix I would like you to merge the ...
mame (Yusuke Endoh)
11:09 AM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
Commit is currently part of https://github.com/ruby/ruby/pull/6462 ioquatix (Samuel Williams)
11:01 AM Bug #19026: Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
Note: This API does determine if the mode is *available*, not *enabled*. So `Coverage.supported?(:eval)` will always returns `true` in Ruby 3.2 regardless of whether `Coverage.start(eval: true)` is called.
In my first impression, it i...
mame (Yusuke Endoh)
10:52 AM Bug #19026 (Closed): Add `Coverage.supported?(x)` to detect support for `eval` coverage flag.
Introduce the following interface:
```
Coverage.supported?(eval) -> true/false
```
We can also check `lines` `branches` and `methods`?
ioquatix (Samuel Williams)
08:44 PM Revision e7ddb6b1 (git): Update NEWS.md with updated coverage interfaces.
Samuel Williams
08:44 PM Revision bd2fbd35 (git): Add `Coverage.supported?` to detect what modes are supported.
Samuel Williams
08:44 PM Revision 9dd902b8 (git): Add `eval: true/false` flag to `Coverage.setup`.
Samuel Williams
07:08 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
@matz I implemented the first choice in https://github.com/ruby/ruby/pull/6467.
That seems closest to what you requested, and the result of your script is then:
```
[:foo, :bar]
C1
[:foo, :bar]
C2 # C1 on 3.1
[:bar2]
C2 # C1 on 3...
Eregon (Benoit Daloze)
05:26 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
Looking at UnboundMethod methods, for a zsuper method (ME = method entry):
* ==, eql?, hash: needs both resolved ME and zsuper ME (owner) (until #18798)
* to_s, inspect, clone: needs both resolved ME and zsuper ME (owner)
* arity, par...
Eregon (Benoit Daloze)
04:26 PM Bug #18729: Method#owner and UnboundMethod#owner are incorrect after using Module#public/protected/private
@matz
`(a)` should be `p C2.private_instance_methods(false)` (.instance_methods doesn't show private methods).
Then on all versions `foo` is included.
And of course that means it should be possible to retrieve that method with `Kernel#me...
Eregon (Benoit Daloze)
06:47 PM Bug #19029 (Closed): Moving a transient heap allocated array between size pools can trigger GC while in GC
[Github PR 6466](https://github.com/ruby/ruby/pull/6466)
RARRAY_PTR when called with a transient array detransients the array before returning its pointer which allocates in the heap.
Because RARRAY_PTR was being used during compac...
eightbitraptor (Matt V-H)
06:41 PM Revision ac56e5c1 (git): [rubygems/rubygems] Put bundler gemspec stub at the right place
So that it's found when needed, rather than dynamically modifying
loaded stubs and thus messing with RubyGems internals.
https://github.com/rubygems/rubygems/commit/cd3e7cb9e5
deivid (David Rodríguez)
06:41 PM Revision 668e78f0 (git): [rubygems/rubygems] Only activate bundler when needed
Loading Bundler beforehand was actually replacing ENV with a backup of
the pre-Bundler environment through `Bundler::EnvironmentPreserver`. I
think that was making a bug in `ENV.replace` not bite our tests, because
Bundler includes prope...
deivid (David Rodríguez)
06:41 PM Revision 20eff520 (git): [rubygems/rubygems] Test a pure RubyGems method
`Gem::Specification#load_paths` is actually a Bundler thing.
https://github.com/rubygems/rubygems/commit/d20b4d1950
deivid (David Rodríguez)
06:41 PM Revision 00a040dd (git): [rubygems/rubygems] Little refactor to keep things consistent
https://github.com/rubygems/rubygems/commit/3934deb4e4 deivid (David Rodríguez)
06:41 PM Revision 874a2bf1 (git): [rubygems/rubygems] Remove unnecessary `ensure`
https://github.com/rubygems/rubygems/commit/6c0c02c533 deivid (David Rodríguez)
06:41 PM Revision c7232a2a (git): [rubygems/rubygems] Require bundler consistently
The `$LOAD_PATH` should be properly setup so that the local version is
used.
https://github.com/rubygems/rubygems/commit/03c0ab4082
deivid (David Rodríguez)
06:41 PM Revision b9c426ea (git): [rubygems/rubygems] Remove unnecessary constant
https://github.com/rubygems/rubygems/commit/4bd77488ad deivid (David Rodríguez)
06:41 PM Revision 1e559753 (git): [rubygems/rubygems] Cleaup unnecessary code
https://github.com/rubygems/rubygems/commit/2e05dadbc5 deivid (David Rodríguez)
06:41 PM Revision 5222a89a (git): [rubygems/rubygems] Unskip stuff that now works on JRuby
https://github.com/rubygems/rubygems/commit/d86a5ae2eb deivid (David Rodríguez)
04:37 PM Revision 31cf1bb5 (git): Update to ruby/spec@1d9d5c6
Eregon (Benoit Daloze)
04:37 PM Revision 5a1ab740 (git): Update to ruby/mspec@b60306d
Eregon (Benoit Daloze)
04:24 PM Revision 3e7c42a2 (git): Shapes wrappers shouldn't mark the shape
We don't allocate shapes out of the GC anymore, so we shouldn't mark
those pointers.
tenderlovemaking (Aaron Patterson)
03:58 PM Feature #18980: `it` as a default block parameter
> Now I'm almost giving it up because there are more people who dislike it than I expected.
I'm not sure how good the people here represent the whole community. My bet is most people don't even notice these feature requests unless the...
matheusrich (Matheus Richard)
03:47 PM Feature #18980: `it` as a default block parameter
I don't have much to contribute here, but I'll give my personal experience with this subject.
I like the convenience of numbered params, but I've rarely used them (outside of throwaway scripts) because they look off.
I find them eve...
matheusrich (Matheus Richard)
03:27 PM Revision 414f1066 (git): * expand tabs. [ci skip]
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
git[bot]
03:26 PM Revision d594a5a8 (git): This commit implements the Object Shapes technique in CRuby.
Object Shapes is used for accessing instance variables and representing the
"frozenness" of objects. Object instances have a "shape" and the shape
represents some attributes of the object (currently which instance variables are
set and ...
jemmai (Jemma Issroff)
02:51 PM Revision a05b2614 (git): Always use the longer version of `TRY_WITH_GC`
nobu (Nobuyoshi Nakada)
02:36 PM Feature #19027: .= syntax
I don't think that works. `var += expr` is a shortcut for `var = var.+(expr)`. But `var .= method` translates to `var = var.method`; the right-hand side is not an expression, so it's a very different kind of construct.
But I'm a fan o...
Dan0042 (Daniel DeLorme)
02:32 PM Feature #19027: .= syntax
jeromedalbert (Jerome Dalbert) wrote:
> I wish I could do this in Ruby:
> ...

I find that both unreadable and undecipherable, personally. This is one case where something like a pipeline operator might be better (https://bugs.ruby-l...
austin (Austin Ziegler)
02:30 PM Feature #19027 (Rejected): .= syntax
If I remember correctly, this has been proposed several times. I found one ticket #6841, so I'll close this as a duplicate. mame (Yusuke Endoh)
01:30 PM Feature #19027: .= syntax
I like it, though one while reading that code could have a problem with attempting to find a `where` variable.
Perhaps a more clearer way to write this would be the following:
```
records.=where.not(id: excluded_ids) if some_condi...
hmdne (hmdne -)
01:03 PM Feature #19027 (Rejected): .= syntax
I wish I could do this in Ruby:
```
records .= where.not(id: excluded_ids) if some_condition
```
instead of:
```
records = records.where.not(id: excluded_ids) if some_condition
```
We already have `+=`, `-=`, `||=`, etc, ...
jeromedalbert (Jerome Dalbert)
02:18 PM Revision 09bce061 (git): bootstraptest/runner: manage sub processes with the job server
nobu (Nobuyoshi Nakada)
02:18 PM Revision fc54dbe8 (git): bootstraptest/runner: fold dots by window size
nobu (Nobuyoshi Nakada)
02:01 PM Revision 3c3bd03a (git): [rubygems/rubygems] Force "master" to be used regardless of `init.defaultBranch` config
Otherwise, if you have `init.defaultBranch main` configured, like I do,
a bunch of tests fail with things like:
```
========================================================================================================================...
deivid (David Rodríguez)
01:05 PM Revision 28a572f8 (git): Fix bug when slicing a string with broken encoding
Commit aa2a428 introduced a bug where non-embedded string slices copied
the encoding of the original string. If the original string had a broken
encoding but the slice has valid encoding, then the slice would be
incorrectly marked as bro...
peterzhu2118 (Peter Zhu)
01:05 PM Revision 6f8d17e4 (git): Make string slices views rather than copies
Just like commit 1c16645 for arrays, this commit changes string slices
to be a view rather than a copy even if it can be allocated through VWA.
peterzhu2118 (Peter Zhu)
12:27 PM Revision 247d5984 (git): Install all file trees for lldb [ci skip]
It is no longer single lldb_cruby.py only. nobu (Nobuyoshi Nakada)
12:07 PM Revision d12fce7a (git): [ruby/date] Check time zone offset elements
Too big parts of fractional hour time zone offset can cause assertion
failures.
https://github.com/ruby/date/commit/06bcfb2729
nobu (Nobuyoshi Nakada)
08:26 AM Bug #18908 (Closed): Allow username and password to be extracted from the http_proxy variable on Windows
Applied in changeset commit:git|cd77e71bbac9616a906f6823a8eba4922821e9ad.
----------
[ruby/net-http] Remove ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE
This list is out of date. At least OpenBSD since 2013 does not
allow one user to read t...
jeremyevans (Jeremy Evans)
08:26 AM Revision cd77e71b (git): [ruby/net-http] Remove ENVIRONMENT_VARIABLE_IS_MULTIUSER_SAFE
This list is out of date. At least OpenBSD since 2013 does not
allow one user to read the environment variables of a process
run by another user.
While we could try to keep the list updated, I think it's a bad
idea to not use the user/...
jeremyevans (Jeremy Evans)
08:06 AM Revision b58710e0 (git): dbm and gdbm have been extracted gems.
hsbt (Hiroshi SHIBATA)
03:44 AM Misc #18888: Migrate ruby-lang.org mail services to Google Domains and Google Workspace
I prepared mail aliases for enabled users of https://github.com/ruby/ruby-commit-hook/blob/master/config/email.yml. But some of users use different email addresses of the current ruby-lang.org settings. I choose the current settings inst... hsbt (Hiroshi SHIBATA)
12:29 AM Revision b8e804e4 (git): [ruby/bigdecimal] Document precision=0 and ndigits=0 for converting from Float
https://github.com/ruby/bigdecimal/commit/4f0894c6c0 mjrzasa (Maciek Rząsa)

09/27/2022

11:27 PM Revision a58cbddd (git): YJIT: add assertion wrt label names (#6459)
Add assertion wrt label names maximecb (Maxime Chevalier-Boisvert)
11:27 PM Revision 8fcbb797 (git): YJIT: reverse configure.ac changes that disable `--yjit-stats` on Graviton1 (#6457)
Reverse configure.ac changes that disable YJIT stats on Graviton1 maximecb (Maxime Chevalier-Boisvert)
08:58 PM Revision 28433e9a (git): Change IncrCounter lowering on AArch64 (#6455)
* Change IncrCounter lowering on AArch64
Previously we were using LDADDAL which is not available on
Graviton 1 chips. Instead, we're going to use an exclusive
load/store group through the LDAXR/STLXR instructions.
* Update yjit/src/bac...
kddnewton (Kevin Newton)
08:55 PM Revision 8f7f12ad (git): [rubygems/rubygems] fix: Gem::Platform.match handles String argument properly
Previously 9eead86 introduced non-commutativity of platforms, and
later commit 1b9f7f50 changed the behavior of `Gem::Platform.match` to
ensure the callee of `#=~` was the gem platform.
However, when the platform argument is a String, t...
mdalessio (Mike Dalessio)
06:58 PM Revision 5d4048e0 (git): [DOC] More on IO streams (#6454)
Adds remarks about .new and .open.
Uses ..open where convenient (not convenient where output would be in a block).
Fixed examples for #ungetc.
burdettelamar (Burdette Lamar)
06:53 PM Bug #19025 (Closed): Ripper cannot parse syntax ok code that has numbered parameters
Ruby says `p { a = 0; [_1, _1 **2] }` is syntax ok, Ripper says syntax error
~~~ruby
code = 'p { a = 0; [_1, _1 **2] }'
eval(code) #=> nil (Syntax OK)
Ripper.sexp(code) #=> nil (Syntax Error)
~~~
Other similar codes. maybe not ...
tompng (tomoya ishida)
06:32 PM Feature #16122: Data: simple immutable value object
@matz Thank you!
@nobu Done.
zverok (Victor Shepelev)
06:30 PM Feature #19015: Language extension by a heredoc
This seems nice.
Would it also remove leading indentation like `<<~HEREDOC`?
Eregon (Benoit Daloze)
06:25 PM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
The current shutdown order in TruffleRuby is:
1. execute main script (and save exception if any)
2. run at_exit hooks
3. print main script's exception with `.full_message`
4. kill and wait all threads (which still runs some Ruby code...
Eregon (Benoit Daloze)
08:10 AM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
There are two different sub-issues in this issue.
### 1. syntax_suggest does not work for `ruby foo.rb`.
This is because a SyntaxError exception is not thrown even if there is a syntax error in foo.rb of `ruby foo.rb`. Instead, the...
mame (Yusuke Endoh)
06:47 AM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
@mame try to fix this `ThreadError` at https://github.com/ruby/ruby/pull/6452 hsbt (Hiroshi SHIBATA)
03:49 AM Bug #19016: syntax_suggest is not working with Ruby 3.2.0-preview2
I investigated this.
https://github.com/ruby/syntax_suggest/blob/main/lib/syntax_suggest/api.rb#L67
```
Timeout.timeout(timeout) do
record_dir ||= ENV["DEBUG"] ? "tmp" : nil
search = CodeSearch.new(source, record...
hsbt (Hiroshi SHIBATA)
06:10 PM Feature #12084: `Class#instance`
I'm +1 for adding `Class#attached_object`.
`nil` vs `raise` seem both fine to me, although I slightly prefer `raise` for clarity for the `nil` case.
Eregon (Benoit Daloze)
05:32 PM Revision bcd30fb9 (git): Re-enable TZ test missed due to merge conflict.
This was disabled by b7577b4d9e, while properly fixed upstream by:
https://github.com/ruby/spec/pull/939
Vít Ondruch
05:00 PM Bug #19020 (Closed): Unexpected timeout thread appears in ThreadGroup
Fixed in https://github.com/ruby/timeout/pull/22 Eregon (Benoit Daloze)
04:59 PM Revision 9d56d997 (git): [ruby/timeout] Explicit add the timeout thread to default ThreadGroup
Otherwise the timeout thread would be added to the ThreadGroup of the thread that makes the first call to Timeout.timeout .
Fixes bug 19020: https://bugs.ruby-lang.org/issues/19020
Add a test case to make sure the common thread doesn't...
larskanis (Lars Kanis)
03:11 PM Revision 1a06bc94 (git): [ruby/psych] Bump snakeyaml from 1.31 to 1.33
https://github.com/ruby/psych/commit/8a761cdfb7 Chad Wilson
02:36 PM Feature #19024: Proposal: Import Modules
shioyama (Chris Salzberg) wrote in #note-4:
> > Intuitively, this proposal changes the way Ruby works in a way that I believe has too many ramifications and edge cases. Also, it delegates control to the caller, rather than to the subjec...
austin (Austin Ziegler)
12:19 PM Feature #19024: Proposal: Import Modules
> I only have spare time for this, but will try to summarize some of those concerns later if the conversation does not address them or doesn't lean into packages.
Thank you, that would help a lot!
I guess my resistance to packages ...
shioyama (Chris Salzberg)
08:50 AM Feature #19024: Proposal: Import Modules
Fair, I see ramifications in transitivity for code unrelated to the packages (3rd party gems), constant resolution gimmicks, and a few other things. I only have spare time for this, but will try to summarize some of those concerns later ... fxn (Xavier Noria)
08:33 AM Feature #19024: Proposal: Import Modules
> Intuitively, this proposal changes the way Ruby works in a way that I believe has too many ramifications and edge cases. Also, it delegates control to the caller, rather than to the subject (the code being loaded).
I'm actualy trying ...
shioyama (Chris Salzberg)
08:06 AM Feature #19024: Proposal: Import Modules
I'm also very much in favor of introducing a first class "package" construct, since there are way too many edge cases for loading existing code in an isolated way like this. I might work for some, maybe even most packages, but ultimately... byroot (Jean Boussier)
07:02 AM Feature #19024: Proposal: Import Modules
Intuitively, this proposal changes the way Ruby works in a way that I believe has too many ramifications and edge cases. Also, it delegates control to the caller, rather than to the subject (the code being loaded).
Since the problem t...
fxn (Xavier Noria)
12:51 AM Feature #19024 (Closed): Proposal: Import Modules
There is no general way in Ruby to load code outside of the globally-shared namespace. This makes it hard to isolate components of an application from each other and from the application itself, leading to complicated relationships that ... shioyama (Chris Salzberg)
01:50 PM Revision c35e924f (git): [DOC] More on IO streams (#6445)
Text is reorganized so that most of the previous text is now in these newly-created sections:
Basic IO
Line IO
New text is added to form new sections:
Character IO
Byte IO
Codepoint IO
This gives the page a functional...
burdettelamar (Burdette Lamar)
01:22 PM Feature #18996: Proposal: Introduce new APIs to reline for changing dialog UI colours
> It would be better to find the original source of ANSI escape code instead of the Wikipedia article.
The 8-color part of ANSI escape code (not the entire standard) were defined in the [ECMA-48 standard](https://www.ecma-internationa...
st0012 (Stan Lo)
03:44 AM Revision 95d5b33e (git): syntax_suggest moved under the ruby organization from zombocom
hsbt (Hiroshi SHIBATA)
12:54 AM Feature #10320: require into module
At the last Developer Meeting, it was suggested I create a new issue for the topic we've been discussing since [my comment above](https://bugs.ruby-lang.org/issues/10320#note-13) since there are new developments, so I've done that:
ht...
shioyama (Chris Salzberg)
12:36 AM Feature #18639: Update Unicode data to Unicode Version 15.0.0
The SpacingMark issue ([Bug #19007]) seems still existing in Unicode 15.0.0 data. nobu (Nobuyoshi Nakada)
12:28 AM Feature #18639: Update Unicode data to Unicode Version 15.0.0
https://github.com/ruby/ruby/pull/6451
And [actual table differences](https://github.com/ruby/ruby/pull/6451/commits/33c2c234978d47c9e3ccef6a0035aafa218a12a0#diff-02cabe81f45a38076a16effcce80983650a94692f3c7e3a4f9f962164a840431).
nobu (Nobuyoshi Nakada)

09/26/2022

11:10 PM Revision 06abfa5b (git): Revert this until we can figure out WB issues or remove shapes from GC
Revert "* expand tabs. [ci skip]"
This reverts commit 830b5b5c351c5c6efa5ad461ae4ec5085e5f0275.
Revert "This commit implements the Object Shapes technique in CRuby."
This reverts commit 9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
tenderlovemaking (Aaron Patterson)
10:22 PM Feature #12084: `Class#instance`
I put together an implementation for this and created a PR: https://github.com/ruby/ruby/pull/6450 ufuk (Ufuk Kayserilioglu)
10:04 PM Misc #18977: DevMeeting-2022-09-22
* [Feature #19022] Use __builtin_ppc_get_timebase on POWER with clang (pkubaj)
* A simple change that allows run performance improvement
* [Feature #19023] Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc...
pkubaj (Piotr Kubaj)
10:02 PM Feature #19023 (Open): Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc on powerpc-freebsd
Enable riscv64 coroutines on riscv64-freebsd, arm32 on arm*-freebsd and ppc on powerpc-freebsd
https://github.com/ruby/ruby/pull/5852
pkubaj (Piotr Kubaj)
10:02 PM Feature #19022 (Open): Use __builtin_ppc_get_timebase on POWER with clang
Use __builtin_ppc_get_timebase on POWER with clang.
https://github.com/ruby/ruby/pull/5856
pkubaj (Piotr Kubaj)
07:00 PM Revision b39690df (git): Rename method name in keyword test from y to yo
Kernel#y is defined by psych/yaml, which causes occasional
nondeterministic problems with this test when doing parallel testing.
jeremyevans (Jeremy Evans)
06:55 PM Feature #18776 (Closed): Object Shapes
Applied in changeset commit:git|9ddfd2ca004d1952be79cf1b84c52c79a55978f4.
----------
This commit implements the Object Shapes technique in CRuby.
Object Shapes is used for accessing instance variables and representing the
"frozenness" ...
jemmai (Jemma Issroff)
06:54 PM Revision aa2a428c (git): Refactor str_substr and str_subseq
This commit extracts common code between str_substr and rb_str_subseq
into a function called str_subseq.
This commit also applies optimizations in commit 2e88bca to
rb_str_subseq.
peterzhu2118 (Peter Zhu)
05:51 PM Bug #18978: Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
Thanks for checking usages in gems @mame.
It looks like the last release of `rubysl-parsedate` is almost 10 years ago and the [repo](https://github.com/rubysl/rubysl-parsedate) no longer exists. I still think it's better to remove the...
peterzhu2118 (Peter Zhu)
02:02 AM Bug #18978: Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
BTW, if you remove the eighth argument, you may also want to remove the following code to handle the argument.
https://github.com/ruby/ruby/blob/d89f8a046753e2f166ee252510aadf1579dbcd63/time.c#L2947-L2955
mame (Yusuke Endoh)
02:01 AM Bug #18978: Unexpected behaviour in Time.utc and Time.local when 8 arguments are passed in
This behavior is to work with a ex-standard library called parsedate which was shipped with Ruby 1.8 series.
```
require 'parsedate'
ParseDate.parsedate "Tuesday, July 5th, 2007, 18:35:20 UTC"
# => [2007, 7, 5, 18, 35, 20, "UTC",...
mame (Yusuke Endoh)
04:21 PM Revision 830b5b5c (git): * expand tabs. [ci skip]
Tabs were expanded because the file did not have any tab indentation in unedited lines.
Please update your editor config, and use misc/expand_tabs.rb in the pre-commit hook.
git[bot]
04:21 PM Revision 9ddfd2ca (git): This commit implements the Object Shapes technique in CRuby.
Object Shapes is used for accessing instance variables and representing the
"frozenness" of objects. Object instances have a "shape" and the shape
represents some attributes of the object (currently which instance variables are
set and ...
jemmai (Jemma Issroff)
02:53 PM Bug #14900 (Closed): Extra allocation in String#byteslice
I think if we stick solely to the ticket description, I think https://github.com/ruby/ruby/pull/6443 (`2e88bca`) fixes the issue (the extra useless allocation).
Also note that this extra allocation was a shared string, so it wasn't copy...
byroot (Jean Boussier)
12:50 PM Bug #14900: Extra allocation in String#byteslice
By the way, ideally, I think you can implement this:
```ruby
buffer = String.new # allocation
while true
# Efficiently read into the buffer:
if buffer.empty?
io.read(1024, buffer)
else
buffer << io.read(1024)
end
#...
ioquatix (Samuel Williams)
12:45 PM Bug #14900: Extra allocation in String#byteslice
Okay, so @byroot and I discussed this issue at length.
The simplest way to get the behaviour you want is to call `freeze` on the source string.
```ruby
require "objspace"
string = "a" * 100_000
GC.start
GC.disable
generation = GC.cou...
ioquatix (Samuel Williams)
11:26 AM Bug #14900: Extra allocation in String#byteslice
I updated my PR and started investigating the changes between the current implementation and the proposed implementation, and after discussing it with @byroot we found a bug: https://github.com/ruby/ruby/pull/6443
This actually is far...
ioquatix (Samuel Williams)
12:15 PM Feature #16122: Data: simple immutable value object
@zverok Could you add the (simple) NEWS entry too? nobu (Nobuyoshi Nakada)
09:58 AM Feature #16122: Data: simple immutable value object
@zverok The summary looks OK. I accepted.
@ioquatix Your proposal should be handled separately. Could you submit a new one?
Matz.
matz (Yukihiro Matsumoto)
12:39 AM Feature #16122: Data: simple immutable value object
I'd like to know how complicated it would be to support an interface like this:
``` ruby
Header = Data.define(:type, :length)
# ...
buffer = IO::Buffer...
header = Header.new
buffer.unpack_into(header, :U16, :U32)
# internally, call r...
ioquatix (Samuel Williams)
11:41 AM Revision 2e88bca2 (git): string.c: don't create a frozen copy for str_new_shared
str_new_shared already has all the necessary logic to do this
and is also smart enough to skip this step if the source string
is already a shared string itself.
This saves a useless String allocation on each call.
byroot (Jean Boussier)
09:02 AM Bug #19005: Ruby interpreter compiled XCode 14 cannot build some native gems on macOS
>Could this patch be backported to 2.7 as well? Thanks!
@stanhu Maybe, yes. I submitted the backport patches for Ruby 2.7 at https://github.com/ruby/ruby/pull/6442.
hsbt (Hiroshi SHIBATA)
08:16 AM Bug #18912 (Closed): Build failure with Xcode 14 and macOS 13 (Ventura) Beta
I created changesets for Ventura and Xcode14 with https://bugs.ruby-lang.org/issues/19005
* https://github.com/ruby/ruby/pull/6440
* https://github.com/ruby/ruby/pull/6441
* https://github.com/ruby/ruby/pull/6442
hsbt (Hiroshi SHIBATA)
02:40 AM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta
@katei Thanks for your investigation. I confirmed to pass the failing tests with https://github.com/ruby/ruby/pull/6426 on macOS Ventura beta 8. hsbt (Hiroshi SHIBATA)
07:44 AM Revision 5b039647 (git): Fix coderange calculation in String#b
Leave the new coderange unknown if the original encoding is not
ASCII-compatible. Non-ASCII-compatible encoding strings with valid or
broken coderange can end up as ascii-only.
Fixes 9a8f6e392fbd ("Cheaply derive code range for String#b...
rhenium (Kazuki Yamaguchi)
07:10 AM Revision 1c14e406 (git): Fix `io/buffer.h` header guard.
Samuel Williams
06:45 AM Misc #16671 (Assigned): BASERUBY version policy
hsbt (Hiroshi SHIBATA)
06:37 AM Revision 411d0eec (git): Update `IO::Buffer` read/write to use rb_thread_io_blocking_region. (#6438)
Samuel Williams
05:44 AM Revision a8ad22d9 (git): Suppress a warning on clang
The following warning appears without this fix:
```
parse.y:78:1: warning: unknown warning group '-Wpsabi', ignored
[-Wunknown-warning-option]
RBIMPL_WARNING_IGNORED(-Wpsabi)
^
./include/ruby/internal/warning_push.h:103:39: note: ...
shugo (Shugo Maeda)
05:06 AM Revision 025b8701 (git): Add several new methods for getting and setting buffer contents. (#6434)
Samuel Williams
04:45 AM Feature #19015: Language extension by a heredoc
This proposal sounds interesting, but the naming looks like behind-the-scenes metaprogramming; it may be better to use a more flexible approach that doesn't fix the function name. duerst (Martin Dürst)
04:03 AM Revision ecffc6a2 (git): Generate the revision.h before Makefile
Except for GNU make which updates makefiles automatically, repeating
configure in the same directory causes `make` to stop whenever pulled
a new commit. This is unexpected in CIs.
nobu (Nobuyoshi Nakada)
04:00 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
jhawthorn (John Hawthorn) wrote in #note-4:
> Thanks! It was indeed broken by that commit. I've merged a fix and added tests so it should be working now.
Great!
I have confirmed that it is fixed.
Thanks.
osyo (manga osyo)
03:48 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
Thanks! It was indeed broken by that commit. I've merged a fix and added tests so it should be working now. jhawthorn (John Hawthorn)
03:45 AM Bug #19021 (Closed): Crash [BUG] Stack consistency error on ruby 3.2.0-dev
Applied in changeset commit:git|b361bdc20036688f17f1e39a260a70254e7db9cd.
----------
[Bug #19021] Fix safe call w/ conditional assign
As of fbaac837cfba23a9d34dc7ee144d7940248222a2, when we were performing
a safe call (`o&.x=`) with a ...
jhawthorn (John Hawthorn)
03:44 AM Revision b361bdc2 (git): [Bug #19021] Fix safe call w/ conditional assign
As of fbaac837cfba23a9d34dc7ee144d7940248222a2, when we were performing
a safe call (`o&.x=`) with a conditional assign (`||= 1`) and discarding
the result the stack would end up in a bad state due to a missing pop.
This commit fixes th...
jhawthorn (John Hawthorn)
03:03 AM Revision e3cc1a6c (git): Initialize Objective-C classes before fork() for macOS 13
Since macOS 13, CFString family API used in
`rb_str_append_normalized_ospath` may internally use Objective-C classes
(`NSTaggedPointerString` and `NSPlaceholderMutableString`) for small strings.
On the other hand, Objective-C classes sh...
katei (Yuta Saito)
03:00 AM Feature #9260 (Closed): make FileUtils.rm_rf raise on errors
We continue to discuss this to https://bugs.ruby-lang.org/issues/18784. hsbt (Hiroshi SHIBATA)
12:38 AM Revision d89f8a04 (git): [ruby/rdoc] Fix ruby script in "test_parse_method_bracket" (https://github.com/ruby/rdoc/pull/927)
Because it's syntax error.
https://github.com/ruby/rdoc/commit/993f2532ff
yui-knk (Kaneko Yuichiro)
12:21 AM Revision 1481e682 (git): Avoid type limits (#6435)
nobu (Nobuyoshi Nakada)

09/25/2022

01:40 PM Revision dc7d929e (git): Extract `RUBY_RELEASE_DATE` from also revision.h
This make variable is very useful for daily build. nobu (Nobuyoshi Nakada)
12:54 PM Feature #10320: require into module
I think there are some misunderstandings, which are at least partly my fault for not being clearer about my intentions here.
There are two things I presented earlier in this thread:
- changes to Ruby ([here](https://github.com/shioya...
shioyama (Chris Salzberg)
12:25 PM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
ruby_3_1 e46532feafadef252682794c941180df72483c19 merged revision(s) cf7d07570f50ef9c16007019afcff11ba6500d70. nagachika (Tomoyuki Chikanaga)
12:21 PM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
I tested on ruby_3_1 branch.
I'm afraid I failed to rebuild extensions before run make test-all on my environments.
nagachika (Tomoyuki Chikanaga)
09:38 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
I don't understand, it works fine on my machine. I made two backport PRs, maybe it doesn't work on some system and CI will catch it?
- 3.1: https://github.com/ruby/ruby/pull/6431
- 3.0: https://github.com/ruby/ruby/pull/6432
byroot (Jean Boussier)
09:27 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
@nagachika on 3.0, 3.1 or both? byroot (Jean Boussier)
06:14 AM Bug #18938: Backport cf7d07570f50ef9c16007019afcff11ba6500d70
I have got the same error with only backporting cf7d07570f50ef9c16007019afcff11ba6500d70. nagachika (Tomoyuki Chikanaga)
12:24 PM Revision e46532fe (git): merge revision(s) cf7d07570f50ef9c16007019afcff11ba6500d70: [Backport #18938]
Dump non-ASCII char as unsigned
Non-ASCII code may be negative on platforms plain char is signed.
---
ext/objspace/objspace_dump.c | 2 +-
test/objspace/test_objspace.rb | 15 +++++++++++++++
...
nagachika (Tomoyuki Chikanaga)
11:43 AM Feature #16122: Data: simple immutable value object
@matz I've updated the ticket text with the description of the implemented API and links.
Thank you!
zverok (Victor Shepelev)
11:41 AM Revision 85cc0ce5 (git): Use `int first_lineno` for binary format.
Samuel Williams
11:41 AM Revision 22af2e90 (git): Rework vm_core to use `int first_lineno` struct member.
Samuel Williams
11:41 AM Revision 75cf29f6 (git): Rework `first_lineno` to be `int`.
Samuel Williams
10:34 AM Revision a95b741a (git): [ruby/bigdecimal] Remove trailing whitespace.
https://github.com/ruby/bigdecimal/commit/223d193f01 Samuel Williams
09:18 AM Bug #19020: Unexpected timeout thread appears in ThreadGroup
A fix is here: https://github.com/ruby/timeout/pull/22 larskanis (Lars Kanis)
07:51 AM Revision 8e2c4251 (git): [ruby/bigdecimal] Improve documentation of BigDecimal#sign
Fixes https://github.com/ruby/bigdecimal/issues/78 by describing behaviour for positive and negative zero in the docs.
https://github.com/ruby/bigdecimal/commit/5415b120ab
mjrzasa (Maciek Rząsa)
07:35 AM Revision 81b919ce (git): Add news for eval coverage.
Samuel Williams
07:35 AM Revision 09ea4f3a (git): Extract common code for coverage setup.
Samuel Williams
07:01 AM Bug #18941: Endless loop with a memory leak in FileUtils::mkpath
ruby_3_1 a07e7ad6b0b9abc44d097ca600b0ff801d0d0a06 merged revision(s) 70f69f85395f5735429cd45136d7de2742f08b72. nagachika (Tomoyuki Chikanaga)
07:01 AM Bug #19014: Backport commits to add the --with-gmp-dir option in the configure script
ruby_3_1 d1b36c827036765ab68c88ab4315a26a220d5f06 merged revision(s) e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1. nagachika (Tomoyuki Chikanaga)
07:01 AM Revision d1b36c82 (git): merge revision(s) e2b47b832f53b2fd0626774a573a22c15a933c64,f512df73986c74e2f4bd65ca642879a0618da213,2e25b85a7e4268676fcdf17b5975c2fd60066ce1: [Backport #19014]
configure.ac: Manage OPT_DIR better (#6367)
* Check rpath flag earlier
* Manage OPT_DIR at once
---
configure.ac | 97 +++++++++++++++++++++++++++---------------------------------
1 file changed...
nagachika (Tomoyuki Chikanaga)
06:18 AM Revision a07e7ad6 (git): merge revision(s) 70f69f85395f5735429cd45136d7de2742f08b72: [Backport #18941]
[ruby/fileutils] Fix mkdir_p hanging on Windows when trying to create
a file on a offline drive
https://github.com/ruby/fileutils/commit/9cc6a082d7
---
lib/fileutils.rb | 2 +-
t...
nagachika (Tomoyuki Chikanaga)
05:05 AM Bug #18732: [Win32] `File.chardev?` and `File::Stat.chardev?` are not working
ruby_3_1 e3607e687014da4f6347c462e7d11fb67000b733 merged revision(s) a0040af6715d85f416f1282588974e151a8164eb. nagachika (Tomoyuki Chikanaga)
05:05 AM Bug #18734: [Win32] `File.sticky?` returns `nil` while `File::Stat.sticky?` returns `false`
ruby_3_1 89eab8e0bf34ed36f32c1f8c230790f8b23a356f merged revision(s) 7f81f335478a3ca873f34e3bc0af6927819d3e84. nagachika (Tomoyuki Chikanaga)
04:46 AM Revision 89eab8e0 (git): merge revision(s) 7f81f335478a3ca873f34e3bc0af6927819d3e84: [Backport #18734]
Return `false` where sticky-bit is not provided [Bug #18734]
---
file.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
04:45 AM Revision e3607e68 (git): merge revision(s) a0040af6715d85f416f1282588974e151a8164eb: [Backport #18732]
[Win32] Fix mode of character/pipe device stat [Bug #18732]
---
test/ruby/test_file_exhaustive.rb | 33 ++++++++++++++++++++++++++++-----
win32/win32.c | 22 ++++++++++++++++------
2 ...
nagachika (Tomoyuki Chikanaga)
04:44 AM Bug #18922: Time at 24:00:00 UTC is not normalized
ruby_3_1 13ee4b2c35bad0f893d5ed5a6fdca62da406f958 merged revision(s) 68903df6f6fc548f3bf68fb09ee8b2495dcd28f0. nagachika (Tomoyuki Chikanaga)
04:43 AM Bug #18902: Thread#value crash if the thread was killed because of a fork
ruby_3_1 720de2008ca06edb22e5ad7d1432fee4f2575e00 merged revision(s) 65ae2bb2e045aa8b668d3c30515f5a6cb3eb68ad. nagachika (Tomoyuki Chikanaga)
04:43 AM Bug #18928: Crash in WeakMap when inspecting T_FREE objects
ruby_3_1 c356c31f77b2d7c7c7f40f5b19dbb0961ea5f803 merged revision(s) 86d061294d3cc1656e18d0e1fd4b4f290da16944. nagachika (Tomoyuki Chikanaga)
04:00 AM Revision c356c31f (git): merge revision(s) 86d061294d3cc1656e18d0e1fd4b4f290da16944: [Backport #18928]
[Bug #18928] Fix crash in WeakMap
In wmap_live_p, if is_pointer_to_heap returns false, then the page is
either in the tomb or has already been freed, so the object is dead. In
this case, wmap_live_p should return...
nagachika (Tomoyuki Chikanaga)
03:38 AM Revision 13ee4b2c (git): merge revision(s) 68903df6f6fc548f3bf68fb09ee8b2495dcd28f0: [Backport #18922]
[Bug #18922] Normalize time at 24:00:00 UTC
---
test/ruby/test_time.rb | 2 ++
time.c | 14 ++++++++++++++
2 files changed, 16 insertions(+)
nagachika (Tomoyuki Chikanaga)
03:33 AM Revision 720de200 (git): merge revision(s) 65ae2bb2e045aa8b668d3c30515f5a6cb3eb68ad: [Backport #18902]
Thread#value: handle threads killed by a fork
[Bug #18902]
When a thread is killed because we forked, the `value` if left
to `Qundef`. Returning it woudl crash the VM.
---
test/ruby/test_thread....
nagachika (Tomoyuki Chikanaga)

09/24/2022

10:14 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
@joshc thanks for your work investigating this issue and please let me know once you are ready for another code review. ioquatix (Samuel Williams)
10:11 PM Revision 205c252e (git): Reuse rb_method_call_kw function
S_H_ (Shun Hiraoka)
10:05 AM Bug #19021: Crash [BUG] Stack consistency error on ruby 3.2.0-dev
Perhaps this commit is the cause.
https://github.com/ruby/ruby/commit/fbaac837cfba23a9d34dc7ee144d7940248222a2
osyo (manga osyo)
09:26 AM Bug #19021 (Closed): Crash [BUG] Stack consistency error on ruby 3.2.0-dev
Report a `[BUG] Stack consistency error` on ruby 3.2.0-dev.
## Code
```ruby
# sample.rb
p RUBY_DESCRIPTION
# => "ruby 3.2.0dev (2022-09-24T00:41:15Z master 82ac4a2399) [x86_64-linux]"
def hoge
result = nil
result&.foo |...
osyo (manga osyo)
09:17 AM Bug #19020 (Closed): Unexpected timeout thread appears in ThreadGroup
The new timeout implementation creates a thread at the very first use.
This has the side effect, that this management thread appears in a surrounding `ThreadGroup`.
See this example:
```ruby
require "timeout"
threadgroup = Threa...
larskanis (Lars Kanis)
06:13 AM Revision 08476c45 (git): Remove unneeded semicolons
k0kubun (Takashi Kokubun)
06:07 AM Revision b0e3ee45 (git): Suppress -Wtype-limits warnings on mjit_c.rb
k0kubun (Takashi Kokubun)
12:41 AM Bug #18960 (Closed): Module#using raises RuntimeError when called at toplevel from wrapped script
Applied in changeset commit:git|82ac4a2399516a3ffda750b815c244aad6d38277.
----------
Support using at toplevel in wrapped script
Allow refinements to be used at the toplevel within a script that is
loaded under a module.
Fixes [Bug #1...
shioyama (Chris Salzberg)
12:41 AM Revision 82ac4a23 (git): Support using at toplevel in wrapped script
Allow refinements to be used at the toplevel within a script that is
loaded under a module.
Fixes [Bug #18960]
shioyama (Chris Salzberg)

09/23/2022

10:58 PM Feature #19008: Introduce coverage support for `eval`.
@jeremyevans0 now I understand your motivation.
To summarise:
- Coverage is always going to be imprecise.
- More precise coverage can be useful, like branch coverage, etc, because we can see whether specific lexical logic is teste...
ioquatix (Samuel Williams)
03:24 PM Feature #19008: Introduce coverage support for `eval`.
ioquatix (Samuel Williams) wrote in #note-13:
> Thanks Jeremy.
> ...
Consider this code:
```ruby
class A
%w'foo bar'.each do |meth|
class_eval <<-RUBY, __FILE__, __LINE__+1
def #{meth}(v)
if v
do_...
jeremyevans0 (Jeremy Evans)
07:34 AM Feature #19008: Introduce coverage support for `eval`.
mame (Yusuke Endoh) wrote in #note-10:
> @ioquatix I found yet another issue. It does not work with oneshot coverage.
I am sorry, ignore this. It works as expected. I think my testing was wrong. (Maybe I used ruby 3.1 instead of master)
mame (Yusuke Endoh)
02:53 AM Feature #19008: Introduce coverage support for `eval`.
```ruby
Coverage.start(eval_key: ->(file, line){"eval-#{file}:#{line}"})
```
What problem are you trying to solve?
ioquatix (Samuel Williams)
02:07 AM Feature #19008: Introduce coverage support for `eval`.
@mame thanks for your test cases, we should add them to the tests, I'll figure out why it's not working. ioquatix (Samuel Williams)
02:05 AM Feature #19008: Introduce coverage support for `eval`.
Thanks Jeremy.
> Your use case (ERB coverage) is apparently limited to files that aren't required. However, eval methods are used with __FILE__ on a regular basis for metaprogramming.
My use case is general coverage, including file...
ioquatix (Samuel Williams)
10:57 PM Revision a74f4cde (git): Remove reference to __classid__
This used to be used for module names but its uses were removed in
b00f280d4b9569e7153365d7e1c522b3d6b3c6cf.
jhawthorn (John Hawthorn)
08:17 PM Revision 912ea825 (git): YJIT: Support Rust 1.58.1 for --yjit-stats on Arm (#6410)
* YJIT: Test Rust 1.58.1 as well on Cirrus
* YJIT: Avoid using a Rust 1.60.0 feature
* YJIT: Use autoconf to detect support
* YJIT: We actually need to run it
for checking it properly
* YJIT: Try cfg!(target_feature = "lse")
* Reve...
k0kubun (Takashi Kokubun)
06:53 PM Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta

From my further debugging, I found that CoreFoundation internally creates NSTaggedPointerString for small strings since macOS 13.
This C code can check a string is represented by tagged pointer in CoreFoundation.
```c
// $ clang...
katei (Yuta Saito)
05:16 PM Feature #12084: `Class#instance`
Dan0042 (Daniel DeLorme) wrote in #note-12:
> I think it would be nicer if `#attached_object` returns nil instead of raising an error. Since nil can't be a valid return value anyway. So you don't need to check for `#singleton_class?` if...
ufuk (Ufuk Kayserilioglu)
01:19 PM Feature #12084: `Class#instance`
I think it would be nicer if `#attached_object` returns nil instead of raising an error. Since nil can't be a valid return value anyway. So you don't need to check for `#singleton_class?` if you want to avoid the cost of Exceptions.
Fin...
Dan0042 (Daniel DeLorme)
03:40 PM Feature #18951: Object#with to set and restore attributes around a block
`#with` is not a good name. For a method defined on Object, the semantics should be the same on all classes in ruby. For example `#dup` does the same thing (create a duplicate) on all objects, even if the implemention is class-specific.
...
Dan0042 (Daniel DeLorme)
03:30 PM Feature #19018 (Closed): uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
jeremyevans0 (Jeremy Evans)
05:25 AM Feature #19018: uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
Ok, I'm wrong. This seems to work. We can close this issue. Turns out the problem is in gRPC, not Ruby: https://github.com/grpc/grpc/issues/22681 stanhu (Stan Hu)
05:08 AM Feature #19018: uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
I submitted https://github.com/ruby/ruby/pull/6424. That method could use some cleanup. stanhu (Stan Hu)
04:46 AM Feature #19018 (Closed): uri/generic: Support CIDR blocks in comma-delimited entries in no_proxy
Currently `URI::Generic.use_proxy?` does not treat the `no_proxy` strings as a comma-delimited value: https://github.com/ruby/ruby/blob/0ed71b37fa9af134fdd5a7fd1cebd171eba83541/lib/uri/generic.rb#L1545-L1564
That means that it's not p...
stanhu (Stan Hu)
03:04 PM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
Forgot to add the link to the draft PR: https://github.com/ruby/ruby/pull/6423.
> I think we should solve this in IO, not in Net::HTTP. Checking the class/type is a strong indication to me that the problem is not being solved at the r...
joshc (Josh C)
07:01 AM Bug #19017: Net::HTTP may block when attempting to reuse a persistent connection
I think we should solve this in IO, not in Net::HTTP. Checking the class/type is a strong indication to me that the problem is not being solved at the right level. ioquatix (Samuel Williams)
03:02 PM Revision 7588f218 (git): Allow changing conversion macro in MJIT bindgen
This is necessary for object shapes. k0kubun (Takashi Kokubun)
02:41 PM Revision 3ddab3a8 (git): [DOC] Housekeeping in iostreams doc (#6420)
Write some method names in linkable form; make some capitalization consistent. burdettelamar (Burdette Lamar)
12:57 PM Feature #18885: End of boot advisory API for RubyVM
+1 for Process.warmup Dan0042 (Daniel DeLorme)
12:55 PM Feature #18784: `FileUtils.rm_f` and `FileUtils.rm_rf` should not mask exceptions
Here's a use case for a `rm_f` that only ignores ENOENT errors. Before processing, you want to delete a cache file (that may or may not exist) so the processing regenerates it. But if the file exists, it **must** be deleted, otherwise th... Dan0042 (Daniel DeLorme)
10:28 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
shioyama (Chris Salzberg) wrote in #note-14:
> @shugo I've updated [my PR](https://github.com/ruby/ruby/pull/6226) and added a spec calling a method which calls `using`, which fails with the previous code but passes with the updated cod...
shugo (Shugo Maeda)
05:58 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
@shugo I've updated [my PR](https://github.com/ruby/ruby/pull/6226) and added a spec calling a method which calls `using`, which fails with the previous code but passes with the updated code. Can you have a look? shioyama (Chris Salzberg)
02:51 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
shioyama (Chris Salzberg) wrote in #note-12:
> Oh never mind, I see. My PR results in the error with `require` but the `unreachable` BUG with `load`.
> ...
Yes, RuntimeError should be raised in both cases.
shugo (Shugo Maeda)
01:36 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
Oh never mind, I see. My PR results in the error with `require` but the `unreachable` BUG with `load`.
Ok I'll try to find another way to fix it.
shioyama (Chris Salzberg)
01:30 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
@shugo
Actually, it seems the same problem _is_ there with `require`:
```ruby
# foo.rb
def foo
using Module.new
end
foo
```
```ruby
require "foo"
# main.using is permitted only at toplevel (RuntimeError)
```
So I don't really und...
shioyama (Chris Salzberg)
01:25 AM Bug #18960: Module#using raises RuntimeError when called at toplevel from wrapped script
Hmm, ok this is where I originally encountered this problem:
https://github.com/rails/rails/blob/b9493a47e65287f3b135904dbdd511bbf5a5798c/activesupport/lib/active_support/core_ext/enumerable.rb#L285-L290
```ruby
# Using Refinements her...
shioyama (Chris Salzberg)
08:39 AM Feature #19019: Nicely formatted exception messages in HTML
> I believe that what kind of HTML fragment is needed is not up to error_highlight or the authors of exception classes, but up to each framework.
That's a fair approach. But I'd prefer a simple interface for formatting HTML exceptions...
ioquatix (Samuel Williams)
08:15 AM Feature #19019: Nicely formatted exception messages in HTML
Now error_highlight provides an API `ErrorHighlight.spot(...)` to take the column information programmatically, and Rails master uses it to show error_highlight in their code snippet. See https://github.com/rails/rails/pull/45818.
I b...
mame (Yusuke Endoh)
07:52 AM Feature #19019 (Open): Nicely formatted exception messages in HTML
We have made a lot of improvements to exception formatting. See https://bugs.ruby-lang.org/issues/18296 for details.
I'd like us to consider adding support for HTML formatting of messages, e.g.
```
exception.full_message(highlight...
ioquatix (Samuel Williams)
08:01 AM Feature #18438 (Closed): Add `Exception#additional_message` to show additional error information
I have already merged the PR. Closing. mame (Yusuke Endoh)
07:42 AM Feature #18296 (Closed): Custom exception formatting should override `Exception#full_message`.
I'm satisfied that this has been fully addressed and the design is much better. Thanks everyone. ioquatix (Samuel Williams)
07:40 AM Revision a78c733c (git): Revert "Revert "error.c: Let Exception#inspect inspect its message""
This reverts commit b9f030954a8a1572032f3548b39c5b8ac35792ce.
[Bug #18170]
mame (Yusuke Endoh)
07:40 AM Bug #18170: Exception#inspect should not include newlines
After the commit, some tests of debug gem started failing, so I tentatively reverted it at https://github.com/ruby/ruby/commit/b9f030954a8a1572032f3548b39c5b8ac35792ce . And I forgot this issue. Sorry.
I think the issue has been alrea...
mame (Yusuke Endoh)
07:11 AM Bug #18170: Exception#inspect should not include newlines
I tested this on current Ruby head, and I can't seem to get the proposed new behaviour:
```ruby
> p StandardError.new("foo\nbar")
#<StandardError: foo
bar>
```
Am I doing something wrong?
ioquatix (Samuel Williams)
07:38 AM Feature #18194 (Closed): No easy way to format exception messages per thread/fiber scheduler context.
I think we've achieved enough of the interface to make this a non-issue, i.e. with `Exception#message` being preserved, `Exception#detailed_message` which prints the message + any augmentations, and `Exception#full_message` which include... ioquatix (Samuel Williams)
06:35 AM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
@matz @naruse do you agree with the current PR?
```ruby
class TimeoutError < StandardError
end
class IO::TimeoutError < TimeoutError
end
```
Or do you think it makes more sense:
```ruby
module TimeoutError
end
class IO::TimeoutError...
ioquatix (Samuel Williams)
12:44 AM Feature #16122: Data: simple immutable value object
Could you summarize the up-to-date proposed specification of Data class, please?
For the record, I accept `define` instead of `def`.
Matz.
matz (Yukihiro Matsumoto)
 

Also available in: Atom