Project

General

Profile

Activity

From 03/22/2024 to 03/28/2024

03/28/2024

11:13 PM Revision 02d40b6c (git): Use ubf list on cygwin
fd0 (Daisuke Fujimura)
09:41 PM Revision f3c35749 (git): YJIT: Optimize putobject+opt_ltlt for integers
In `jit_rb_int_lshift()`, we guard against the right hand side changing
since we want to avoid generating variable length shifts. When control
reaches a `putobject` and `opt_ltlt` pair, though, we know that the right
hand side never chan...
alanwu (Alan Wu)
09:35 PM Revision 817eecf6 (git): [PRISM] Enable passing regexp test
kddnewton (Kevin Newton)
08:39 PM Revision a8ec347c (git): [ruby/prism] Allow writing to keywords with named captures if they are already locals
https://github.com/ruby/prism/commit/418318e1c8 kddnewton (Kevin Newton)
07:30 PM Revision 8780059c (git): [ruby/prism] Reject invalid capture groups (keywords)
https://github.com/ruby/prism/commit/bb78d83e88 kddnewton (Kevin Newton)
07:21 PM Revision bb3cbdfe (git): YJIT: add iseq_alloc_count to stats (#10398)
* YJIT: add iseq_alloc_count to stats
* Remove an empty line
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
maximecb (Maxime Chevalier-Boisvert)
07:17 PM Revision a8f902ea (git): [PRISM] Add debug info for frozen strings
kddnewton (Kevin Newton)
07:13 PM Feature #20394: Add an offset parameter to `String#to_i`
byroot (Jean Boussier) wrote in #note-10:
> `StringIO` isn't as convenient as you make it out to be. Maybe it could become that, but it isn't today.
Hmm, it's not like it matters very much, but I get the weird feeling you misundersto...
Dan0042 (Daniel DeLorme)
08:54 AM Feature #20394: Add an offset parameter to `String#to_i`
> but rest assured once we can start using IO::Buffer exclusively, I will do so.
I'd be curious to see an HTTP1 parser using IO::Buffer. I don't see how you'd do it today.
byroot (Jean Boussier)
08:52 AM Feature #20394: Add an offset parameter to `String#to_i`
My protocol gems have been around since Ruby 2.3+ so there are compatibility issues, but rest assured once we can start using `IO::Buffer` exclusively, I will do so. Using `String` for IO buffers is equally fraught with odd issues like e... ioquatix (Samuel Williams)
07:28 AM Feature #20394: Add an offset parameter to `String#to_i`
> What about IO::Buffer? It was introduced somewhat stealthily and its API is somewhat unique, and yet by its idea it seems to be exactly that.
I'm aware of it, but it only offer binary oriented methods. Perhaps it could be extended t...
byroot (Jean Boussier)
07:20 AM Feature #20394: Add an offset parameter to `String#to_i`
> I'd be all for a dedicated `Buffer` class that allow to efficiently parse text protocols like HTTP and RESP3, but right now all we got is String.
What about [IO::Buffer](https://docs.ruby-lang.org/en/master/IO/Buffer.html)? It was i...
zverok (Victor Shepelev)
06:59 AM Feature #20394 (Closed): Add an offset parameter to `String#to_i`
> This interpretation mismatch could be a source of vulnerability.
Good catch @mame, that does indeed make the `to_i` proposal much more problematic. I guess I don't really have much of a proposal anymore.
> ...
Not today no. You c...
byroot (Jean Boussier)
03:22 AM Feature #20394: Add an offset parameter to `String#to_i`
I thought of a security concern.
I suppose all methods proposed in this ticket would allow underscores as a digit separator. This is natural in Ruby, but usually an unnecessary feature outside of Ruby, including the Redis protocol.
T...
mame (Yusuke Endoh)
06:13 PM Bug #20400 (Closed): Nested BEGIN{} execution order
Right now there are specs for the order in which `BEGIN{}` should be executed, which is the order they appear in the file. For example:
```ruby
BEGIN { print "1" }
print "4"
BEGIN { print "2" }
print "5"
BEGIN { print "3" }
```
...
kddnewton (Kevin Newton)
05:02 PM Revision 3e9c6842 (git): [PRISM] Allow space before encoding comment
kddnewton (Kevin Newton)
04:04 PM Revision 86e0d83a (git): [PRISM] Simplify raising load errors
kddnewton (Kevin Newton)
04:04 PM Revision d583616f (git): [ruby/prism] Ensure deserialization works with errors+warnings>256
https://github.com/ruby/prism/commit/f540e830b5 kddnewton (Kevin Newton)
04:04 PM Revision 35ff3028 (git): [ruby/prism] Various cleanup with new -x option
https://github.com/ruby/prism/commit/020756fb11 kddnewton (Kevin Newton)
04:04 PM Revision f7c5e11d (git): [PRISM] Use new -x prism API
kddnewton (Kevin Newton)
04:04 PM Revision fcc06fa8 (git): [ruby/prism] CLI -x flag
https://github.com/ruby/prism/commit/2068e3c30a kddnewton (Kevin Newton)
03:54 PM Revision 97b2cc34 (git): Allow FormatError to take either String or Gem for source
Most of the calls to `FormatError.new` pass `@gem` for the second argument, which has a `path` method.
But in one case—on package.rb:691 in `verify_gz`, the `source` argument is a `String`.
So if there's ever a GZip decode error when a...
jez (Jake Zimmerman)
03:54 PM Revision fa0a6241 (git): Don't check for dynamic symbol when reference updating
All symbols in the GC are dynamic symbols, so we don't need to check it. peterzhu2118 (Peter Zhu)
02:58 PM Revision 03ab4a56 (git): Clean symlinks to be runnable [ci skip]
nobu (Nobuyoshi Nakada)
02:48 PM Revision 7055dcf9 (git): [ruby/prism] Improve description for InterpolatedStringNodeFlags
https://github.com/ruby/prism/commit/caa576d63f andrykonchin (Andrew Konchin)
02:28 PM Bug #20398 (Closed): heap-buffer-overflow in numeric literal parsing
Applied in changeset commit:git|2ab9fb1c2e659f1f819ed63796171b2129255185.
----------
[Bug #20398] Terminate token buffer at invalid octal number
nobu (Nobuyoshi Nakada)
12:02 PM Bug #20398: heap-buffer-overflow in numeric literal parsing
Does this fix it?
```diff
diff --git a/parse.y b/parse.y
index 585130c3465..55619273b8e 100644
--- a/parse.y
+++ b/parse.y
@@ -10164,6 +10164,7 @@ parse_numeric(struct parser_params *p, int c)
/* prefixed octal */
...
nobu (Nobuyoshi Nakada)
04:54 AM Bug #20398: heap-buffer-overflow in numeric literal parsing
https://github.com/ruby/ruby/pull/10393 should fix this kjtsanaktsidis (KJ Tsanaktsidis)
04:51 AM Bug #20398 (Closed): heap-buffer-overflow in numeric literal parsing
I found the following ASAN error in `TestRubyLiteral#test_integer`. It appears that this code is calling strdup on a non-null terminated string.
```
[1/1] TestRubyLiteral#test_integer==================================================...
kjtsanaktsidis (KJ Tsanaktsidis)
02:27 PM Bug #20399 (Open): Ripper doesn't respect implicit -x
For the given script:
```ruby
#!/bin/sh
# -*- ruby -*-
exec "${RUBY-ruby}" "-x" "$0" "$@" && [ ] if false
#!ruby
# This needs ruby 2.0, Subversion and Git.
# As a Ruby committer, run this in an SVN repository
# to commit a chan...
kddnewton (Kevin Newton)
02:19 PM Revision 4fa8fefd (git): Suppress warning at literal string
nobu (Nobuyoshi Nakada)
01:28 PM Revision 2ab9fb1c (git): [Bug #20398] Terminate token buffer at invalid octal number
nobu (Nobuyoshi Nakada)
08:41 AM Feature #19057: Hide implementation of `rb_io_t`.
"ioquatix (Samuel Williams) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> Issue #19057 has been updated by ioquatix (Samuel Williams).
>
>
> > Why don't you reconsider the "nested public interface" approach?
>
> My asses...
Anonymous
06:52 AM Misc #20336: DevMeeting-2024-04-17
* [Bug #19865] Segfault when calling user signal handlers during VM shutdown
* Seems like the bug is well understood and there is a patch for it (https://github.com/nobu/ruby/tree/signal-at-cleanup), can it be merged?
dentarg (Patrik Ragnarsson)
05:01 AM Bug #20050: Segfault on Ruby 3.2.2 (and 3.1) on x86_64 Darwin 20 (rb_id_table_lookup for #hash)
Any chance this could be backported into Ruby 3.2? It was a bit tricky because of the VWA-related changes in 3.3, but I did manage to open a PR to do this: https://github.com/ruby/ruby/pull/10394
I'm running into this problem with the...
kjtsanaktsidis (KJ Tsanaktsidis)
02:44 AM Revision 7630a89a (git): Use www.rfc-editor.org for RFC text.
We use the following site for that now:
* https://tools.ietf.org/ or http
* https://datatracker.ietf.org or http
Today, IETF said the official site of RFC is www.rfc-editor.org.
FYI: https://authors.ietf.org/en/references-in-rfcxml
I...
hsbt (Hiroshi SHIBATA)
02:18 AM Revision 67bdb7aa (git): [DOC] Use `rdoc-ref:@` shorthands for `rdoc-label:` tags
nobu (Nobuyoshi Nakada)
01:55 AM Revision 7293cef0 (git): [DOC] molinillo has been moved
nobu (Nobuyoshi Nakada)
01:15 AM Revision 84236132 (git): Launchable: Configure OS correctly in macos.yaml
ono-max (Naoto Ono)

03/27/2024

10:50 PM Misc #20387: Meta-ticket for ASAN support
I merged another few PR's related to unit tests in ASAN builds:
https://github.com/ruby/ruby/pull/10383
https://github.com/ruby/ruby/pull/10384
https://github.com/ruby/ruby/pull/10385
https://github.com/ruby/ruby/pull/10386
kjtsanaktsidis (KJ Tsanaktsidis)
10:49 PM Revision dc9d2455 (git): Add a missing asan_unpoisoning_p in gc_set_candidate_object_i
It walks the heap, and checks for T_NONE and T_ZOMBIE objects, so it
needs to unpoison these slots before accessing them when ASAN is
enabled.
KJ Tsanaktsidis
10:48 PM Revision 75234beb (git): Make TestParallel#test_retry_workers consider RUBY_TEST_TIMEOUT_SCALE
This test currently fails if RUBY_TEST_TIMEOUT_SCALE is set, because the
worker timeout is scaled out but the duration of the sleep does not;
thus, the test-test-case does not timeout when it should.
KJ Tsanaktsidis
10:48 PM Revision 7bdd742c (git): Set ASAN_OPTIONS=disable_coredump=0 for test_execopts_rlimit test
By default, ASAN sets RLIMIT_CORE to zero, "to avoid dumping a 16T+ core
file" on 64 bit systems. These tests are just asserting on the expected
value of RLIMIT_CORE, not actually dumping core files, so it's fine to
disable that behaviou...
KJ Tsanaktsidis
10:48 PM Revision 8c7b9bd0 (git): Disable ASAN handle_segv in test_rubyoptions.rb
ASAN registers a sigsegv handler and causes extra output to be emitted
that these tests are not expecting.
KJ Tsanaktsidis
09:19 PM Revision 7e12b03c (git): [PRISM] Set path on syntax error
kddnewton (Kevin Newton)
08:46 PM Feature #20394: Add an offset parameter to `String#to_i`
mame (Yusuke Endoh) wrote in #note-6:
> Generalizing, we may want `IO#scanf`, but that's probably overkill?
This previously existed in the stdlib but was removed: #16170
byroot (Jean Boussier) wrote in #note-7:
> ...
With Stri...
Dan0042 (Daniel DeLorme)
07:41 AM Feature #20394: Add an offset parameter to `String#to_i`
> The idea of an offset in a string is perfectly represented via the cursor in IO/StringIO
Indeed, but the problem is that you then have very few methods to parse values or peak in the buffer to find elements. Lots of methods needed f...
byroot (Jean Boussier)
03:57 AM Feature #20394: Add an offset parameter to `String#to_i`
As @eregon said, `String#to_i(offset:)` with byte offset looks strange to me.
I like `IO#get_i(base=10)` and `StringIO#get_i` (despite the name).
I was a little concerned that it returns infinitely large Bignum when the IO reads "9...
mame (Yusuke Endoh)
06:59 PM Revision 010286c7 (git): [PRISM] Enable passing test for hash duplicated keys
kddnewton (Kevin Newton)
06:57 PM Revision 9b97f1f3 (git): [ruby/prism] Compare duplicates keys/whens for __FILE__
https://github.com/ruby/prism/commit/85263ade63 kddnewton (Kevin Newton)
06:31 PM Bug #20395: Invalid license note in vsnprintf.c
But wait, maybe the ["old style" license](https://github.com/ruby/ruby/blame/e51014f9c05aa65cbf203442d37fef7c12390015/LEGAL#L1091-L1119) is crippled and it should really contain the additional paragraph, because otherwise as far as I und... vo.x (Vit Ondruch)
06:25 PM Bug #20395: Invalid license note in vsnprintf.c
Actually, there is one more occurrence of this situation:
https://github.com/ruby/ruby/blob/51e6becd391eac03fd3842e1db9b6907999d64ba/LEGAL?plain=1#L1090-L1093
and there is some history:
https://github.com/ruby/ruby/commit/cb47ae...
vo.x (Vit Ondruch)
05:12 PM Bug #20395: Invalid license note in vsnprintf.c
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Should we remove that note simply?
Yes, that seems to like something which should have been part of that commit.
vo.x (Vit Ondruch)
06:31 PM Revision 9f9c0425 (git): [PRISM] Turn on passing test
kddnewton (Kevin Newton)
06:28 PM Revision 4361727d (git): [ruby/prism] Warn on static literal arrays in predicate writes
https://github.com/ruby/prism/commit/faadd05693 kddnewton (Kevin Newton)
06:19 PM Revision 39606f36 (git): [PRISM] Implicitly change encoding when a UTF-8 BOM is found
kddnewton (Kevin Newton)
06:19 PM Revision ab2ee308 (git): [PRISM] Match style for invalid encoding error
kddnewton (Kevin Newton)
06:19 PM Revision eb995a64 (git): [PRISM] Include file and line in error message
kddnewton (Kevin Newton)
05:41 PM Feature #20390 (Closed): Issue with StringIO and chilled strings
Applied in changeset commit:git|0f5ab4ad5289d6385b74e800a73de005a48737b6.
----------
[ruby/stringio] Eagerly defrost chilled strings
[Feature #20390]
https://github.com/ruby/stringio/commit/17ee957f34
Co-authored-by: Jean Boussier <b...
etienne (Étienne Barrié)
05:41 PM Revision 51e6becd (git): [ruby/stringio] Extract `readonly_string_p`
https://github.com/ruby/stringio/commit/0da5b725c8 nobu (Nobuyoshi Nakada)
05:27 PM Revision 06563d78 (git): [ruby/stringio] Adjust styles [ci skip]
https://github.com/ruby/stringio/commit/4e8e82fc30 nobu (Nobuyoshi Nakada)
05:27 PM Revision 0f5ab4ad (git): [ruby/stringio] Eagerly defrost chilled strings
[Feature #20390]
https://github.com/ruby/stringio/commit/17ee957f34
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
etienne (Étienne Barrié)
05:27 PM Revision db5686a8 (git): Read as binary regardless locale
nobu (Nobuyoshi Nakada)
05:22 PM Bug #20397 (Closed): The nkf license in LEGAL file seems to be obsolete
The LEGAL file seems to contain [obsolete information](https://github.com/ruby/ruby/blob/a69f0047cb489c136001937442c1d2ffd8ea1dd7/LEGAL?plain=1#L730-L746) about nkf license.
It seems that nkf indeed use such license, but in upstream, ...
vo.x (Vit Ondruch)
05:03 PM Revision a69f0047 (git): [PRISM] Use new error formatting API
kddnewton (Kevin Newton)
05:03 PM Revision 9b816e67 (git): [ruby/prism] Add option for inlining messages for error formatting
https://github.com/ruby/prism/commit/af0204a8ab kddnewton (Kevin Newton)
04:55 PM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
This is a great addition! I've often used a post-processing script to remove the string data, so having it built in would be very helpful.
I think `false` would be a good default (but either way is fine by me).
jhawthorn (John Hawthorn)
08:50 AM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
> false on default is safer?
Agreed. Safer and faster. I only set it to `true` on default to not change the current behavior, but wouldn't mind flipping it to `false` by default.
byroot (Jean Boussier)
08:48 AM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
false on default is safer?
ko1 (Koichi Sasada)
08:29 AM Feature #20396 (Open): ObjectSpace.dump_all(string_value: false): skip dumping the String contents
`ObjectSpace.dump_all` is a very useful method to debug memory leaks and such, hence is frequently needed in production. But since all the 7bit strings content is included in the dump, it incur the risk of leaking personal data, or secre... byroot (Jean Boussier)
03:41 PM Revision c50b6425 (git): Remove st_lookup when updating object ID
peterzhu2118 (Peter Zhu)
03:41 PM Revision 4566843b (git): Check FL_SEEN_OBJ_ID before looking up in table
This is an optimization for compaction so that we only lookup in the
obj_to_id_tbl table only when FL_SEEN_OBJ_ID is set.
peterzhu2118 (Peter Zhu)
02:12 PM Revision e4d64797 (git): Add array/hash implicit allocation tests
These are designed to prevent allocation regressions (commits that
increase the number of implicitly allocated arrays and hashes). We
have already had three commits in the last couple weeks to fix
allocation regressions:
* 15dc3aaa311b3...
jeremyevans (Jeremy Evans)
01:39 PM Revision aa794cc5 (git): Turn GC off at boot on Windows
This is to stop crashes like:
.\miniruby.exe: [BUG] Segmentation fault
ruby 3.4.0dev (2024-03-26T15:38:26Z pull/10370/merge 040ea2ae2f) [x64-mswin64_140]
-- Control frame information ----------------------------------------...
peterzhu2118 (Peter Zhu)
01:39 PM Revision 19916bac (git): Revert "skip `test_gc_stress_at_startup`"
This reverts commit 3680981c7b71df8c3a426164787ccefe5296bb25. peterzhu2118 (Peter Zhu)
01:39 PM Revision f14e52c8 (git): Fix setting GC stress at boot when objspace not available
peterzhu2118 (Peter Zhu)
01:39 PM Revision 1d99fe43 (git): Register classpath of FrozenCore before converting to ICLASS
Since ICLASS do not mark the classpath, we need to register it as a
global object before we convert RubyVM::FrozenCore as a ICLASS.
peterzhu2118 (Peter Zhu)
01:39 PM Revision 9ad175c1 (git): Register rb_fix_to_s_static as global right after creating
If a GC runs right during creating a rb_fix_to_s_static, it may cause
the previous ones to become swept by the GC because they have not been
registered by rb_vm_register_global_object.
peterzhu2118 (Peter Zhu)
12:48 PM Revision 2505c27f (git): [PRISM] Fix up some error formatting edge cases
kddnewton (Kevin Newton)
12:34 PM Revision 42d1cd8f (git): [PRISM] Pass --enable-frozen-string-literal through to evals
kddnewton (Kevin Newton)
12:34 PM Revision a1ae29e8 (git): [PRISM] Enable other passing specs
kddnewton (Kevin Newton)
12:34 PM Revision 843c760a (git): [PRISM] Enable passing syntax tests
kddnewton (Kevin Newton)
12:34 PM Revision 8b2fc859 (git): [PRISM] Enable passing frozen string in array test
kddnewton (Kevin Newton)
12:34 PM Revision 6f8a252e (git): [PRISM] Enable passing heredoc test
kddnewton (Kevin Newton)
12:34 PM Revision e4b21090 (git): [PRISM] Fix ASCII-compatible check for eval encoding
kddnewton (Kevin Newton)
11:48 AM Bug #19716: SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
hsbt (Hiroshi SHIBATA) wrote in #note-5:
> We welcome patch for them.
[Patch](https://bugs.ruby-lang.org/attachments/7081) has been available for for years. https://bugs.ruby-lang.org/issues/19716#note-2 confirms it still works for...
ncopa (Natanael Copa)
01:44 AM Bug #19716 (Feedback): SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
mame (Yusuke Endoh)
01:03 AM Bug #19716 (Closed): SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue...
hsbt (Hiroshi SHIBATA)
11:34 AM Revision 44b5c912 (git): [rubygems/rubygems] Allow installing plugins from path via CLI
Also bring the man page up to date.
https://github.com/rubygems/rubygems/commit/a849bd6947
Cody Cutrer
07:18 AM Revision cbc11bcb (git): Ignore errors on prerelease gems
nobu (Nobuyoshi Nakada)
06:59 AM Revision 6498c439 (git): Update bundled gems list as of 2024-03-26
git[bot]
05:00 AM Revision 66a0e8b0 (git): d9234ba87b7e48381c8c44ef4a302ef368ee0ee7 is done to fix at related gems
hsbt (Hiroshi SHIBATA)
04:26 AM Revision 16c18eaf (git): Revert "Mark iseq structs with rb_gc_mark_movable"
This reverts commit a31ca3500d995b6706f94ff72166d699c5faeb27 which
broke debug inspector API.
nobu (Nobuyoshi Nakada)
04:26 AM Revision 0c114dfc (git): Check existing ISeq wrapper
nobu (Nobuyoshi Nakada)
03:17 AM Revision e5143517 (git): Update vendored resolv to 0.4.0
hsbt (Hiroshi SHIBATA)
03:17 AM Revision 8fa6c364 (git): [ruby/strscan] Omit tests for `#scan_byte` and `#peek_byte` on
TruffleRuby temporary
(https://github.com/ruby/strscan/pull/91)
The methods were added in #89 but they aren't implemented in TruffleRuby
yet. So let's omit them for now to have CI green.
https://github.com/ruby/strscan/commit/844d963b56
andrykonchin (Andrew Konchin)
03:16 AM Revision 8896ac02 (git): [ruby/openssl] Fix test_pkey_dsa.rb in FIPS.
Note that I created the `dsa2048.pem` and signature text
(`signature_encoded.txt`), that is used as a text to create the `signature0` in
the `test_sign_verify` by the following steps with the `openssl` CLI on FIPS
module.
```
$ OPENSSL_...
Jun Aruga
01:53 AM Misc #20028 (Closed): I'd like my commit bit back
Sorry to my late action.
I recovered your account at redmine, github and our canonical repository.
hsbt (Hiroshi SHIBATA)
01:45 AM Bug #20099 (Feedback): Ruby 3.3.0 segfaults on s390x musl libc (Alpine Linux) when built with -O3 (default optflags)
mame (Yusuke Endoh)
01:01 AM Bug #20099 (Closed): Ruby 3.3.0 segfaults on s390x musl libc (Alpine Linux) when built with -O3 (default optflags)
Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue...
hsbt (Hiroshi SHIBATA)
01:44 AM Misc #17174 (Feedback): "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4
mame (Yusuke Endoh)
01:03 AM Misc #17174 (Closed): "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4
Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue...
hsbt (Hiroshi SHIBATA)
01:03 AM Bug #16810 (Closed): ruby segfaults on s390x with musl libc
Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue...
hsbt (Hiroshi SHIBATA)

03/26/2024

11:24 PM Revision 6e343867 (git): [flori/json] Fix memory leak when exception is raised during JSON generation
If an exception is raised the FBuffer is leaked.
For example, the following script leaks memory:
o = Object.new
def o.to_json(a) = raise
10.times do
100_000.times do
begin
JSON(o)
rescue
...
peterzhu2118 (Peter Zhu)
10:52 PM Revision b2b665eb (git): [DOC] remove repetitive words in comments
Signed-off-by: crazeteam <lilujing@outlook.com> crazeteam
09:10 PM Bug #20393 (Closed): `after_fork_ruby` clears all pending interrupts for both parent and child process.
Nobu approved this change on the PR, so I've merged it: https://github.com/ruby/ruby/commit/a7ff264477105b5dc0ade6facad4176a1b73df0b
I'll introduce a separate PR to add the test to ruby-spec.
ioquatix (Samuel Williams)
07:53 AM Bug #20393: `after_fork_ruby` clears all pending interrupts for both parent and child process.
@nobu can you please review <https://github.com/ruby/ruby/pull/10365> thanks!
Some more background found by @mame:
- Originally introduced in <https://github.com/ruby/ruby/commit/2d5061bd98a59fc1b9a477074f8f7a3500db8342>. It looks ...
ioquatix (Samuel Williams)
05:41 AM Bug #20393 (Closed): `after_fork_ruby` clears all pending interrupts for both parent and child process.
In the following program, the behaviour of the parent process is affected by whether `Process.fork` is invoked or not.
```ruby
Thread.handle_interrupt(RuntimeError => :never) do
Thread.current.raise(RuntimeError, "Queued error")
...
ioquatix (Samuel Williams)
09:10 PM Revision a7ff2644 (git): Don't clear pending interrupts in the parent process. (#10365)
Samuel Williams
07:32 PM Feature #20394: Add an offset parameter to `String#to_i`
Dan0042 (Daniel DeLorme) wrote in #note-4:
> It doesn't seem like String#getbyte is much faster than File#getbyte, and StringIO#getbyte is fastest of all.
I'm seeing a similar result to what you show above with YJIT disabled, but `s...
shan (Shannon Skipper)
06:40 PM Feature #20394: Add an offset parameter to `String#to_i`
byroot (Jean Boussier) wrote in #note-3:
> We tried this, but it was way slower (https://github.com/redis-rb/redis-client/pull/150), we haven't dug much as to why. But generally I'd love if I could just rely on the internal IO buffer in...
Dan0042 (Daniel DeLorme)
11:39 AM Feature #20394: Add an offset parameter to `String#to_i`
> I think #19315 is a more general solution for this.
I don't think so, because for the `to_i` case at least, you can already do this today with `byteslice`:
```ruby
def parse_int(offset)
@buffer.byteslice(offset, -1).to_i
end
```
B...
byroot (Jean Boussier)
11:21 AM Feature #20394: Add an offset parameter to `String#to_i`
BTW I think the custom String#to_i makes a lot of sense, and might be faster than String#to_i because it needs to handle fewer cases and can e.g. handle reading directly from an IO vs going through a String in between. Eregon (Benoit Daloze)
11:18 AM Feature #20394: Add an offset parameter to `String#to_i`
I think #19315 is a more general solution for this.
It feels unidiomatic to add `offset` kwargs to core methods just to avoid substrings, I think we should make substrings faster instead.
For unpack it's more natural to have an offse...
Eregon (Benoit Daloze)
10:57 AM Feature #20394 (Closed): Add an offset parameter to `String#to_i`
### Context
I maintain the `redis-client` gem, and it comes with an optional swapable implementation in C that binds the `hiredis` C client, [which used to performs up to 5 times faster in some cases](https://github.com/redis-rb/redis...
byroot (Jean Boussier)
07:32 PM Revision 0c62eb25 (git): [PRISM] Use correct encoding for regular expression literals
kddnewton (Kevin Newton)
06:41 PM Revision 4a78d752 (git): [ruby/prism] Fix an incorrect range of `Prism::Location` when `PM_ERR_RETURN_INVALID`
This PR fixes the following incorrect range of `Prism::Location` when `PM_ERR_RETURN_INVALID`.
It may be hard to tell from the text, but this Ruby error highlights `return`:
```console
$ ruby -e 'class Foo return end'
-e:1: Invalid ret...
koic (Koichi ITO)
06:33 PM Revision 696b2716 (git): Return stdbool from recursive_check()
The return value is used as a boolean value in C. Since it's not used as
a Ruby object, it just seems confusing that it returns a VALUE.
k0kubun (Takashi Kokubun)
06:29 PM Revision e16086b7 (git): Refactor init_copy gc attributes
This PR moves `rb_copy_wb_protected_attribute` and
`rb_gc_copy_finalizer` into a single function called
`rb_gc_copy_attributes` to be called by `init_copy`. This reduces the
surface area of the GC API.
Co-authored-by: Peter Zhu <peter@p...
eileencodes (Eileen Uchitelle)
06:24 PM Revision 16cf9047 (git): [DOC] Fix a couple other descriptions
similarly to 332f4938cf3adbff8f15b647767dc660583a5bef k0kubun (Takashi Kokubun)
06:21 PM Revision 332f4938 (git): [DOC] Fix a description about rb_exec_recursive_outer
It gives true/TRUE (int) instead of Qtrue (VALUE). k0kubun (Takashi Kokubun)
05:53 PM Revision 3e0eea64 (git): Don't set RUBY_TYPED_EMBEDDABLE flag on backtrace
peterzhu2118 (Peter Zhu)
05:53 PM Revision 4bdb7961 (git): Mark frame info structs with rb_gc_mark_movable
Using rb_gc_mark_movable and a reference update function, we can make
frame infos movable in memory, and avoid pinning frame info backtraces.
```
require "objspace"
exceptions = []
GC.disable
50_000.times do
begin
raise "some exce...
gmcgibbon (Gannon McGibbon)
04:11 PM Revision 4300c42a (git): [PRISM] Better handle interpolated* nodes with inner frozen parts
kddnewton (Kevin Newton)
04:11 PM Revision 8ec7c3ce (git): [ruby/prism] Properly handle freeing ephemeral node lists
https://github.com/ruby/prism/commit/f49261a9b9 kddnewton (Kevin Newton)
04:11 PM Revision 2a3601d6 (git): [ruby/prism] Handle regexp split between heredocs
https://github.com/ruby/prism/commit/c1400d8aed kddnewton (Kevin Newton)
04:11 PM Revision 240fb395 (git): [ruby/prism] Freeze internal parts, again
https://github.com/ruby/prism/commit/50372fee5c kddnewton (Kevin Newton)
03:02 PM Bug #20168: Process won't exit when Ractor.select waiting a Ractor
I think I have encountered the same issue. I was able to reproduce the problem using a simpler code that results in a process hang when a Ractor, which internally raises an exception, is passed to `Ractor.select`.
Here is the minimal co...
over.rye@gmail.com (Masato Ohba)
02:02 PM Revision 19752cf4 (git): Use macro SET_WHEN_UINT
peterzhu2118 (Peter Zhu)
01:49 PM Revision e9152bc9 (git): [ruby/prism] Enable ParametersSignatureTest on TruffleRuby
https://github.com/ruby/prism/commit/c7a7af1eac andrykonchin (Andrew Konchin)
01:30 PM Bug #20395: Invalid license note in vsnprintf.c
Should we remove that note simply? nobu (Nobuyoshi Nakada)
11:19 AM Bug #20395 (Open): Invalid license note in vsnprintf.c
I am looking into Ruby licenses and I stumble upon vsnprintf.c, namely about these lines:
~~~
/*
* IMPORTANT NOTE:
* --------------
* From ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change
* paragraph 3 above is n...
vo.x (Vit Ondruch)
11:54 AM Revision 2b08406c (git): Expose rb_str_chilled_p
Some extensions (like stringio) may need to differentiate between
chilled strings and frozen strings.
They can now use rb_str_chilled_p but must check for its presence since
the function will be removed when chilled strings are removed....
etienne (Étienne Barrié)
11:30 AM Revision 8cfa8e87 (git): [ruby/irb] Fix a typo (https://github.com/ruby/irb/pull/912)
https://github.com/ruby/irb/commit/2057248e40 hsbt (Hiroshi SHIBATA)
10:51 AM Bug #20392 (Closed): Delegate super calls with a block
Applied in changeset commit:git|a850cd1a87bef738c40d9c550fb8823699083f2e.
----------
[Bug #20392] Block arguments duplication check at `super`
nobu (Nobuyoshi Nakada)
01:12 AM Bug #20392: Delegate super calls with a block
jeremyevans0 (Jeremy Evans) wrote in #note-4:
> It's missing entries for `NODE_SUPER` and `NODE_ZSUPER` in `get_nd_args`, so the `nd_args` are ignored for those nodes. At least those node types should be fixed, and all other node types...
nobu (Nobuyoshi Nakada)
01:11 AM Bug #20392: Delegate super calls with a block
https://github.com/ruby/ruby/pull/10361 nobu (Nobuyoshi Nakada)
12:57 AM Bug #20392: Delegate super calls with a block
tenderlovemaking (Aaron Patterson) wrote in #note-3:
> Dan0042 (Daniel DeLorme) wrote in #note-1:
> ...
It's missing entries for `NODE_SUPER` and `NODE_ZSUPER` in `get_nd_args`, so the `nd_args` are ignored for those nodes. At least t...
jeremyevans0 (Jeremy Evans)
12:42 AM Bug #20392: Delegate super calls with a block
Dan0042 (Daniel DeLorme) wrote in #note-1:
> In Ruby 3.2, example 3 raised an exception "both block arg and actual block given"
> ...
Thanks, I should have checked older versions. According to git bisect, this was introduced in fdc329...
tenderlovemaking (Aaron Patterson)
12:01 AM Bug #20392: Delegate super calls with a block
`super(...){}`should be a syntax error, just as `foo(...){}` is.
`super` behavior in general is special. For example, `super(arg)` is not a zsuper, but still passes the block implicitly, you have to do `super(arg, &nil)` to avoid p...
jeremyevans0 (Jeremy Evans)
10:51 AM Revision 52cf6ec4 (git): [ruby/prism] Fix typos
After finding the "if if" typo, some additional typos identified by running `codespell` are also being corrected:
https://github.com/codespell-project/codespell
https://github.com/ruby/prism/commit/e6a34cfeeb
koic (Koichi ITO)
08:37 AM Revision a850cd1a (git): [Bug #20392] Block arguments duplication check at `super`
nobu (Nobuyoshi Nakada)
08:18 AM Revision 3680981c (git): skip `test_gc_stress_at_startup`
(maybe) from 9cf754b the test fails on some environments:
https://rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20240325T200004Z.fail.html.gz
```
1) Failure:
TestGc#test_gc_stress_at_startup [/home/chkbuild/chkbuild/tmp/build/20240...
ko1 (Koichi Sasada)
07:20 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
Implemented `Hash.new(capacity:)` in https://github.com/ruby/ruby/pull/10357 byroot (Jean Boussier)
03:33 AM Bug #20391 (Feedback): Segmentation fault at 0x0000000000000028 on Ruby 3.3.0
For the time being, how about using rubylang/ruby image?
https://hub.docker.com/r/rubylang/ruby/
Currently, there is no core developer in Ruby responsible for alpine (or musl) support. Therefore, I don't think there is currently an...
mame (Yusuke Endoh)
02:10 AM Revision b39057f3 (git): Fix extension installer for out-of-place build
https://github.com/ruby/ruby/pull/9673#issuecomment-2019028293 hsbt (Hiroshi SHIBATA)

03/25/2024

11:21 PM Bug #20392: Delegate super calls with a block
In Ruby 3.2, example 3 raised an exception "both block arg and actual block given"
So this looks like a Ruby 3.3 regression.
Dan0042 (Daniel DeLorme)
10:51 PM Bug #20392 (Closed): Delegate super calls with a block
I'm seeing strange behavior with calls to `super` when combined with `...` and a block. I'm not sure if this is expected behavior or not, so I'm filing this ticket.
Using delegate `...` with an explicit block will cause an error:
...
tenderlovemaking (Aaron Patterson)
09:50 PM Revision de742b42 (git): YJIT: Inline simple getlocal+leave iseqs
This mainly targets things like `T.unsafe()` from Sorbet, which is just an
identity function at runtime and only a hint for the static checker.
Only deal with simple caller and callees (no keywords and splat etc.).
Co-authored-by: Takas...
alanwu (Alan Wu)
09:47 PM Bug #20391 (Feedback): Segmentation fault at 0x0000000000000028 on Ruby 3.3.0
When running a couple apps on Digital Ocean Kubernetes, I am getting a segmentation fault. Reverting to 3.2.3 fixes the error.
I am currently using ruby:3.3.0-alpine3.19 from dockerhub.
=> Booting Puma
=> Rails 7.1.3.2 application ...
jason.hobbs (Jason Hobbs)
07:45 PM Revision aa900138 (git): [rubygems/rubygems] Fix: vendor_gem takes a block
https://github.com/rubygems/rubygems/commit/50cda56fc3 Martin Emde
07:45 PM Revision 06d5d4f1 (git): [rubygems/rubygems] Fix resolver bug where ActivationRequest objects were not properly compared
They were delegating their `#hash` value to a class not overriding that
method, and so were returning inconsistent results.
https://github.com/rubygems/rubygems/commit/723e4ee0fc
deivid (David Rodríguez)
07:08 PM Revision 453de8c2 (git): [ruby/prism] Revert "Frozen parts"
https://github.com/ruby/prism/commit/48f2e8c169 kddnewton (Kevin Newton)
05:36 PM Revision ff8f98f5 (git): [ruby/prism] Mark interpolated nodes as static literal
https://github.com/ruby/prism/commit/d00977a9bd kddnewton (Kevin Newton)
05:36 PM Revision eef272f1 (git): [ruby/prism] Mark inner parts of interpolated* nodes as frozen
https://github.com/ruby/prism/commit/58a127cd5d kddnewton (Kevin Newton)
05:07 PM Revision 9cf754b6 (git): Fix --debug=gc_stress flag
ruby_env_debug_option gets called after Init_gc_stress, so the
--debug=gc_stress flag never works.
peterzhu2118 (Peter Zhu)
04:06 PM Revision 46bf6ae8 (git): YJIT: Propagate Array, Hash, and String classes (#10323)
k0kubun (Takashi Kokubun)
03:54 PM Revision a0895456 (git): [ruby/prism] Fix up minimal build setting
https://github.com/ruby/prism/commit/98c85c4acb kddnewton (Kevin Newton)
03:52 PM Revision 53cc2723 (git): [ruby/prism] Handle CLRF in regexp
https://github.com/ruby/prism/commit/b96bada9ae kddnewton (Kevin Newton)
03:52 PM Revision 86077fbc (git): [ruby/prism] Refactor regexp lexing to make it easier to support CLRF
https://github.com/ruby/prism/commit/60805d85ca kddnewton (Kevin Newton)
03:52 PM Revision 0bc764b7 (git): [ruby/prism] Handle CLRF inside string contents
https://github.com/ruby/prism/commit/aac606301e kddnewton (Kevin Newton)
03:52 PM Revision 14ab6989 (git): [ruby/prism] Handle CLRF inside heredoc contents
https://github.com/ruby/prism/commit/1fbac72485 kddnewton (Kevin Newton)
02:43 PM Revision a31ca350 (git): Mark iseq structs with rb_gc_mark_movable
Using rb_gc_mark_movable and a reference update function, we can make
instruction sequences movable in memory, and avoid pinning compiled iseqs.
```
require "objspace"
iseqs = []
GC.disable
50_000.times do
iseqs << RubyVM::Instruction...
gmcgibbon (Gannon McGibbon)
02:25 PM Revision 55264717 (git): [rubygems/rubygems] Improve validation of `bundle plugin install` options
Ensure only one source type is specified, and ensure options that
are only relevant to git sources are only specified with git.
https://github.com/rubygems/rubygems/commit/58b043215e
Cody Cutrer
02:11 PM Revision 65264b0d (git): [ruby/prism] Fix build error for C99 and C23 CI matrix
This PR fixes the following build error for C99 and C23 Ruby's CI matrix:
```console
../src/prism/prism.c:1241:19: error: initializing 'char *' with an expression of
type 'const char *' discards qualifiers [-Werror,-Wincompatible-pointe...
koic (Koichi ITO)
01:13 PM Revision 3b4dacf2 (git): Let the docs of base_label and label be similar
fxn (Xavier Noria)
01:13 PM Revision dadaa114 (git): Update vm_backtrace.c
Co-authored-by: Jean Boussier <jean.boussier@gmail.com> fxn (Xavier Noria)
01:13 PM Revision 4235bc29 (git): Add an example to base_label API
fxn (Xavier Noria)
12:16 PM Revision 54428c2b (git): [ruby/prism] Add missing symbol in comment for binding powers for `||=`
This adds in the descriptive comment the `||=` operator corresponding to `PM_TOKEN_PIPE_PIPE_EQUAL` for pm_binding_powers[PM_TOKEN_MAXIMUM] in prism.c
https://github.com/ruby/prism/commit/315ca16e23
francktrouillez (Franck Trouillez)
12:16 PM Revision d0513572 (git): [ruby/prism] Fix comment typos in prism.c
This fixes some comment typos in English in the prism.c file. It fixes some typos and follows the current conventions:
- Sentences in comments end with `.`
- Use infinitive instead of 3rd person present simple to describe functions
http...
francktrouillez (Franck Trouillez)
12:16 PM Revision 56a2fad2 (git): [ruby/prism] Fix incorrect paring when using invalid regexp options
Fixes https://github.com/ruby/prism/pull/2617.
There was an issue with the lexer as follows.
The following are valid regexp options:
```console
$ bundle exec ruby -Ilib -rprism -ve 'p Prism.lex("/x/io").value.map {|token| token[0].type...
koic (Koichi ITO)
12:14 PM Revision 9b921f66 (git): Update default gems list at daf1d7bfefa89a0473af9b304a3798 [ci skip]
git[bot]
12:13 PM Revision f5a2f55a (git): [ruby/prism] Use Sexp#line_max not Sexp#max_line
for RubyParser translation
https://github.com/ruby/prism/commit/a37169621a
jsc (Justin Collins)
12:13 PM Revision daf1d7bf (git): [ruby/reline] Bump version to v0.5.0
(https://github.com/ruby/reline/pull/664)
https://github.com/ruby/reline/commit/1d6569600c
ima1zumi (Mari Imaizumi)
11:48 AM Revision f53209f0 (git): [ruby/irb] Cache RDoc::RI::Driver.new
(https://github.com/ruby/irb/pull/911)
* Cache RDoc::RI::Driver.new to improve performance and to avoid flaky test
* Insert sleep to fix flaky rendering test that renders document dialog
https://github.com/ruby/irb/commit/da84e6cb56
tompng (tomoya ishida)
11:06 AM Revision 5f334b67 (git): [ruby/reline] Remove useless tests
(https://github.com/ruby/reline/pull/665)
The pasting tests hadn't been working since as early as v0.2.0. Since
what it tried to cover is already gone for such a long time, I think it's
better to write new ones if needed then to keep th...
st0012 (Stan Lo)
09:17 AM Revision 219d7cc1 (git): lib/bundled_gems.rb: dynamically ignore Kernel.require decorators
Followup: https://github.com/ruby/ruby/pull/10347
This avoid directly referencing bootsnap and zeitwerk, and also
handle other gems that may decorate `require`.
byroot (Jean Boussier)
09:04 AM Revision e70ccc91 (git): Update minitest and power_assert bundled gems
They were pointing to branches to be chilled string compatible.
Both patches have been merged now.
byroot (Jean Boussier)
09:02 AM Bug #20389: Issue with chilled strings and mutability after 12be40ae
Thank you @nobu, I was about to look into it :) byroot (Jean Boussier)
01:27 AM Bug #20389 (Closed): Issue with chilled strings and mutability after 12be40ae
Applied in changeset commit:git|fdd7ffb70ca6e9f7d790aadde86dbc8172e19f4d.
----------
[Bug #20389] Chilled string cannot be a shared root
nobu (Nobuyoshi Nakada)
08:37 AM Revision 152192c9 (git): Use load_gemspec instead of Gem::Specification.load.
We need to purge `git ls-files` from gemspec in default gems. hsbt (Hiroshi SHIBATA)
08:28 AM Feature #19057: Hide implementation of `rb_io_t`.
> the nagging from chilled strings
Eric, I understand that it won't make your annoyance go away, but just in case you didn't know, if you wish to get rid of these warnings easily, you can add `# frozen_string_literal: false` at the t...
byroot (Jean Boussier)
08:09 AM Revision 2f654588 (git): Backport https://github.com/ruby/ruby/pull/10347 (#10349)
Fix incorrect warning target with Zeitwerk and support warning with Bootsnap. hsbt (Hiroshi SHIBATA)
07:42 AM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
> From here, I found a simple workaround: ./configure cflags="-std=gnu99". Just FYI.
> ...
Just a notice/heads-up that when modifying CFLAGS you need to remember to keep optimization flags "-O2"/"-O3".
Failure to build Ruby with opti...
Aile5ooQuaerah1oiyoh (- -)
06:39 AM Revision 6c65f11c (git): Bump github/codeql-action from 3.24.8 to 3.24.9
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.24.8 to 3.24.9.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
06:16 AM Revision bd85fd6d (git): Guard makefile target at cross-build
http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-aarch64/log/20240325T041917Z.fail.html.gz hsbt (Hiroshi SHIBATA)
06:04 AM Revision 675dcf91 (git): Partly Revert "Show the chilled status of a String [ci skip]"
This reverts commit e720a6b48582900efd1bd326210644b2fc0f2c5d. hsbt (Hiroshi SHIBATA)
05:33 AM Revision e720a6b4 (git): Show the chilled status of a String [ci skip]
nobu (Nobuyoshi Nakada)
05:33 AM Revision 990e11b6 (git): Bootsnap and Zeitwerk are working correctly now
hsbt (Hiroshi SHIBATA)
05:33 AM Revision 6b1691eb (git): Remove rubylibdir from bootsnap
hsbt (Hiroshi SHIBATA)
05:33 AM Revision d6e9367e (git): Skip Bootsnap and Zeitwerk in bundled gems warning
fxn (Xavier Noria)
05:33 AM Revision 02a4bdd6 (git): Add newline each test script
hsbt (Hiroshi SHIBATA)
05:33 AM Revision 9db30021 (git): Added test script for bundled_gems.rb with zeitwerk
hsbt (Hiroshi SHIBATA)
03:57 AM Bug #20310 (Closed): ASAN fake stacks need to be marked during GC for non-current execution context
Applied in changeset commit:git|48d3bdddbaeabed5fb6a97bfbe65e250d1383a9c.
----------
Move asan_fake_stack_handle to EC, not thread
It's really a property of the EC; each fiber (which has its own EC) also
has its own asan_fake_stack_han...
Anonymous
03:57 AM Revision 69579ed5 (git): Mark fiber stacks in rb_execution_context_mark
Currently, fiber stacks are marked separately from the rest of the
execution context. The fiber code deliberately does _NOT_ set
ec->machine.stack_end on the saved EC, so that the code in
`rb_execution_context_mark` does not mark it; ins...
KJ Tsanaktsidis
03:57 AM Revision 2535a09e (git): Check ASAN fake stacks when marking non-current threads
Currently, we check the values on the machine stack & register state to
see if they're actually a pointer to an ASAN fake stack, and mark the
values on the fake stack too if required. However, we are only doing
that for the _current_ thr...
KJ Tsanaktsidis
03:57 AM Revision 48d3bddd (git): Move asan_fake_stack_handle to EC, not thread
It's really a property of the EC; each fiber (which has its own EC) also
has its own asan_fake_stack_handle.
[Bug #20310]
KJ Tsanaktsidis
03:39 AM Bug #18455: `IO#close` has poor performance and difficult to understand semantics.
After reviewing `async-io`, it looks like `wait_readable` and `wait_writable` might not be interrupted by `close`, leading to some odd behaviour. ioquatix (Samuel Williams)
02:55 AM Revision ea31228d (git): Consider extensions in gems outside of ext/
deivid (David Rodríguez)
02:55 AM Revision 2dd2204d (git): Extract `root` helper
It holds the root directory for each type of default gem (ext/ or lib/). deivid (David Rodríguez)
02:55 AM Revision 083e7080 (git): Consider `target_prefix` in extension Makefiles
deivid (David Rodríguez)
02:55 AM Revision 2b703eed (git): Consistently put requirable features in default gemspecs file list
deivid (David Rodríguez)
02:55 AM Revision bece07e6 (git): Fix gemspec file list for extension gems
So that it also includes requirable features provided by extensions. deivid (David Rodríguez)
02:55 AM Revision 1e6117d6 (git): Simplify FileCollector interface
deivid (David Rodríguez)
02:55 AM Revision 348d8bdb (git): Use `$ext_build_dir` consistently
Instead of hardcoded "ext". deivid (David Rodríguez)
01:26 AM Revision fdd7ffb7 (git): [Bug #20389] Chilled string cannot be a shared root
nobu (Nobuyoshi Nakada)
12:28 AM Revision 95864a6e (git): Bump dependabot/fetch-metadata from 1.6.0 to 2.0.0
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.6.0 to 2.0.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
dependabot[bot]

03/24/2024

11:34 PM Revision e86a6191 (git): Lrama v0.6.5
yui-knk (Kaneko Yuichiro)
04:05 PM Feature #20390: Issue with StringIO and chilled strings
This is being discussed at https://github.com/ruby/stringio/pull/93 byroot (Jean Boussier)
03:46 PM Feature #20390 (Closed): Issue with StringIO and chilled strings
StringIO doesn't appear to handle chilled strings in a backwards-compatible way after 12be40ae
```ruby
require "stringio"
sio = StringIO.new("")
sio.write("hello")
```
When not specifying a value for `frozen-string-literal`, ...
mdalessio (Mike Dalessio)
03:27 PM Revision 5e4b4d66 (git): [rubygems/rubygems] Remove typo name
It is more 2 years since #5109, probably enough time to warn.
https://github.com/rubygems/rubygems/commit/1e9433e77f
nobu (Nobuyoshi Nakada)
01:37 PM Revision 7c015c3b (git): Remove never used macros related to RJIT [ci skip]
These macros have not been used since the commit "Stop exporting
symbols for MJIT" 233ddfac541749a0da80ea27913dc1ef4ea700bb, and
renamed as RJIT.
nobu (Nobuyoshi Nakada)
01:35 PM Bug #20389: Issue with chilled strings and mutability after 12be40ae
tagging @byroot @etienne mdalessio (Mike Dalessio)
01:33 PM Bug #20389 (Closed): Issue with chilled strings and mutability after 12be40ae
Commit 12be40ae introduced the concept of "chilled" strings when code is compiled with frozen-string-literals not explicitly enabled or disabled. I believe I've found a related bug, which I've bisected to this commit.
This reproductio...
mdalessio (Mike Dalessio)
01:04 PM Revision 74593613 (git): [ruby/reline] Disable dialog proc if TERM=dumb
(https://github.com/ruby/reline/pull/663)
https://github.com/ruby/reline/commit/4928e06a24
tompng (tomoya ishida)
12:54 PM Revision 82f4cff1 (git): [ruby/irb] Fix indent test for new reline
(https://github.com/ruby/irb/pull/908)
https://github.com/ruby/irb/commit/7c16ce033e
tompng (tomoya ishida)
10:47 AM Revision b0eda83e (git): [ruby/reline] Add mode_string to prompt calculation dependencies
(https://github.com/ruby/reline/pull/658)
* Add mode_string to prompt calculation dependencies
* Update vi show-mode-in-prompt test
https://github.com/ruby/reline/commit/a0cee06ec5
tompng (tomoya ishida)
10:45 AM Revision b03705db (git): [ruby/reline] Refactor key actor test
(https://github.com/ruby/reline/pull/645)
* Add assertion assert_cursor_line to test helper
* Autofix key_actor test to use assert_cursor_line
* Rename the assertion to assert_line_around_cursor and remove other assertions for line an...
tompng (tomoya ishida)
04:45 AM Feature #19057: Hide implementation of `rb_io_t`.
Eric, thanks for your comment. I understand your concern about Ruby's incompatibility.
Sometimes it is inevitable to introduce incompatibilities to improve a language specification (you may not agree with me here), but I believe that ...
mame (Yusuke Endoh)

03/23/2024

11:06 PM Revision 7c61506b (git): Do not use macos-14 for CodeQL [ci skip]
It is known that macos-14 runner is small to run CodeQL. nobu (Nobuyoshi Nakada)
11:00 PM Revision 3adaba0e (git): [ruby/reline] Do not send color reset sequence when GeneralIO is
used
(https://github.com/ruby/reline/pull/661)
https://github.com/ruby/reline/commit/3719702808
tompng (tomoya ishida)
10:50 PM Revision f46b7759 (git): [ruby/reline] Make mutated string in yamatanooroti explicitly
mutable
(https://github.com/ruby/reline/pull/662)
This avoids the frozen literal warning in Ruby 3.4.
https://github.com/ruby/reline/commit/cccb985804
st0012 (Stan Lo)
09:49 PM Feature #19057: Hide implementation of `rb_io_t`.
> Why don't you reconsider the "nested public interface" approach?
My assessment of this approach is that it would require a rewrite of internal code that accesses `rb_io_t` private outer struct. Rewriting code isn't a problem, but it t...
ioquatix (Samuel Williams)
06:31 PM Feature #19057: Hide implementation of `rb_io_t`.
ioquatix (Samuel Williams) wrote:
> - Companies could contact Eric and offer incentives for him to make a release.

That's not possible, https://yhbt.net/unicorn/ISSUES states:

The author of unicorn must never be allowed to profit...
Anonymous
04:40 PM Revision 8265a753 (git): Use dedicated methods to abort
When `RUBY_DEBUG` is set, accessing a class in an invalid object will
cause a breakpoint trap instead of a segfault on some implementations.
nobu (Nobuyoshi Nakada)
04:09 PM Revision 678cb800 (git): Move `-test-/fatal/rb_fatal` to `-test-/fatal`
nobu (Nobuyoshi Nakada)
02:58 PM Revision 5a773974 (git): Ignore method chains succeeding `git ls-files`
nobu (Nobuyoshi Nakada)
01:43 PM Revision c505bb0c (git): Ignore method chains succeeding `git ls-files`
nobu (Nobuyoshi Nakada)
01:09 PM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
cc @tenderlovemaking because red-black shape cache. Maybe the backtrace speaks to you. byroot (Jean Boussier)
07:01 AM Bug #20330: [BUG] Segmentation fault at 0xffffffffffffffff
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Seems related to shape and jemalloc.
Im not to sure what that means
but i don't think its an issue with jemalloc here is the stack trace for the normal ruby image
```
2024-03-23T06...
l33tname (Sir l33tname)
01:06 PM Revision 43fe89d9 (git): [ruby/win32ole] Refine pathspecs for `spec.files`
https://github.com/ruby/win32ole/commit/8d443417a9 nobu (Nobuyoshi Nakada)
10:34 AM Revision 14fba5a7 (git): [ruby/win32ole] Exclude unused files from packages
https://github.com/ruby/win32ole/commit/f4aff99dda nobu (Nobuyoshi Nakada)
10:34 AM Revision a8075caa (git): [ruby/win32ole] Test constants for the backward compatibility
https://github.com/ruby/win32ole/commit/22facf50fd nobu (Nobuyoshi Nakada)
08:19 AM Revision 40125197 (git): [DOC] Small edits in rbasic.h
fxn (Xavier Noria)
06:59 AM Revision a15b2443 (git): Update bundled gems list as of 2024-03-22
git[bot]

03/22/2024

11:54 PM Bug #20388 (Closed): super + ruby2_keywords isn't working
Applied in changeset commit:git|2dbcc123f4f605b51a3698d38ccd53ba6ef482ac.
----------
Do not apply anon_rest optimization when passed array uses keyword-flagged hash
The optimization sets args->rest_dupped to avoid allocating an array,
...
jeremyevans (Jeremy Evans)
10:31 PM Bug #20388: super + ruby2_keywords isn't working
jeremyevans0 (Jeremy Evans) wrote in #note-3:
> jeremyevans0 (Jeremy Evans) wrote in #note-2:
> ...
PR: https://github.com/ruby/ruby/pull/10338
jeremyevans0 (Jeremy Evans)
10:24 PM Bug #20388: super + ruby2_keywords isn't working
jeremyevans0 (Jeremy Evans) wrote in #note-2:
> tenderlovemaking (Aaron Patterson) wrote in #note-1:
> ...
Actually, compiler is fine, this is due to the anonymous splat optimization. Fix appears simple enough, I'll submit a PR shortl...
jeremyevans0 (Jeremy Evans)
09:52 PM Bug #20388: super + ruby2_keywords isn't working
tenderlovemaking (Aaron Patterson) wrote in #note-1:
> Sorry, I should be more specific. The code sample returns `nil` before 4f77d8d3, and since 4f77d8d3 it will raise an exception (it tries to mutate the `args` array)
Thanks for t...
jeremyevans0 (Jeremy Evans)
09:46 PM Bug #20388: super + ruby2_keywords isn't working
Sorry, I should be more specific. The code sample returns `nil` before 4f77d8d3, and since 4f77d8d3 it will raise an exception (it tries to mutate the `args` array) tenderlovemaking (Aaron Patterson)
09:44 PM Bug #20388 (Closed): super + ruby2_keywords isn't working
```ruby
class A
def process action, ...
end
end
class B < A
def process method_name, *args
args.freeze
super
end
ruby2_keywords(:process)
end
p B.new.process(:foo, bar: :baz)
```
The above code start...
tenderlovemaking (Aaron Patterson)
11:54 PM Revision 2dbcc123 (git): Do not apply anon_rest optimization when passed array uses keyword-flagged hash
The optimization sets args->rest_dupped to avoid allocating an array,
but this is not safe if the splat array ends in a keyword flagged
hash. Unset args->rest_dupped in this case.
Fixes [Bug #20388]
jeremyevans (Jeremy Evans)
09:42 PM Revision a2ac28d8 (git): .travis.yml: Add lscpu command to see the details of the CPU.
Jun Aruga
01:15 PM Revision 8ef923dc (git): [rubygems/rubygems] Respect global umask when writing regular files
https://github.com/rubygems/rubygems/commit/fd5cb7396f deivid (David Rodríguez)
01:14 PM Revision 7b3ef370 (git): [rubygems/rubygems] Fix incorrect `bundle update --bundler` message
https://github.com/rubygems/rubygems/commit/146de56353 deivid (David Rodríguez)
01:05 PM Revision 78e12beb (git): Propagate jobserver FDs to `cargo` and `rustc` [ci skip]
https://doc.rust-lang.org/cargo/reference/build-scripts.html#jobserver
> Cargo and `rustc` use the jobserver protocol, developed for GNU
> ...
Older GNU make used FDs to connect to the jobserver, and needs an
explicit use of `$(MAKE)` va...
nobu (Nobuyoshi Nakada)
11:34 AM Revision d85c2405 (git): [ruby/irb] Remove misleading documentation
(https://github.com/ruby/irb/pull/906)
https://github.com/ruby/irb/issues/904
https://github.com/ruby/irb/commit/89bca01bba
Artur
11:30 AM Feature #20275 (Closed): Avoid extra backtrace entries for rescue and ensure
Applied in changeset commit:git|74995a1a772903c5247886da1105caa27a4afa2d.
----------
[Feature #20275] Remove extra backtrace entries for rescue and ensure
Eregon (Benoit Daloze)
11:30 AM Revision 74995a1a (git): [Feature #20275] Remove extra backtrace entries for rescue and ensure
Eregon (Benoit Daloze)
09:53 AM Revision e2a9b871 (git): `rb_thread_sched_destroy` is not used now at all
nobu (Nobuyoshi Nakada)
09:20 AM Revision 127d7a35 (git): Some functions are not used when `THREAD_MODEL=none`
nobu (Nobuyoshi Nakada)
09:18 AM Revision 055613fd (git): Fix pointer incompatiblity
Since the subsecond part is discarded, WIDEVAL to VALUE conversion is
needed.
nobu (Nobuyoshi Nakada)
08:17 AM Revision 2c4170ea (git): Extension in gems cannot be statically linked
A gem is meant to be added later, so an extension within it cannot be
statically linked.
nobu (Nobuyoshi Nakada)
07:59 AM Feature #5133: Array#unzip as an alias of Array#transpose
In issue #20336, @matheusrich wrote:
```
* [Feature #5133] Array#unzip as an alias of Array#transpose
* Seems a more friendly name for this method (easier if you don't have a strong math background)
* It is nice that we can do ...
duerst (Martin Dürst)
05:09 AM Revision af88ca4c (git): Match `--with/--without` options against gem names
The simple names in `default_exclude_exts` do not match extension
paths under gems.
Extract each gem name from the gemspec file at the top level of each
gem directory. For example, if `ext` is `syslog-0.1.2/ext/syslog/`,
find out `sysl...
nobu (Nobuyoshi Nakada)
05:06 AM Revision 235aa7ad (git): Pass blocks to blocks as block parameters
nobu (Nobuyoshi Nakada)
03:55 AM Feature #19057: Hide implementation of `rb_io_t`.
> I don't see any other realistic option. I wish there was another way.
FWIW, @byroot built a fork https://github.com/shopify/pitchfork, which has a reforking feature Unicorn doesn't have, and Shopify uses that for our largest applicati...
k0kubun (Takashi Kokubun)
02:28 AM Feature #19057: Hide implementation of `rb_io_t`.
At @mame's request, I've reverted this change. The reversion itself was straightforward, yet it does not mitigate the underlying concerns that have come to light through this work. My attempt to enhance Ruby's `IO` implementation has hig... ioquatix (Samuel Williams)
02:53 AM Revision c5045830 (git): Lrama v0.6.4
yui-knk (Kaneko Yuichiro)
01:58 AM Misc #20387 (Assigned): Meta-ticket for ASAN support
I was asked to provide a bit of information about the current status of ASAN in CRuby, so I thought I'd open this meta-ticket to track all of the work I've been performing on fixing up address sanitizer support.
So far, I have fixed t...
kjtsanaktsidis (KJ Tsanaktsidis)
01:56 AM Revision b4d73e9f (git): Revert "Hide public implementation of `rb_io`. (#9568)" (#10283)
This reverts commit 9ab1fa3bf570bf19b0d6808adf12e965aacc6d83. Samuel Williams
01:33 AM Revision 6d681888 (git): merge revision(s) b176315827d1082f43628013a7d89fda02724d33: [Backport #20324] (#10329)
[Bug #20324] Uncomparable ranges are not overlapping NARUSE, Yui
01:09 AM Revision 35fe4b04 (git): Sort links [ci skip]
znz (Kazuhiro NISHIYAMA)
12:25 AM Revision a24802e8 (git): merge revision(s) c7ce2f537f96ab2cf2f5fc2982d6147866ff5340: [Backport #20304] (#10311)
Fix memory leak in setting encodings
There is a memory leak in Encoding.default_external= and
Encoding.default_internal= because the duplicated name is not freed
when overwriting.
10.times do
...
NARUSE, Yui
 

Also available in: Atom