Project

General

Profile

Activity

From 01/20/2025 to 01/26/2025

01/26/2025

09:54 PM Revision b346b497 (git): [DOC] Tweaks for rb_hash_s_create
burdettelamar (Burdette Lamar)
03:21 PM Bug #21090 (Closed): SEGV from require in Thread in Ractor
When ruby calls 'require' in Thread in non-main Ractor, it can cause SEGV sometimes.
```
$ ruby -e '1000.times { Ractor.new { th = Thread.new { require "rbconfig" }; Thread.pass }.take }' > segv.log 2>&1
Segmentation fault (core dum...
wanabe (_ wanabe)
12:08 PM Bug #21089 (Assigned): Missing methods on enumerators created from Enumerator::product and Enumerator::Chain
I was using `Enumerator.product` and noticed the enumerators it returned were missing the `next` method.
When looking at the source code, I saw all the stateful enumerator methods were missing (`next`, `peek_values`, `peek`, `next_val...
zetter (Chris Zetter)
08:52 AM Revision d4a1a278 (git): rb_feature_p: skip `get_expanded_load_path` for absolute paths
Ref: https://github.com/fxn/zeitwerk/pull/308
```ruby
require 'benchmark'
$LOAD_PATH << 'relative-path'
autoload :FOO, '/tmp/foo.rb'
puts Benchmark.realtime {
500_000.times do
Object.autoload?(:FOO)
end
}
```
The above scrip...
byroot (Jean Boussier)

01/25/2025

06:34 AM Bug #20997: YJIT panic assertion `left == right` failed: leave instruction expects stack size 1, but was: 2
ruby_3_2 commit:7c0c2df9b497dbf9c1376a995eebe6d43a00e21b merged revision(s) commit:dd80d9b089e35729d585bae2f8866c845c48f3b7. nagachika (Tomoyuki Chikanaga)
06:34 AM Bug #21038: Preserve `errno` in `rb_fiber_scheduler_unblock`
ruby_3_2 commit:97243cc9c76b9cc2803cfd1c01165ab5bd432450 merged revision(s) commit:04ec07794657cd2444ecb001a522b9df2db1b90a. nagachika (Tomoyuki Chikanaga)
06:33 AM Bug #21012: Compiling `a['a','b'],=1` with parse.y fails
ruby_3_2 commit:f9adaab928dff8dd7ecd4c560c288300a3c74880 merged revision(s) commit:e0d600ec190c64aff76cfcbd6009cffb927da166. nagachika (Tomoyuki Chikanaga)
06:21 AM Bug #21046: Backport: TLS fix for ARM64
Backporting commit git:f7059af50a31a4d27a04ace0beadb60616f3f971 into `ruby_3_2` depends on the changeset for the M:N Threads scheduler for Ractor (git:be1bbd5b7d40ad863ab35097765d3754726bbd54).
I would appreciate it if you could create ...
nagachika (Tomoyuki Chikanaga)
05:51 AM Revision 7c0c2df9 (git): merge revision(s) dd80d9b089e35729d585bae2f8866c845c48f3b7: [Backport #20997]
YJIT: Filter `&` calls from specialized C method codegen
Evident with the crash reported in [Bug #20997], the C replacement
codegen functions aren't authored to handle block arguments (nor
should they because the...
nagachika (Tomoyuki Chikanaga)
05:39 AM Revision 97243cc9 (git): merge revision(s) 04ec07794657cd2444ecb001a522b9df2db1b90a: [Backport #21038]
Preserve `errno` in `rb_fiber_scheduler_unblock`. (#12576)
[Bug #21038]
Co-authored-by: Julian Scheid <[email protected]>
nagachika (Tomoyuki Chikanaga)
05:37 AM Revision f9adaab9 (git): merge revision(s) e0d600ec190c64aff76cfcbd6009cffb927da166: [Backport #21012]
Avoid opt_aset_with optimization inside multiple assignment
Previously, since the opt_aset_with optimization was introduced,
use of the opt_aset_with optimization inside multiple assignment
would result in a segf...
nagachika (Tomoyuki Chikanaga)
04:53 AM Bug #21088: TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
This might be related to HEv2(#20108). Try testing with `Socket.tcp_fast_fallback = false`. alanwu (Alan Wu)

01/24/2025

09:52 PM Bug #21037: Ractors hang with multiple threads
I created a PR here: https://github.com/ruby/ruby/pull/12633. I don't know how to get it working for Win32 builds yet, I'll have to take a closer look at that.
Edit: Everything works now except for Visual Studio 2022, I'm trying to setu...
luke-gru (Luke Gruber)
06:12 PM Bug #21088 (Closed): TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
`TCPSocket.new` raises `Socket::ResolutionError` when the connection is refused for hosts defined in /etc/hosts. It should raise `Errno::ECONNREFUSED`.
```ruby
[6] pry(main)> TCPSocket.new("test_system", 22)
=> #<TCPSocket:fd 8, AF...
dmlary (David Lary)
04:39 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
Benoit_Tigeot (Benoit Tigeot) wrote in #note-23:
> The "good" news, is I am able to reproduce at 100% if I use concurrency.
For what it's worth on #21034, that environment is a Falcon environment so yes, concurrency is in play there as ...
travisbell (Travis Bell)
01:11 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
byroot (Jean Boussier) wrote in #note-22:
> But that's terribly hard to track down :/
Arf.
The "good" news, is I am able to reproduce at 100% if I use concurrency.
alanwu (Alan Wu) wrote in #note-19:
> ...
I see no positiv impac...
Benoit_Tigeot (Benoit Tigeot)
12:17 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
> Using GC.stress completely block the app.
Yes, `GC.stress` isn't really viable except for short snippets.
I suspect we've seen this bug in some form at Shopify too. It's likely some missing write barrier in the ISeq loading code...
byroot (Jean Boussier)
12:11 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
I started again with a fresh build with the last [two patch proposals[(https://github.com/ruby/ruby/compare/master...benoittgt:ruby:crash-on-t_none). Yjit is enable in dev mode, bootsnap too (`ruby 3.4.1 (2025-01-23 revision e4722fe585) ... Benoit_Tigeot (Benoit Tigeot)
04:07 PM Revision dd863714 (git): Remove dead vm_cc_valid_p
peterzhu2118 (Peter Zhu)
03:44 PM Revision 22e5d83c (git): [DOC] Tweaks for Hash.new
burdettelamar (Burdette Lamar)
03:05 PM Bug #21024: Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
Marked backport to 3.4: required. nobu (Nobuyoshi Nakada)
02:28 PM Bug #21024: Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
Sent a backport for Ruby 3.4 as well https://github.com/ruby/ruby/pull/12628
as that the Ruby we ship in Fedora in combination with GCC 15 where the warning was encountered.
jprokop (Jarek Prokop)
11:47 AM Bug #19967: Already installed libruby.dylib is used for test on macOS
Hi! Sorry if this is the wrong place to ask (it's my first time here), but does this not break the --enable-load-relative case? Wasn't the commit that this reverts added to make sure mkmf works for those builds? saagarjha (Saagar Jha)
10:57 AM Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
p8 (Petrik de Heus) wrote in #note-5:
> Disabling YJIT seems to fix the problem.
I don't know if this could help. But I received [some suggestions](https://github.com/ruby/ruby/compare/master...benoittgt:ruby:crash-on-t_none) for pat...
Benoit_Tigeot (Benoit Tigeot)
08:29 AM Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
alanwu (Alan Wu) wrote in #note-4:
> Thank you! It's nice to have a reproducer with full source access.
> ...
This happens to me on an 8 core M2.
Is just tried running the fortunes test only and didn't get the error.
Maybe run all th...
p8 (Petrik de Heus)
10:25 AM Revision f6e259da (git): Improve docs of -I ruby option
fxn (Xavier Noria)
08:06 AM Revision 96a5da67 (git): Fix "Relax expectations of errors from `getgrnam`"
Use `assert_raise_kind_of` instead of `assert_raise`, that rejects sub
classes of the given exceptions.
nobu (Nobuyoshi Nakada)
08:00 AM Revision 4138b187 (git): Update default gems list at c51668d24962602b781a7348451de8 [ci skip]
git[bot]
06:53 AM Revision ae94fca7 (git): Add test for `Test::Unit::CoreAssertions#assert_raise_with_message`
nobu (Nobuyoshi Nakada)
06:51 AM Revision c51668d2 (git): Add `Test::Unit::CoreAssertions#assert_raise_kind_of`
Similar to `Test::Unit::assert_raise`, but allows sub classes too. nobu (Nobuyoshi Nakada)
06:47 AM Revision 87426f57 (git): Update bundled gems list at 47723bb59162f25b3dc9dbff22645f [ci skip]
git[bot]
06:46 AM Revision 47723bb5 (git): Added tracer for irb test
hsbt (Hiroshi SHIBATA)
06:46 AM Revision ca871b96 (git): Use workaround version of irb and reline
hsbt (Hiroshi SHIBATA)
06:46 AM Revision 5422c0f7 (git): Update irb and reline, readline entries
hsbt (Hiroshi SHIBATA)
06:46 AM Revision be1d0fcd (git): Added force_activate feature again
hsbt (Hiroshi SHIBATA)
06:46 AM Revision 68095ffc (git): irb and reline are now bundled gems, we don't need to skip workaround for them
hsbt (Hiroshi SHIBATA)
06:46 AM Revision 750e6195 (git): Omit irb related examples temporary
hsbt (Hiroshi SHIBATA)
06:46 AM Revision 6bdccb35 (git): Restructured irb related example at spec/ruby
hsbt (Hiroshi SHIBATA)
06:46 AM Revision 0fdc9b9f (git): Migrate irb and reline to the bundled gems
hsbt (Hiroshi SHIBATA)
01:45 AM Revision 881924f2 (git): [ruby/uri] [DOC] Make documentation 100%
https://github.com/ruby/uri/commit/fe7aa3dac2 nobu (Nobuyoshi Nakada)

01/23/2025

11:37 PM Revision 76a67e46 (git): Launchable: Enable PTS observation mode (#12617)
Launchable offers the Predictive Test Selection feature for speeding up CI execution. Predictive Test Selection leverages machine learning to identify the right tests to run for a specific code change. By analyzing data from past test ru... ono-max (Naoto Ono)
10:47 PM Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
Thank you! It's nice to have a reproducer with full source access.
I ran this a couple times and and it didn't crash for me on a 2-cpu x86 machine, though. Maybe it's aarch64 specific?
alanwu (Alan Wu)
08:27 PM Bug #21087 (Closed): "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
The TechEmpower benchmarks for `rage` fail when setting the `isolation_level` to `:fiber`.
The bug can be replicated by checking out [the branch](https://github.com/p8/FrameworkBenchmarks/tree/rage/fiber) and running the following:
`...
p8 (Petrik de Heus)
09:49 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
alanwu (Alan Wu) wrote in #note-10:
> Curious if you get this crash without YJIT?
I can confirm, if I disable YJIT, the crashes seem to stop happening.
travisbell (Travis Bell)
07:51 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
Hi Alan, I haven't tried to be honest. Let me deploy now with it disabled and I will let you know. It reliably happens within minutes so it's very easy to check. travisbell (Travis Bell)
07:39 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
Curious if you get this crash without YJIT? alanwu (Alan Wu)
07:01 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
Awesome! Thanks for the how to. Really appreciate it.
Alright, here's the results;
```
(gdb) frame 13
#13 rb_gc_mark_vm_stack_values (n=64, values=0x7f26022c0000) at gc.c:2346
warning: 2346 gc.c: No such file or directory
```
...
travisbell (Travis Bell)
07:11 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
Here's some "bisecting" pointers to narrow this down some more. Are you able to crash it without bootsnap? Specifically without the iseq cache, but you should be able to turn off everything with the `DISABLE_BOOTSNAP` env var. Also, it's... alanwu (Alan Wu)
06:05 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
```
/home/appuser/app/models/kubernetes_item.rb: [BUG] Segmentation fault at 0x000055bf92769c2c
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT dev +PRISM [x86_64-linux]
-- Control frame information -------------------------------...
byroot (Jean Boussier)
05:29 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
Thanks Alan
The rb_bug was not printed. I followed [something similar](https://github.com/byroot/nokogiri/commit/5f88bd96667b2f690d964c14c8166534ffefccdc) to Jean's work and enable `GC.stress` closer to the region. The code was very v...
Benoit_Tigeot (Benoit Tigeot)
09:20 AM Bug #21021: "try to mark T_NONE object" with 3.4.1
The following patch combined with the crash output should narrow the culprit down to a couple entries in the stack trace. It prints an index of the "Ruby level backtrace information" section, but it relies on a heuristic so could be off ... alanwu (Alan Wu)
04:23 PM Bug #21083: current SystemCallError.new(-1) behavior on windows is not in accordance with the intent of the source code.
I made a patch. Includes spec changes.
The message of SystemCallError out of the errno range is "Unknown Error", same as ucrt's.
[github #12622](https://github.com/ruby/ruby/pull/12622)
YO4 (Yoshinao Muramatsu)
03:33 PM Feature #21086: Declare rb_profile_frames() family as async-signal-safe
I've created a pull request: https://github.com/ruby/ruby/pull/12621 osyoyu (Daisuke Aritomo)
03:32 PM Feature #21086 (Open): Declare rb_profile_frames() family as async-signal-safe
Since @ivoanjo 's change in https://github.com/ruby/ruby/pull/11036 , I believe `rb_profile_frames()` and `rb_profile_thread_frames()` could be marked as async-signal-safe.
I remember @ko1 had a few reasons not to do so. I'd like to a...
osyoyu (Daisuke Aritomo)
03:24 PM Revision 7ed08c4f (git): Fix memory leak in rb_gc_vm_weak_table_foreach
When deleting from the generic ivar table, we need to free the gen_ivtbl
otherwise we will have a memory leak.
peterzhu2118 (Peter Zhu)
03:09 PM Feature #20249: Introduce a backtrace-only mode for rb_bug()
> I prefer to extend RUBY_CRASH_REPORT but is it possible to use the path name like foo=bar?
I don't think extending `RUBY_CRASH_REPORT` would be fully backwards-compatible. Nevertheless, use cases using paths including `=` could be r...
osyoyu (Daisuke Aritomo)
07:09 AM Revision abde86af (git): Update win32ole entries under the doc directory
hsbt (Hiroshi SHIBATA)
07:09 AM Revision 74946461 (git): Use pure ruby library instead of C ext library for dependency warning example
hsbt (Hiroshi SHIBATA)
07:08 AM Revision d11ca207 (git): Use openssl instead of fiddle and erb for native extension test
hsbt (Hiroshi SHIBATA)
05:17 AM Revision a7dfd0c6 (git): Yield from `create_makefile` in bundled gems too
nobu (Nobuyoshi Nakada)
02:48 AM Revision 7d25007b (git): Ignore to add Documentation label when we pushed doc and src both
hsbt (Hiroshi SHIBATA)
12:28 AM Revision 5244fd32 (git): Repair documentation markup in object.c
Issue was visible in https://docs.ruby-lang.org/en/3.4/Kernel.html#module-Kernel-label-IO olleolleolle (Olle Jonsson)
12:27 AM Revision 5b1caffc (git): Added actions/labeler
hsbt (Hiroshi SHIBATA)
12:24 AM Revision a1ba3946 (git): [ruby/weakref] weakref.gemspec: Drop gemspec config on executables
This gem does not expose any executables.
https://github.com/ruby/weakref/commit/819471ce35
olleolleolle (Olle Jonsson)

01/22/2025

11:54 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
@travisbell if you can do it, try to load [this gdbinit script](https://github.com/ruby/ruby/blob/6f6654e5045f1a86ba9522bfb71395eb58ac51aa/.gdbinit) inside your gdb session (either copy the file to your home directory or the directory wh... tenderlovemaking (Aaron Patterson)
12:24 AM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
Thanks Aaron.
This is a bit out of my wheelhouse. Here, I've got a new backtrace:
```
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_intern...
travisbell (Travis Bell)
11:39 PM Revision 9bec592c (git): Skip test_params(OpenSSLDHTest) at rbs tests with test-bundled-gems
hsbt (Hiroshi SHIBATA)
08:48 PM Bug #21048 (Closed): [Prism] rescue in modifier form with condition behaves differently
Fixed by https://github.com/ruby/ruby/commit/c2908613368b2ae404d094a15df61d830fc46dc9 kddnewton (Kevin Newton)
08:12 PM Revision 6f6654e5 (git): [DOC] Hash defaults doc
burdettelamar (Burdette Lamar)
07:58 PM Revision c2908613 (git): [ruby/prism] Fix rescue modifier precedence
Fixes [Bug #21048]
https://github.com/ruby/prism/commit/07202005cb
kddnewton (Kevin Newton)
07:09 PM Bug #21085 (Closed): [BUG] Stack consistency error with -ne
Applied in changeset commit:git|241ada7b1ca4fd71dc47a83d912ee25162a555d9.
----------
[ruby/prism] Do not put empty statements in while because of -n
Fixes [Bug #21085]
https://github.com/ruby/prism/commit/ebb9c36a10
kddnewton (Kevin Newton)
07:09 PM Revision 241ada7b (git): [ruby/prism] Do not put empty statements in while because of -n
Fixes [Bug #21085]
https://github.com/ruby/prism/commit/ebb9c36a10
kddnewton (Kevin Newton)
04:45 PM Revision 495b1cad (git): [ruby/openssl] ts: use TS_VERIFY_CTX_set0_{store,certs}() on OpenSSL 3.4
In OpenSSL 3.4, TS_VERIFY_CTX_set_certs() and TS_VERIFY_CTX_set_store()
are deprecated in favor of the new functions with "set0" in the names.
The new functions have a slightly different behavior. They will free the
previous value autom...
rhenium (Kazuki Yamaguchi)
04:45 PM Revision 87316d58 (git): [ruby/openssl] pkey: change PKey::{RSA,DSA,DH}#params to use nil for missing parameters
The returned Hash from these methods contain 0 in place of a missing
parameter in the key, for example:
pkey = OpenSSL::PKey.read(OpenSSL::PKey::RSA.new(2048).public_to_pem)
pp pkey.params
#=>
# {"n"=>#<O...
rhenium (Kazuki Yamaguchi)
04:45 PM Revision ec459228 (git): [ruby/openssl] pkey: implement PKey::{RSA,DSA,DH}#params in Ruby
Move the definitions to lib/openssl/pkey.rb. They need not to be in the
extension and can be implemented using existing methods.
This reduces direct usage of the now-deprecated OpenSSL APIs around the
low-level structs such as DH, DSA, ...
rhenium (Kazuki Yamaguchi)
04:45 PM Revision 47fe59cd (git): [ruby/openssl] pkey: add tests for PKey::{RSA,DSA,DH}#params
Add missing test cases to verify the current behavior. The next patch
will rewrite those methods.
https://github.com/ruby/openssl/commit/c0e0669f9b
rhenium (Kazuki Yamaguchi)
04:45 PM Revision 72480389 (git): [ruby/openssl] ssl: fix SSLSocket#sysread leaking locktmp String on timeout
Commit https://github.com/ruby/openssl/commit/3bbf5178a90e made blocking methods on SSLSocket follow the
IO#timeout= value. The commit changed io_wait_readable() to potentially
raise an exception without unlocking the String.
The String...
rhenium (Kazuki Yamaguchi)
04:07 PM Revision 4df16051 (git): [ruby/mmtk] Remove unused lazy_static dependency
https://github.com/ruby/mmtk/commit/f47a1e2d17 peterzhu2118 (Peter Zhu)
03:58 PM Revision 8c4134a3 (git): [ruby/irb] Use EnvUtil.rubybin instead of "ruby" in copy command
test
(https://github.com/ruby/irb/pull/1071)
`ruby` is not always available.
https://github.com/ruby/irb/commit/f6c5106364
tompng (tomoya ishida)
02:09 PM Revision 8a9e3b57 (git): Update default gems list at 6821b0574980191e34149853af1962 [ci skip]
git[bot]
02:08 PM Revision 6821b057 (git): [ruby/irb] Bump version to 1.15.1
(https://github.com/ruby/irb/pull/1070)
https://github.com/ruby/irb/commit/df37b074e3
tompng (tomoya ishida)
02:08 PM Revision c0664531 (git): [ruby/irb] Fix pager preview with escape sequence and newlines
(https://github.com/ruby/irb/pull/1069)
https://github.com/ruby/irb/commit/a139562a07
tompng (tomoya ishida)
02:08 PM Revision 9ce642c2 (git): [ruby/irb] Update documentation about the new copy command
(https://github.com/ruby/irb/pull/1067)
https://github.com/ruby/irb/commit/6194111611
st0012 (Stan Lo)
02:08 PM Revision 7813edbe (git): [ruby/irb] Show a quick preview of inspect result before pager
launch
(https://github.com/ruby/irb/pull/1040)
* Quickly show inspect preview even if pretty_print takes too much time
* Show a message "Inspecting..." while generating pretty_print content
* Update inspecting message
Co-authored-by:...
tompng (tomoya ishida)
02:08 PM Revision c6e8ee45 (git): [ruby/irb] Add copy command (https://github.com/ruby/irb/pull/1044)
Closes https://github.com/ruby/irb/pull/753
https://github.com/ruby/irb/commit/a24ac53d48
prajjwal (Prajjwal Singh)
01:54 PM Revision 89240eb2 (git): Add generic ivar reference updating step
Previously, generic ivars worked differently than the other global tables
during compaction. The other global tables had their references updated
through iteration during rb_gc_update_vm_references. Generic ivars updated
the keys when th...
peterzhu2118 (Peter Zhu)
11:47 AM Feature #21082: Alias it to its
> Second, Ruby has up to now rejected grammatical inflections such as includes instead of include.
`File.exists?` was even removed.
Many methods could do with a alias that reads nicer in certain situations. For example, `posts.each...
Earlopain (Earlopain _)
12:12 AM Feature #21082: Alias it to its
Hey Martin! Thanks for your input.
It seems like there's a very small amount of core method names that would have such a level of linguistic dissonance based on the receiver. However, even something like `ledger.include? transaction` ...
northeastprince (Matt Almeida)
09:19 AM Revision 7070b1b1 (git): Relax expectations of errors from `getgrnam`
The list of errors cited in 58bc97628c14933b73f13e0856d1a56e70e8b0e4
is not exhaustive and other errors may be raised by `getgrnam`.
Additionally, these errors are system dependent and may not be listed
on all platforms.
nobu (Nobuyoshi Nakada)
06:59 AM Revision 9f78c727 (git): Update bundled gems list as of 2025-01-21
git[bot]
06:07 AM Revision 99792d06 (git): [DOC] Fix code markup in String#match
kyanagi (Kouhei Yanagita)
05:27 AM Bug #21083: current SystemCallError.new(-1) behavior on windows is not in accordance with the intent of the source code.
I think we should drop that code (and the example in ruby/spec).
It is undocumented, non-portable, and unreliable.
nobu (Nobuyoshi Nakada)

01/21/2025

11:26 PM Feature #21082: Alias it to its
northeastprince (Matt Almeida) wrote:
> One of Ruby's core tenants is beautiful code - and a key part of that is sweating the names. Adding `it` as a pointer to the first block parameter was a huge step forward in that regard, but we're...
duerst (Martin Dürst)
02:46 PM Feature #21082 (Rejected): Alias it to its
One of Ruby's core tenants is beautiful code - and a key part of that is sweating the names. Adding `it` as a pointer to the first block parameter was a huge step forward in that regard, but we're not done yet. If `[1, 2, 3].each { puts ... northeastprince (Matt Almeida)
09:49 PM Bug #21085: [BUG] Stack consistency error with -ne
Good catch.
```
❯ ruby --dump=insns -vne '' --parser=parse.y
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) [arm64-darwin24]
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,0)>
0000 jump 4 ...
segiddins (Samuel Giddins)
09:45 PM Bug #21085: [BUG] Stack consistency error with -ne
This succeeds with the `parse.y` parser, so it seems to be a Prism compiler bug:
```shell
❯ echo '' | ruby --parser=parse.y -vne ''
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) [arm64-darwin23]
❯ echo '' | ruby --parser=prism -vne '...
ufuk (Ufuk Kayserilioglu)
08:53 PM Bug #21085 (Closed): [BUG] Stack consistency error with -ne
Running the following crashes for me
``` shell
echo '' | ruby -ne ''
```
Attached the diagnostic report as requested
segiddins (Samuel Giddins)
06:17 PM Revision 72fdba15 (git): [ruby/openssl] Use X509_ALGOR_get0() accessor for X509_ALGOR
While the struct is currently still public in OpenSSL, there has been
an accessor since OpenSSL 0.9.8h. It would be nice if this accessor
could be used so that the struct can be made opaque at some point in
the future.
https://github.co...
Theo Buehler
06:14 PM Revision 43c48e30 (git): [ruby/openssl] Require OpenSSL 1.1.1 or later
Drop support for OpenSSL 1.1.0. OpenSSL 1.1.0 was a non-LTS release and
it has reached upstream EOL in 2019-12 along with OpenSSL 1.0.2.
Distributions that shipped with OpenSSL 1.1.0 include:
- Debian 9 (EOL 2022-06)
- Ubuntu 18.04 LT...
rhenium (Kazuki Yamaguchi)
06:14 PM Revision e7bd1d1a (git): [ruby/openssl] pkey/dh: do not skip test_params_ok? on LibreSSL
https://github.com/ruby/openssl/commit/cd91cef590 rhenium (Kazuki Yamaguchi)
05:02 PM Revision be664483 (git): [ruby/mmtk] Bump mmtk-core
Fixes a bug where there is an infinite loop when MMTK_HEAP_MIN is small.
https://github.com/ruby/mmtk/commit/12c7ede20b
peterzhu2118 (Peter Zhu)
05:02 PM Revision 6d806031 (git): [ruby/mmtk] Add tests for MMTK_HEAP_MIN
https://github.com/ruby/mmtk/commit/a725b95f51 peterzhu2118 (Peter Zhu)
04:48 PM Misc #21019: DevMeeting-2025-02-13
* [Feature #21084] Declare objects have weak references (peterzhu2118)
* The current way of marking weak references uses `rb_gc_mark_weak(VALUE *ptr)`.
* This presents challenges because Ruby's GC is incremental, meaning that if th...
peterzhu2118 (Peter Zhu)
04:47 PM Feature #21084 (Open): Declare objects have weak references
# Summary
The current way of marking weak references uses `rb_gc_mark_weak(VALUE *ptr)`. This presents challenges because Ruby's GC is incremental, meaning that if the `ptr` changes (e.g. realloc'd or free'd), then we could have an in...
peterzhu2118 (Peter Zhu)
04:25 PM Revision b8a2b106 (git): Update default gems list at abed4ea81029d7169ef07b85622dfb [ci skip]
git[bot]
04:24 PM Revision abed4ea8 (git): [ruby/irb] Bump version to v1.15.0
(https://github.com/ruby/irb/pull/1066)
https://github.com/ruby/irb/commit/d3531d8fc0
st0012 (Stan Lo)
03:12 PM Bug #21083 (Closed): current SystemCallError.new(-1) behavior on windows is not in accordance with the intent of the source code.
spec/ruby/core/exception/system_call_error_spec.rb says
```
platform_is :windows do
SystemCallError.new(-1).message.should == "The operation completed successfully."
end
```
but source code says ```if (e < 0) e = GetL...
YO4 (Yoshinao Muramatsu)
02:12 PM Revision a47ed9f4 (git): Fix lrama for snapshot
- Old versions should compile parse.y by `bison` or the bundled
version `lrama`, not the `lrama` in the running repository.
- Check variables for ruby executable more strictly.
nobu (Nobuyoshi Nakada)
11:25 AM Revision 2b1db0fa (git): Remove unnecessary assignments to local variables in `f_arg_asgn`
Local variables are not reassigned and are not needed. ydah (Yudai Takada)
11:25 AM Revision 3260b0b6 (git): Remove unnecessary assignments to local variables in `strings`
Local variables are not reassigned and are not needed. ydah (Yudai Takada)
10:45 AM Revision 5d6f76cf (git): ext/json/parser/prereq.mk is removed from sync target
hsbt (Hiroshi SHIBATA)
08:03 AM Revision b1d5d166 (git): [ruby/resolv] Check for Windows in JRuby-compatible way
https://github.com/ruby/resolv/commit/de95f557b0 headius (Charles Nutter)
07:58 AM Revision d3bd8df2 (git): [ruby/resolv] Use port number 0 for ephemeral port if save
On platforms where ephemeral port randomization is implemented, the
same randomization is not needed in the ruby library layer.
Fixes https://github.com/ruby/resolv/pull/63.
https://github.com/ruby/resolv/commit/45e1b563c0
nobu (Nobuyoshi Nakada)
03:32 AM Revision e5f81e51 (git): [ruby/error_highlight] Use `$stderr` instead of STDERR for Ractor
https://github.com/ruby/error_highlight/commit/a221a4b0eb wanabe (_ wanabe)
01:16 AM Revision f33a76bf (git): Lrama v0.7.0
ydah (Yudai Takada)

01/20/2025

06:03 PM Revision 769cccba (git): [ruby/prism] Fix parser translator scope issues for implicit hash values
`builder.pair_label` is no good since it makes use of variables that the parser gem encountered.
Since the prism translator doesn't keep proper track of that information, the following code interprets
the implicit value as a local variab...
Earlopain (Earlopain _)
05:12 PM Revision c6c1e7a9 (git): [ruby/openssl] extconf.rb: remove dir_config("kerberos")
The dir_config was introduced by Ruby trunk r4181. Since support for
Kerberos cipher suites has been removed in OpenSSL 1.1.0, it is no
longer necessary.
Although ruby/openssl did not directly depend on the MIT Kerberos
library, it was ...
rhenium (Kazuki Yamaguchi)
05:12 PM Revision 441862dc (git): [ruby/openssl] Require OpenSSL 1.1.0 or later
Drop support for OpenSSL 1.0.2. It has reached upstream EOL in 2019-12.
Most distributions that shipped with OpenSSL 1.0.2 have also reached
EOL, or provide a newer version in the package repository:
- RHEL 7 (EOL 2024-06)
- Ubuntu 1...
rhenium (Kazuki Yamaguchi)
05:12 PM Revision 010e8bff (git): [ruby/openssl] pkcs7: remove unnecessary const cast
PKCS7_encrypt() and PKCS7_SIGNER_INFO_set() take const EVP_CIPHER and
EVP_MD at least since OpenSSL 0.9.7.
https://github.com/ruby/openssl/commit/9db621a5c0
rhenium (Kazuki Yamaguchi)
05:12 PM Revision 04cc7629 (git): [ruby/openssl] engine: remove constants for ENGINE_METHOD_BN_MOD_EXP{,_CRT}
These macros do not exist in OpenSSL 0.9.7 or later, which was released
in 2002.
https://github.com/ruby/openssl/commit/938a1e6aab
rhenium (Kazuki Yamaguchi)
03:31 PM Revision 5a448a87 (git): Remove dead function rb_func_proc_new
peterzhu2118 (Peter Zhu)
02:52 PM Revision 5c95898e (git): Remove rb_obj_as_string for Parser
Ruby Parser not used rb_obj_as_string.
And obj_as_string property can be removed from Universal Parser.
S_H_ (Shun Hiraoka)
02:48 PM Revision 6d3951e7 (git): .travis.yml: Drop arm64 case.
We started running a Linux arm64 case in GitHub Actions.[1] So, it's time to
drop the Linux arm64 case in Travis CI.
[1] https://github.com/ruby/ruby/commit/a9d37ac3e5385c7aaec64e32de3d254903f4b5c0
Jun Aruga
02:18 PM Bug #21045: [patch & workaround] "make test-all" failed with FreeBSD 13.4
I tried a clean install of FreeBSD 13.4 on VMware, and the unpatched version still failed.
The records of all operations from installation to "make test-all" are as follows.
1. Download [ISO](https://download.freebsd.org/releases/ISO...
hs (Hideki Sakamoto)
01:20 PM Revision 86b26217 (git): [ruby/json] Reject invalid number: `-` `-.1` `-e0`
https://github.com/ruby/json/commit/b9bfeecfa9 tompng (tomoya ishida)
01:20 PM Revision 525d7a68 (git): [ruby/json] Raise parse error on invalid comments
https://github.com/ruby/json/commit/2f57f40467 tompng (tomoya ishida)
01:20 PM Revision c026e44b (git): [ruby/json] Fix parsing incomplete unicode escape "\uaaa"
https://github.com/ruby/json/commit/86c0d4eb7e tompng (tomoya ishida)
01:20 PM Revision 2b4b7bdb (git): [ruby/json] Fix JSON::Fragment#to_json signature
https://github.com/ruby/json/commit/f8817fe56c byroot (Jean Boussier)
01:20 PM Revision e8676cad (git): [ruby/json] Introduce JSON::Fragment
https://github.com/ruby/json/commit/9e3500f345
Co-authored-by: Jean Boussier <[email protected]>
etienne (Étienne Barrié)
12:41 PM Bug #14582: Unable to use `method__entry` and `method_return` tracing probes since 2.5
I'm really interested in using DTrace on Ruby as well. One of the major advantages of DTrace is that it's always available and doesn't require any code changes or restarts of the system that is being instrumented. But with the current wa... jacobcarlborg (Jacob Carlborg)
12:37 PM Revision ba44e925 (git): ext/json no longer uses ragel
nobu (Nobuyoshi Nakada)
09:47 AM Bug #20965: `it` vs `binding.local_variables`
I have created a new issue as #21049. mame (Yusuke Endoh)
09:46 AM Bug #21049 (Open): Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
Currently, `Binding#local_variable*` APIs wrongly handles the numbered parameters.
```ruby
# Binding#local_variables includes numbered parameters that should not be visible
"foo".tap do
_1
"bar".tap do
p binding.local_var...
mame (Yusuke Endoh)
09:31 AM Revision 8c30970c (git): Revert "Skip RBS::SchemaTest"
This reverts commit 4404688a0e9e606aea870d79f5e8be6ac1524335. byroot (Jean Boussier)
09:31 AM Revision 33708f2d (git): [ruby/json] Fix a regression in the parser with leading /
Ref: https://github.com/ruby/ruby/pull/12598
This could lead to an infinite loop.
https://github.com/ruby/json/commit/f8cfa2696a
byroot (Jean Boussier)
07:09 AM Revision 4404688a (git): Skip RBS::SchemaTest
hsbt (Hiroshi SHIBATA)
07:09 AM Revision e3ba5207 (git): Removed parser.rl from ext/json/parser/depend
hsbt (Hiroshi SHIBATA)
07:09 AM Revision df8f9384 (git): [ruby/json] json_string_unescape: use memchr to search for backslashes
https://github.com/ruby/json/commit/5e6cfcf724 byroot (Jean Boussier)
07:09 AM Revision ba8f22c0 (git): [ruby/json] Cleanup json_decode_float
Move all the decimal_class option parsing in the constructor.
https://github.com/ruby/json/commit/e9adefdc38
byroot (Jean Boussier)
07:09 AM Revision 6c6f9672 (git): [ruby/json] parser.c: Pass the JSON_ParserConfig pointer
Doesn't make a measurable performance difference but is a
bit clearer.
https://github.com/ruby/json/commit/314d117c61
byroot (Jean Boussier)
07:09 AM Revision f664e863 (git): [ruby/json] Use RSTRING_END
https://github.com/ruby/json/commit/dd9c46c805 byroot (Jean Boussier)
07:09 AM Revision e4b54b0a (git): [ruby/json] Replace fbuffer by stack buffers or RB_ALLOCV in parser.c
We only use that buffer for parsing integer and floats, these
are unlikely to be very big, and if so we can just use RB_ALLOCV as it will
almost always end in a small `alloca`.
This allow to no longer need `rb_protect` around the parser...
byroot (Jean Boussier)
07:09 AM Revision 99e9eb53 (git): [ruby/json] Implement write barriers for ParserConfig objects
https://github.com/ruby/json/commit/591056a526 byroot (Jean Boussier)
07:09 AM Revision ef585744 (git): Finalize Kevin's handrolled parser.
And get rid of the Ragel parser.
This is 7% faster on activitypub, 15% after on twitter and 11% faster
on citm_catalog.
There might be some more optimization opportunities, I did a quick
optimization pass to fix a regression in string ...
byroot (Jean Boussier)
06:41 AM Bug #21048: [Prism] rescue in modifier form with condition behaves differently
Yes, I switched it up in the text. Fixed Earlopain (Earlopain _)
05:01 AM Bug #21048: [Prism] rescue in modifier form with condition behaves differently
Earlopain (Earlopain _) wrote:
> Prism interprets it as `(foo rescue nil) if false`, not calling the method. `parse.y` does `foo rescue (nil if false)` since at least Ruby 2.0
Inverse?
> ...
nobu (Nobuyoshi Nakada)
04:50 AM Revision 1c8fc25b (git): [rubygems/rubygems] Fix broken link in `bundle issue` output
https://github.com/rubygems/rubygems/commit/0909f07f30 deivid (David Rodríguez)
04:50 AM Revision ee7b7479 (git): [rubygems/rubygems] Fix `--prefer-local` not respecting default gems
https://github.com/rubygems/rubygems/commit/3df86cd9c6 deivid (David Rodríguez)
04:50 AM Revision 891ecc63 (git): [rubygems/rubygems] Consistently assert command failure
https://github.com/rubygems/rubygems/commit/faaa594a4a deivid (David Rodríguez)
04:50 AM Revision 976cee57 (git): [rubygems/rubygems] Don't fallback to evaluating YAML gemspecs as Ruby code
https://github.com/rubygems/rubygems/commit/ca0a7ff8cd deivid (David Rodríguez)
03:25 AM Revision b00315e9 (git): win32ole is bundled gems now
hsbt (Hiroshi SHIBATA)
01:15 AM Revision af81011c (git): Supply LIBCLANG_PATH for clang-14 for yjit-bindgen
Or else it gets confused from all the different versions of LLVM in the
image.
alanwu (Alan Wu)
01:15 AM Revision d2ef8861 (git): Use clang-14 to match the libclang version bindgen finds by default
alanwu (Alan Wu)
01:15 AM Revision a41e9d8f (git): Use configu.guess with wasi compatible version
hsbt (Hiroshi SHIBATA)
01:15 AM Revision 10d12912 (git): sd ubuntu-20.04 ubuntu-22.04 .github/workflows/*
hsbt (Hiroshi SHIBATA)
01:15 AM Revision 9a4d82fb (git): Ubuntu 20.04 will be EOL at Apr 2025
hsbt (Hiroshi SHIBATA)
 

Also available in: Atom