Activity
From 05/17/2025 to 05/23/2025
05/23/2025
-
11:42 PM Misc #21369 (Closed): Propose Max Bernstein (@tekknolagi) as a core committer
- ## Proposal
I'd like to propose Max Bernstein (@tekknolagi) as a committer. He has a strong background in compilers, having previously worked on CPython/Cinder at Meta, and has demonstrated leadership in designing and optimizing ZJIT.
... -
11:31 PM Revision 87d340f0 (git): ZJIT: Parse branchnil into HIR
-
11:31 PM Revision fa474a41 (git): ZJIT: Parse opt_aref into HIR
-
11:31 PM Revision 5905f71a (git): ZJIT: Add fast-paths for Array#length and Array#size
- 11:02 PM Revision 2b5a6744 (git): ractor_wakeup was broken when compiled with USE_RUBY_DEBUG_LOG
- The `ractor_wakeup` function takes an optional `th` argument, so it can be NULL.
There is a macro call to RUBY_DEBUG_LOG that dereferences `th` without checking
if it's NULL first. To fix this, we never dereference `th` in this macro call. -
09:09 PM Bug #21340: Bump autoconf version to properly handle C23 bool/stdbool defines
- @alanwu I'd like to request 3.2 backport as other GCC 15 fixes have been back ported e.g. https://bugs.ruby-lang.org/issues/21286
-
09:03 PM Bug #21329: `date_core.so` is broken with the recent MSYS2 update
- For rubyinstaller2 the issue is fixed with 3.4.4 release, and the fix will be backported to 3.3.9 and 3.2.9 whenever they get released.
For ruby/setup-ruby on windows, workaround has been applied for all older ruby versions that all ver... -
08:32 PM Revision 75b92c5c (git): ZJIT: Implement find for Defined
-
08:32 PM Revision 15618b77 (git): ZJIT: Mark SideExit as terminator
-
08:32 PM Revision d23fe287 (git): ZJIT: Side-exit into the interpreter on unknown call types
-
08:32 PM Revision a0df4cf6 (git): ZJIT: Side-exit into the interpreter on unknown opt_newarray_send
-
08:32 PM Revision 0c29ff8e (git): ZJIT: Side-exit into the interpreter on unknown opcodes
- No need to bail out of compilation completely; we can compile all the
code up until that point. -
07:57 PM Bug #21368 (Assigned): Moving objects with finalizer between Ractors crashes
- When an object is moved to a different Ractor, the finalizers are not copied to the new object, so it will have the `FL_FINALIZE` flag set but no entry in the finalizer table.
The following script crashes:
```ruby
r = Ractor.new d... -
07:45 PM Misc #21367: Remove link to ruby-doc.org from www.ruby-lang.org/en/documentation/
- Agree. On a different note (and I'm not sure this is the right place to ask it), *could* we buy this domain and redirect to the official docs?
-
06:48 PM Misc #21367 (Closed): Remove link to ruby-doc.org from www.ruby-lang.org/en/documentation/
- The ruby-doc.org domain no longer seems resolvable.
```
$ curl -I http://ruby-doc.org
curl: (6) Could not resolve host: ruby-doc.org
```
The owner of the domain mentioned he wanted to sell it:
https://ruby.social/@jamesbritt@mas... -
07:43 PM Feature #21365: Add `Namespace#eval`
- @ufuk fair point. Although it is a private method, so we're never doing `"foo".eval(bar)`.
-
05:02 PM Feature #21365: Add `Namespace#eval`
- matheusrich (Matheus Richard) wrote in #note-3:
> @Eregon I feel like that's more consistent with the rest of the language. I can't remember if any object as a `eval` method. But evaluating some code in a particular instance context mak... -
04:52 PM Feature #21365: Add `Namespace#eval`
- @Eregon I feel like that's more consistent with the rest of the language. I can't remember if any object as a `eval` method. But evaluating some code in a particular instance context makes me think of `instance_eval`.
-
01:58 PM Feature #21365: Add `Namespace#eval`
- Yep, agreed it'd be far more convenient for testing Namespace.
matheusrich (Matheus Richard) wrote in #note-1:
> I'm curious why `eval` and not `instance_eval`?
Why `instance_eval`? The distinction between eval/class_eval/instance... -
12:30 PM Feature #21365: Add `Namespace#eval`
- I'm curious why `eval` and not `instance_eval`?
-
07:28 PM Revision 2a951f62 (git): Change test to avoid stack overflow with MN threads
- When using MN threads (such as running the test in a ractor), this test
failed because it was raising a SystemStackError: stack level too deep.
This is because the machine stack is smaller under MN threads than on
the native main thread. - 07:13 PM Revision f64c89f1 (git): Fix 'require' from a ractor when the required file raises an error
- If you catch an error that was raised from a file you required in
a ractor, that error did not have its belonging reset from the main
ractor to the current ractor, so you hit assertion errors in debug
mode. -
06:43 PM Bug #21363: `Namespace.current` should always return the Namespace in which it was defined
- To be more specific, given this program:
```ruby
File.binwrite("ns.rb", <<-RUBY)
# namespace 3
module M
def self.test
p test: Namespace.current
end
TEST = -> {
p lambda: Namespace.current
}
end
RUBY
n... - 06:43 PM Revision b7e75118 (git): ZJIT: Parse splatarray, concattoarray, pushtoarray into HIR (#13429)
-
06:35 PM Revision e00c4601 (git): Drop unnecessary compiler guards for memory_sanitizer
- We unpoison slots allocated out of the GC, so we don't need to disable
the assertions that read from the memory. -
06:35 PM Revision 9130023c (git): Remove dependency on bits.h in default.c when BUILDING_MODULAR_GC
- We can assume that the compiler will have __builtin_clzll so we can implement
nlz_int64 using that. -
06:09 PM Bug #20905: Ruby VM hangs while using ractors
- I had trouble reproducing this, but found that it does reproduce when limiting the number of CPUs. ex.
```
taskset -c 1-3 ruby test.rb
``` -
05:33 PM Revision 4f9f2243 (git): Stricter assert for RCLASS_ALLOCATOR
- I'd like to make this only valid to T_CLASS also, but currently it is
called in some places for T_ICLASS and expected to return 0. -
05:33 PM Revision 05cdcfce (git): Only call RCLASS_SET_ALLOCATOR on T_CLASS objects
- It's invalid to set an allocator on a T_ICLASS or T_MODULE, as those use
the other fields from the union. -
05:22 PM Revision e01e89f5 (git): Avoid calling RCLASS_SUPER in rb_class_superclass
-
05:22 PM Revision 11ad7f5f (git): Don't use namespaced classext for superclasses
- Superclasses can't be modified by user code, so do not need namespace
indirection. For example Object.superclass is always BasicObject, no
matter what modules are included onto it. -
03:48 PM Bug #21366 (Feedback): Error with Ruby 3.1
- Which version of the compiler?
Anyway, 3.1 has reached the EOL already and no backport anymore. -
03:09 PM Bug #21366 (Feedback): Error with Ruby 3.1
- ```
/usr/include/ruby-3.1.0/ruby/internal/anyargs.h:255:1: note: in expansion of macro ‘RBIMPL_ANYARGS_ATTRSET’
255 | RBIMPL_ANYARGS_ATTRSET(sym) static void sym ## _01(__VA_ARGS__, VALUE(*)(VALUE, VALUE), int); \
| ^~~~~~~~~~... -
03:33 PM Revision 1435ea7f (git): Add missing lock for `Module#remove_instance_variable`
- We must take a lock to ensure another ractor isn't reading the ivars
while we're moving them. -
03:33 PM Revision 52da5f8b (git): Refactor `rb_shape_transition_remove_ivar`
- Move the fields management logic in `rb_ivar_delete`, and keep
shape managment logic in `rb_shape_transition_remove_ivar`. -
03:06 PM Revision 746d7fef (git): Fix moving old objects between Ractors
- The FL_PROMOTED flag was not copied when moving objects, causing assertions
to fail when an old object is moved:
gc/default/default.c:834: Assertion Failed: RVALUE_AGE_SET:age <= RVALUE_OLD_AGE
Co-Authored-By: Luke Gruber <luke.gru... -
02:51 PM Revision 54bed7e2 (git): [DOC] ZJIT: `Function::find`: Give advice instead of talking about safety
- Co-Authored-By: Max Bernstein <[email protected]>
- 02:22 PM Revision 224a02f9 (git): [ruby/prism] Monomorphise visitor methods
- The current implementation of the visitor pattern in Prism uses
a single method (`visit_child_nodes`) to handle all node types. This can lead to performance issues since the `node` argument will end up being polymorphic, and will prevent... -
02:08 PM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- `msgpack` doesn't seem to handle recursive data structures:
```
irb(main):003> a=[]
=> []
irb(main):004> a<<a
=> [[...]]
irb(main):005> a
=> [[...]]
irb(main):006> a.to_msgpack
msgpack-1.8.0/lib/msgpack.rb:41:in `write': stack l... -
11:49 AM Revision 70f8f7c4 (git): Fix warning on cygwin
- 09:20 AM Revision 966fcb77 (git): lock vm around `rb_free_generic_ivar`
- Currently, this can be reproduced by:
r = Ractor.new do
a = [1, 2, 3]
a.object_id
a.dup # this frees the generic ivar for `object_id` on the copied object
:done
end
r.take
In debug builds, this hits an assertion failure... -
07:44 AM Bug #18455 (Closed): `IO#close` has poor performance and difficult to understand semantics.
- After merging https://github.com/ruby/ruby/pull/12839, we see nice performance improvements and the semantics are well documented.
```
> make benchmark BENCH_RUBY=/Users/samuel/.rubies/ruby-head/bin/ruby COMPARE_RUBY=/Users/samuel/.r... -
07:31 AM Bug #21316: Namespaces leak with permanent names
- @ko1 yeah, in Ruby you can have two classes with the same permanent name today. You know that, but let me show an example for the archives:
```ruby
c = Class.new
C = c
Object.send(:remove_const, :C)
d = Class.new
C = d
p c.name == d.... -
07:15 AM Bug #21316: Namespaces leak with permanent names
- FYI: Java's case
"OBJ09-J. Compare classes and not class names"
https://wiki.sei.cmu.edu/confluence/display/java/OBJ09-J.+Compare+classes+and+not+class+names
- 07:20 AM Revision 627a5ac5 (git): Bump fiber scheduler version and add missing documentation. (#13424)
-
06:07 AM Bug #21166 (Closed): Fiber Scheduler is unable to be interrupted by `IO#close`.
- Merged in 73c9d6ccaa2045a011ed991dc29633bd0443971a
-
06:03 AM Revision 64c520fc (git): skip the test now we couldn't fix
- The following error is reported repeatedly on my riscv64-linux machine, so just skipt it.
I hope someone investigate it.
```
1) Error:
TestStruct::SubStruct#test_named_structs_are_not_rooted:
Test::Unit::ProxyError: execution of Test:... - 05:55 AM Revision 73c9d6cc (git): Allow `IO#close` to interrupt IO operations on fibers using `fiber_interrupt` hook. (#12839)
-
05:12 AM Revision e3205473 (git): Remove assertion on field in `class_duplicate_iclass_classext`
- `ext` is newly allocated so it shouldn't need an assertion. The class
ext (which is always from the module) that we're passing to
`class_duplicate_iclass_classext` could legitimately have instance
variables on it. We just want to avoid ... -
04:45 AM Bug #21167: Visual Studio 2022 17.13.x couldn't build ruby.exe
- vs2022 17.14.0 has been released and resolved this.
-
03:56 AM Revision 439428c8 (git): Skip failing example on Ubuntu runner of ruby/ruby
- https://github.com/ruby/ruby/actions/runs/14585602800/job/40910453142
-
03:56 AM Revision 2de5cb2f (git): Skip RBS tests for RDocPluginParserTest caused by interface change of RDoc 6.14.0
- https://github.com/ruby/ruby/actions/runs/15199473008/job/42750815986?pr=13421
```
Error: ArgumentError: wrong number of arguments (given 0, expected 1)
/Users/runner/work/ruby/ruby/src/lib/rdoc/store.rb:123:in 'initialize'
/Users/... -
03:56 AM Revision df487932 (git): test/lib/helper.rb is only for ruby/rdoc repo
-
03:56 AM Revision 7dcfdf1d (git): Revert https://github.com/rubygems/rubygems/commit/d74fa0fdda481043112f9de179be572b74a711ed
05/22/2025
-
11:44 PM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- > Serializing exceptions properly without Marshal is probably quite hard yes, not only about the cause but also the internal backtrace representation, the backtrace_locations objects, other internal state for core exceptions that can't a...
-
08:00 PM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- ioquatix (Samuel Williams) wrote in #note-2:
> Yes, in Async, I want to set the cause of an exception before raising it later on a fiber.
#21360 would be enough for that, although you'd need to wrap the exception + cause-to-be in som... -
12:12 PM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- Yes, in Async, I want to set the cause of an exception before raising it later on a fiber.
Additionally, serialisation and deserialisation of exceptions is almost impossible without being able to set the cause, e.g. any kind of Ruby RPC. -
10:15 AM Feature #21359: Introduce `Exception#cause=` for Post-Initialization Assignment
- Do you have real-world examples where you would use this, e.g. in gems?
-
08:39 AM Feature #21359 (Assigned): Introduce `Exception#cause=` for Post-Initialization Assignment
- Ruby currently allows an exception’s `cause` to be explicitly set **only at the time of raising** using `raise ..., cause: ...`. However, there are valid use cases where it would be convenient to set the cause when creating an exception....
-
11:28 PM Feature #21365 (Closed): Add `Namespace#eval`
- I would like a way to eval code on to a `Namespace` object. Could we add an eval method that _doesn't_ take a binding object? Writing a new file every time I want to test Namespaces is too cumbersome.
Thanks! -
11:23 PM Bug #21364 (Open): Constant lookup in namespaces should be consistent
- This might be related to #21363, but I'm not sure.
I expect that a top level `Bar` constant should have the same value as `Object::Bar`. For example:
```ruby
File.binwrite("ns.rb", <<-RUBY)
# namespace 3
Bar = 123
module M
... -
11:17 PM Bug #21363 (Open): `Namespace.current` should always return the Namespace in which it was defined
- I think `Namespace.current` should always return the namespace in which it was defined. Here is an example to demonstrate what I mean:
```ruby
File.binwrite("ns.rb", <<-RUBY)
# namespace 3
module M
def self.test
p Namesp... -
10:39 PM Revision 161aede1 (git): Disabled TRAP cache of CodeQL
- 10:04 PM Revision bc2e95ee (git): Apply new RDoc config options
- 10:04 PM Revision 03eb777c (git): Sync RDoc 6.14.0
- 09:05 PM Revision 9583b7af (git): ZJIT: Parse newhash into HIR
- 09:05 PM Revision f1fe3d80 (git): ZJIT: Parse duphash into HIR
-
08:53 PM Bug #21362: Namespace: Inline method caches poisoned with builtins
- Yeah such builtin/core Ruby files clearly need to be loaded and executed in the root namespace from a performance POV, otherwise it means no inline caches (my initial worry in https://bugs.ruby-lang.org/issues/21311#note-15).
It's quite... -
08:34 PM Bug #21362 (Assigned): Namespace: Inline method caches poisoned with builtins
- ``` ruby
File.write("/tmp/ntest.rb", <<~'RUBY')
class Integer
def succ = self + 2
end
module Test
def self.run = 10.times.to_a
end
RUBY
module Test
def self.run = 10.times.to_a
end
ns = Namespace.new
ns.require("... -
07:53 PM Feature #21361: Set execution file and line
- I'm not sure we want to encourage generating Ruby code (generated code in many cases is pretty bad IMO, e.g. huge methods), and this feature would encourage it implicitly.
Ruby is often expressive and flexible enough that there is no ne... -
04:46 PM Feature #21361 (Open): Set execution file and line
- I'd like to be able to set the execution file and execution line for the purpose of generated Ruby code. My specific use case is the Ruby files that are templated in Prism, but I also believe it would be beneficial for ERB. The functiona...
- 06:51 PM Revision 5a3f3f09 (git): ZJIT: Parse getinstancevariable, setinstancevariable into HIR (#13413)
-
04:21 PM Revision ca1ea957 (git): Include stdbool.h without checking with autoconf
- As reported in <https://bugs.ruby-lang.org/issues/21340>, older autoconf
have an AC_HEADER_STDBOOL that's incompatible with C23. Autoconf 2.72
fixed the macro, but also mentions that it's obsolescent since all
current compilers have this... -
04:20 PM Revision 616771e3 (git): Merge RubyGems-3.6.9 and Bundler-2.6.9
-
04:20 PM Revision d766eceb (git): Merge RubyGems-3.6.8 and Bundler-2.6.8
-
04:19 PM Revision 81258275 (git): windows-2025 runner removed D drive from their environment
-
04:19 PM Revision c104fc41 (git): Disabled TRAP cache of CodeQL
- 04:18 PM Revision d96e9bd0 (git): [DOC] Set canonical root for online docs (#13410)
-
03:19 PM Bug #21340 (Closed): Bump autoconf version to properly handle C23 bool/stdbool defines
- Thanks!
commit:2297afda7ff3926c51fea700dfbf0f0eb4fea1e5 should also work for the 3.3 branch since it also requires VC 2015. #19982 -
02:17 PM Revision b080aabb (git): Update string.rb
- Co-authored-by: Peter Zhu <[email protected]>
-
02:17 PM Revision 3403055d (git): [DOC] Tweaks for String#byteindex
-
12:10 PM Revision d15fdb5c (git): Win32: Initialize the systemtime function before converting FILETIME
-
10:16 AM Feature #21311: Namespace on read (revised)
- First, I would like to thank mame for the explanation in regards to the namespace discussion, or rather the pre-discussion in regards to design decision(s). Probably not everyone knew about the prior discussion(s), so it seems useful to ...
-
10:10 AM Revision f18883b2 (git): Namespaces: Don't initialize fields for T_ICLASS
- ICLASS don't have instance variables or anything like that.
`gc_mark_classext_iclass` didn't mark it, and `classext_iclass_free`
wasn't freeing it. -
10:00 AM Feature #21358: Advanced filtering support for #dig
- You might be able to achieve similar behavior using pattern matching.
```ruby
item => batters: {batter: [*, {type: "Chocolate", id:}, *]}
id #=> "1002"
```
-
09:39 AM Feature #21360 (Closed): Inconsistent Support for `Exception#cause` in `Fiber#raise` and `Thread#raise`
- The `raise` method supports setting the cause of an exception using the `cause:` keyword, but this behavior does not work as expected when calling `Fiber#raise` or `Thread#raise`, resulting in a `TypeError`. This breaks consistency with ...
-
09:32 AM Revision 5862be0e (git): Skip failing tests with mingw platform
- https://github.com/ruby/ruby/actions/runs/15159221855/job/42621232822?pr=13397
```
1)
File.atime returns the last access time for the named file with microseconds FAILED
Expected 0 == 123456
to be truthy but was false
D:/a/rub... -
09:32 AM Revision b7aca78c (git): [ruby/io-console] Use gperf 3.1 to generate ANSI-C code
- https://github.com/ruby/io-console/commit/3798aae42d
-
09:32 AM Revision c239069d (git): Fix redefinition of `clock_gettime` and `clock_getres`
- winpthreads-git 12.0.0.r720 provides `clock_gettime` and
`clock_getres` as inline functions. -
09:32 AM Revision 395e5de8 (git): Update the latest version of ruby/setup-ruby
-
07:00 AM Bug #21333: heap-use-after-free caused by rehash during update
- If this gets backported, please also consider https://bugs.ruby-lang.org/issues/21357. This fix caused a different problem, the patch for that can be found in that issue.
-
06:57 AM Bug #21357: Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
- Thanks! Works nicely.
-
03:26 AM Bug #21357 (Closed): Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
- Applied in changeset commit:git|056497319658cbefe22351c6ec5c9fa6e4df72bd.
----------
[Bug #21357] Fix crash in Hash#merge with block
Prior to https://github.com/ruby/ruby/commit/49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c
the `optional_ar... -
02:33 AM Bug #21357: Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
- Possible fix https://github.com/ruby/ruby/pull/13404 (if tests pass 🤞🏻)
-
06:54 AM Revision ff1d6157 (git): Don't need to store download cache of vcpkg
- vcpkg can detect their cache from `vcpkg/installed`.
-
04:08 AM Revision ec41b1e8 (git): Fix for old mingw without `clock_gettime` and `clock_getres`
-
03:39 AM Bug #21337: Using `not` on the RHS of a logical operator becomes valid syntax with Prism
- I prefer the behavior of Prism here. Intuitively, `true && not true` seems like it should be valid just like `true and not true`
-
03:25 AM Revision 05649731 (git): [Bug #21357] Fix crash in Hash#merge with block
- Prior to https://github.com/ruby/ruby/commit/49b306ecb9e2e9e06e0b1590bacc5f4b38169c3c
the `optional_arg` passed from `rb_hash_update_block_i` to `tbl_update`
was a hash value (i.e. a VALUE). After that commit it changed to an
`update_cal... -
03:20 AM Feature #21353: Add shape_id to RBasic under 32 bit
- jhawthorn (John Hawthorn) wrote in #note-2:
> it is hard for us to follow that path when shapes are so different under 32-bit
So we're in agreement here, and in fact I think shapes should be **exactly the same** under both 32bit and 64b... -
01:55 AM Revision 7154b420 (git): Fix a -Wmaybe-uninitialized
- lev in rb_gc_vm_lock() is uninitialized in single ractor mode.
-
12:23 AM Revision 6a16c3e2 (git): Remove too_complex GC assertion
- Classes from the default namespace are not writable, however they do not
transition to too_complex until they have been written to inside a user
namespace. So this assertion is invalid (as is the previous location it
was) but it doesn't ... -
12:03 AM Bug #21348: Should Tracepoint track retry as another "call" event?
- Thanks for confirming that the behavior needs to be fixed @eregon.
05/21/2025
-
11:01 PM Feature #21358 (Feedback): Advanced filtering support for #dig
- Currently, `#dig` can be used to access nested data structures using "simple" keys, such as array indices or hash keys.
Real-world applications sometimes require non-trivial data access, for example, finding an item in an array based ... -
07:23 PM Revision 7b106609 (git): Use rb_inspect for Ractor error
- Previously the object was used directly, which calls `to_s` if defined.
We should use rb_inspect to get a value suitable for display to the
programmer. -
07:02 PM Bug #21357: Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
- I reduced it down significantly:
```rb
require "yaml"
YML = <<~YML
foo:
- bar: abc
baz: def
bat: ghi
YML
x = 1500 # lower numbers don't consistently crash
(0..x).each_with_object({}) do |_i, hash|
has... -
12:51 PM Bug #21357 (Closed): Crash in Hash#merge! with ruby-dev in rubocop-rspec test suite
- I've encountered crahses on ruby-head in recent days, related to hash methods like `merge` and `merge!`. I can now reproduce it locally while running the rubocop-rspec test suite:
* Clone https://github.com/rubocop/rubocop-rspec
* Ru... -
05:27 PM Revision ef935705 (git): Use shape_id for determining "too complex"
- Using `rb_shape_obj_too_complex_p` looks up the shape, but we already
have the shape id. This avoids looking up the shape twice. - 04:51 PM Revision 6df6aaa0 (git): Update class.c
- Co-authored-by: Satoshi Tagomori <[email protected]>
-
04:51 PM Revision 6ea893f3 (git): Add assertion for RCLASS_SET_PRIME_CLASSEXT_WRITABLE
- When classes are booted, they should all be writeable unless namespaces
are enabled. This commit adds an assertion to ensure that classes are
writable. -
03:53 PM Bug #21340: Bump autoconf version to properly handle C23 bool/stdbool defines
- alanwu (Alan Wu) wrote in #note-5:
> @ntkme @christo if you have time, please try building with the latest master branch and see if the build issues are resolved. We can get this backported if so.
I can confirm this fixes the issue I... -
08:55 AM Bug #21340: Bump autoconf version to properly handle C23 bool/stdbool defines
- I've pushed commit:2297afda7ff3926c51fea700dfbf0f0eb4fea1e5 which I think should resolve build issues without touching the autoconf version.
@ntkme @christo if you have time, please try building with the latest master branch and see i... -
03:27 PM Revision 511b6bcb (git): Reenable MMTk tests
-
03:27 PM Revision ac23fa09 (git): Use rb_id_table_foreach_values for mark_cc_tbl
- We don't need the key, so we can improve performance by only iterating
on the value.
This will also fix the MMTk build because looking up the key in
rb_id_table_foreach requires locking the VM, which is not supported in
the MMTk worker ... -
03:23 PM Revision b4c900de (git): ZJIT: More type level docs in zjit::hir [DOC]
- Given `InsnId` is at the top of the file and everywhere, hopefully this
will help first time readers. -
02:35 PM Revision 3487117e (git): [ruby/mmtk] Fix object ID in rb_gc_impl_define_finalizer
- The 0th element of the finalizer table array should be the object ID.
https://github.com/ruby/mmtk/commit/75e4a82652 -
01:48 PM Revision 8f50bb7c (git): JITs: Add back MACOSX_DEPLOYMENT_TARGET=11.0 setting to avoid warning
- See: 41251fdd309d4ff8f699268e33c32a114257211e
-
01:12 PM Revision 9a41d76b (git): Fix one-by-one error of numbered parameter ID
-
09:28 AM Bug #21356: Error when accessing local variable named "default" with Binding#local_variable_get
- Good catch, you are correct. Thank you! https://github.com/ruby/ruby/pull/13396
-
08:31 AM Bug #21356 (Closed): Error when accessing local variable named "default" with Binding#local_variable_get
- On Ruby master when using `Binding#local_variable_get` with the name `:default` it raises the following error:
```
'Binding#local_variable_get': numbered parameter 'default' is not a local variable (NameError)
```
I saw that this... -
08:11 AM Revision 081a44f5 (git): Disabled TRAP cache of CodeQL again
-
08:02 AM Bug #21355 (Closed): `csv/test/csv/interface/test_read.rb` at test-bundled-gems is flaky recent days
- I faced test failure of `make test-bundled-gems` in GitHub Actions. It caused by `csv` testing with `Ractor`.
https://github.com/ruby/ruby/actions/runs/15156308046/job/42611877817?pr=13391#step:9:697
```
/home/runner/work/ruby/ru... -
07:29 AM Revision 0964593e (git): Shrink `sym_proc_cache` by half
- There is no need to store the symbol and the proc given the
proc has a reference to the symbol.
This makes the cache half as small, now fitting in an object
slot, but also make it easier to allow that cache to be
used by ractors, assumi... - 07:08 AM Revision c980cab1 (git): [DOC] Add bundled gem doc links
- - rake
- reline
- logger
- csv
- rexml
- racc - 07:03 AM Revision df66d2be (git): Update bundled gems list as of 2025-05-21
-
06:12 AM
Bug #21354 (Closed): Symbol#to_proc is not ractor safe
- Applied in changeset commit:git|f6cbf499bc98b851034fffb49fcbb59d495f6f7b.
----------
Fix Symbol#to_proc (rb_sym_to_proc) to be ractor safe
In non-main ractors, don't use `sym_proc_cache`. It is not thread-safe
to add to this array with... - 06:12 AM Revision f6cbf499 (git): Fix Symbol#to_proc (rb_sym_to_proc) to be ractor safe
- In non-main ractors, don't use `sym_proc_cache`. It is not thread-safe
to add to this array without a lock and also it leaks procs from one
ractor to another. Instead, we create a new proc each time. If this
results in poor performance w... -
02:33 AM Revision 97e774b9 (git): [rubygems/rubygems] Bump up to rack-3.1.15 that is removed dependency of CGI::Cookie
- https://github.com/rubygems/rubygems/commit/cecc280f61
-
02:33 AM Revision 3ac239f7 (git): [rubygems/rubygems] Copy prerelease attribute to dependency resolver sets
- https://github.com/rubygems/rubygems/commit/5956e7f8e5
-
02:30 AM Revision 27b06383 (git): [ruby/mmtk] Fix object ID for finalizers
- We should get the object ID for finalizers in rb_gc_impl_define_finalizer
instead of when we create the finalizer job in make_final_job because
when we are in multi-Ractor mode, object ID needs to walk the references
which allocates an i... -
01:04 AM Revision 1c661242 (git): Make Addrinfo objects Ractor shareable
- Allow Addrinfo objects to be shared among Ractors. Addrinfo objects are
already immutable, so I think it's safe for us to tag them as
RUBY_TYPED_FROZEN_SHAREABLE shareable too.
05/20/2025
-
10:49 PM Feature #21353: Add shape_id to RBasic under 32 bit
- @Dan0042 We've been finding a lot of cases where flags actually make sense as part of the shape rather than flags, like FL_FROZEN and FL_EXIVAR per the description, but also possibly object_id and likely more (ex. capacity, FL_EMBEDDED) ...
-
08:11 PM Feature #21353: Add shape_id to RBasic under 32 bit
- In general this sounds like a good idea, but I think it would be better to have a struct that works the same way for both 32bit and 64bit systems, and also avoids reserving an entire 32 bits, which is overkill for shape ids.
What abou... -
08:18 AM Feature #21353 (Closed): Add shape_id to RBasic under 32 bit
- Currently on 64bit systems, for every types, the `shape_id` is stored inside the `RBasic.flags` field, and is 32bit
long.
However, on 32bit systems like i686 and WASM, it is much more complicated.
For `T_OBJECT`, `T_CLASS` and `T_MO... - 10:41 PM Revision b08e20d3 (git): ZJIT: Allow DCE to remove some CCalls (#13363)
- Allow DCE to remove some CCalls
Add `elidable` field that signals that there would be no discernible
effect if the call to the method were removed. The default is false. -
04:57 PM Revision b043abc0 (git): Only define RVALUE_OVERHEAD if undefined
- This allows RVALUE_OVERHEAD to be defined elsewhere.
-
04:56 PM Revision 84bfcaa8 (git): Add two more TSan suppressions
-
04:56 PM Revision e7f97eb2 (git): Use atomic load for signal buff size
-
04:56 PM Revision 05e0e722 (git): Use atomic load to read interrupt mask
-
04:22 PM Revision cd15cc25 (git): ZJIT: Run `make zjit-test` under combo build with YJIT
-
04:22 PM Revision 1fed568e (git): ZJIT: Add --allow-multiple-definition for make zjit-test
-
03:58 PM Revision 2297afda (git): Include stdbool.h without checking with autoconf
- As reported in <https://bugs.ruby-lang.org/issues/21340>, older autoconf
have an AC_HEADER_STDBOOL that's incompatible with C23. Autoconf 2.72
fixed the macro, but also mentions that it's obsolescent since all
current compilers have this... -
03:35 PM Revision ce5eb280 (git): YJIT: ZJIT: CI: Smoke test for --[y,z]jit-dump-disasm
-
03:35 PM Revision dfc0fe36 (git): Add jit.rs as dependency in Makefile
-
01:46 PM Bug #21354: Symbol#to_proc is not ractor safe
- PR here: https://github.com/ruby/ruby/pull/13380
We are looking at how to make the cache ractor safe but it will be done in a separate PR. -
01:37 PM Bug #21354 (Closed): Symbol#to_proc is not ractor safe
- There is caching in `Symbol#to_proc` (`rb_sym_to_proc`) that makes the assumption that we're always in the main ractor. With multiple ractors, this caching logic is not ractor-safe in that cached procs created in one ractor can leak into...
-
01:27 PM Revision bf082a37 (git): CI: Check if runnable first, before set up directories
-
01:16 PM Misc #21350: Bundled gems lack online documentation
- I also don't think the documentation for bundled gems necessarily has to be included in the Ruby core documentation, as long it is easily accessible from it.
If possible, how about creating a link-to-documentation-only entry for class... -
01:15 PM Bug #21341: `Namespace is not a module (TypeError)` without enabling the namespace
- I want to let Matz determine how to handle this problem :D
-
01:07 PM Bug #21341: `Namespace is not a module (TypeError)` without enabling the namespace
- I guess I found a widely used real-world app that defines a toplevel `Namespace` class, and it seems very difficult for them to resolve this conflict...
https://github.com/gitlabhq/gitlabhq/blob/master/app/models/namespace.rb
Perhaps we... -
08:21 AM Bug #21341: `Namespace is not a module (TypeError)` without enabling the namespace
- > But the incompatibility may not have been considered since toplevel Ruby used to warn in 3.4 for Ruby::VERSION and others.
Yes, we likely need to emit a deprecation warning when a top-level `Namespace` constant is defined. -
06:41 AM Bug #21341: `Namespace is not a module (TypeError)` without enabling the namespace
- It looks intentional to me:
> Namespace.new
(irb):1:in 'Namespace#initialize': Namespace is disabled. Set RUBY_NAMESPACE=1 environment variable to use Namespace. (RuntimeError)
But the incompatibility may not have been considered s... -
01:12 PM Revision d0a8f6ba (git): [DOC] Fix call-seq of Dir.glob
- `patterns` may be an array but not the rest argument.
-
11:43 AM Revision 8dbff6e4 (git): Silence error messages of `cd` to non-existent opt directories
-
09:22 AM Revision a82e7132 (git): Fix uplevel for `cgi` under bundler
- Since there is `bundled_gems.rb` it is not always one. Fixes the following:
```sh
$ ruby -w -rbundler/inline -e "gemfile {}; require 'cgi'"
/home/earlopain/.rbenv/versions/ruby-dev/lib/ruby/3.5.0+0/bundled_gems.rb:59: warning: CGI librar... - 07:03 AM Revision bfe89c7a (git): Update bundled gems list as of 2025-05-19
- 06:51 AM Revision edff5234 (git): [DOC] Describe new return value of source_location
- Proc#source_location, Method#source_location and
UnboundMethod#source_location carry more information since
073c4e1cc712064e626914fa4a5a8061f903a637.
https://bugs.ruby-lang.org/issues/6012
https://github.com/ruby/ruby/pull/12539 -
04:34 AM Feature #21287 (Closed): Remove SortedSet autoload and set/sorted_set
- Applied in changeset commit:git|c52f4eea564058a8a9865ccc8b2aa6de0c04d156.
----------
Remove SortedSet autoload and set/sorted_set
Implements [Feature #21287] -
04:34 AM Revision c52f4eea (git): Remove SortedSet autoload and set/sorted_set
- Implements [Feature #21287]
05/19/2025
-
09:04 PM Misc #21350: Bundled gems lack online documentation
- There actually are quite a few bundled gems having their own docs now, including [CSV](https://ruby.github.io/csv/).
I've opened a PR to add them: https://github.com/ruby/ruby/pull/13374
I think we're already heading towards this d... -
08:22 PM Misc #21350: Bundled gems lack online documentation
- In the meanwhile https://www.rubydoc.info/ is a good workaround to get online docs of all gems, e.g. https://www.rubydoc.info/gems/csv
Though it doesn't handle RDoc includes yet it seems. -
08:15 PM Misc #21350: Bundled gems lack online documentation
- I agree each bundled gem hosting its own docs is the best.
In some cases it might be valuable to host multiple versions of the docs, although that quickly adds complexity.
In fact the same applies for normal gems as well.
For exampl... -
04:07 PM Misc #21350: Bundled gems lack online documentation
- https://github.com/ruby/ruby/pull/13371
-
08:25 PM Bug #21348: Should Tracepoint track retry as another "call" event?
- I agree with the OP that `:call` shouldn't trigger a second time here, since there is only one call to `foo`.
`retry` is similar to a loop, and of course we don't add extra `:call` TracePoint events for loops. -
08:18 PM Bug #21351: Ruby master segfaults when initializing `Zlib::GzipReader`
- Closed because this doesn't happen in `ruby 3.5.0dev (2025-05-19T17:34:29Z master a7ef9a44a6) +PRISM [arm64-darwin24]` anymore.
-
08:15 PM Bug #21351 (Closed): Ruby master segfaults when initializing `Zlib::GzipReader`
-
11:02 AM Bug #21351 (Closed): Ruby master segfaults when initializing `Zlib::GzipReader`
- ### Ruby Version
```
ruby 3.5.0dev (2025-05-13T14:16:58Z master bb180b87b4) +PRISM [arm64-darwin24]
last_commit=[Bug #21331] Prohibit modification during stlike loop
```
### Steps to reproduce
```
$ ruby -e "require 'zlib'; ... -
05:34 PM Revision a7ef9a44 (git): ZJIT: Propagate disasm feature to ZJIT and YJIT (#13372)
- Co-authored-by: Alan Wu <[email protected]>
-
03:33 PM Feature #21309: Can Thread::Mutex be Ractor shareable?
- @nevans See https://github.com/ruby/net-http/blob/b652fa506b3fc8420172683e62b13bcdf58dbf3d/lib/net/http.rb#L1657
And https://github.com/ruby/net-http/issues/6#issuecomment-2877372273 by @osyoyu.
Also #21347 seems related to all that. -
03:14 PM Feature #21309: Can Thread::Mutex be Ractor shareable?
- Eregon (Benoit Daloze) wrote in #note-6:
> osyoyu (Daisuke Aritomo) wrote in #note-5:
> ...
Does `Net::HTTP` use `Timeout` to implement its timeouts? `Timeout::Error` is used as a superclass for the `net-protocol` timeout errors, but ... -
01:49 PM Revision 93ce95d4 (git): [DOC] Fix indentation
- RDoc markdown parser requires exact 4 spaces or tab as indentation.
-
01:47 PM Revision 22c1201b (git): [DOC] Fold long lines
-
01:41 PM Revision d84f2031 (git): [DOC] Escape dot in regexp
-
01:06 PM Bug #21352 (Closed): Invalid read in shape lookup code
- Applied in changeset commit:git|83d636f2d01f6bc1fd044a6f6c3071303b68dd82.
----------
Free shapes last
[Bug #21352]
`rb_objspace_free_objects` may need to check objects shapes
to know how to free them. -
12:20 PM Bug #21352: Invalid read in shape lookup code
- I suspect it's caused by either a T_NONE or a T_IMEMO. I have a feature branch that ran into that issue I think and I haven't merged yet, but I could just cherry-pick that fix.
-
12:16 PM Bug #21352 (Closed): Invalid read in shape lookup code
- Prism runs tests with valgrind and it recently started to report an invalid read in `rb_shape_lookup`. Example workflow: https://github.com/ruby/prism/actions/runs/15111527208/job/42471945845?pr=3564
```
Invalid read of size 8
rb_... -
01:06 PM Revision 83d636f2 (git): Free shapes last
- [Bug #21352]
`rb_objspace_free_objects` may need to check objects shapes
to know how to free them. -
09:16 AM Bug #21345: crash on evaluating 'a=>a,*,'
- Potential fix https://github.com/ruby/prism/pull/3564
-
08:58 AM Bug #20112 (Closed): Ractors not working properly in ruby 3.3.0
-
08:57 AM Bug #20112: Ractors not working properly in ruby 3.3.0
- I can't repro on my mac so it seems Linux only.
It has been corrected on master since both 3.5.0-preview1 and master are now faster with ractors than with threads.
```
ruby 3.5.0dev (2025-05-19T04:27:50Z master 40c957ba21) +PRISM ... -
05:37 AM Bug #21338: TracePoint Not Triggered for Kernel#block_given?
- Hi @k0kubun - ok great - that sounds like an intentional change in Ruby 3.4 then.
I don't understand your recommendation though "to define every method you call in the profiled code yourself". The ruby-prof test code has remained fairly... -
04:27 AM Revision 40c957ba (git): Fix a typo and capitalize a character
-
02:55 AM Bug #21333 (Closed): heap-use-after-free caused by rehash during update
-
02:19 AM Revision 47595509 (git): [ruby/json] Remove some unnecessary top level constant lookups
- https://github.com/ruby/json/commit/7c03ffc3e0
- 02:19 AM Revision e4a44b1f (git): [ruby/json] remove redundant `self.`
- https://github.com/ruby/json/commit/c060943d04
- 02:19 AM Revision 9b25023f (git): [ruby/json] use `.` over `::` for consistency
- https://github.com/ruby/json/commit/f5c1b8c45d
- 02:19 AM Revision dc69bebd (git): [ruby/json] Update json_encoding_test.rb
- https://github.com/ruby/json/commit/0ac54a8161
- 02:19 AM Revision 3468811e (git): [ruby/json] fix for pretty_generate throwing wrong number of arguments error
- https://github.com/ruby/json/commit/8433571dcf
-
02:19 AM Revision 57e41766 (git): [rubygems/rubygems] Fix test warnings introduced by recent CGI changes
- They read like this:
```
/home/runner/work/rubygems/rubygems/bundler/tmp/gems/base/ruby/3.4.0/gems/cgi-0.5.0.beta2/lib/cgi/util.rb:13: warning: method redefined; discarding old rfc1123_date
/opt/hostedtoolcache/Ruby/3.4.3/x64/lib/ruby/3... -
02:19 AM Revision 0f867d97 (git): Rename a couple of spec files
- Generally are "realworld" specs are the ones using VCR cassettes of real
requests. These files don't use that, so I moved them to a different
place. -
02:15 AM Revision 6e8be3a6 (git): [rubygems/rubygems] Test JRuby 10
- Necessary changes to get tests passing are:
* Rewrite one "out of memory" error spec to not define a subclass inside
a RSpec context block. Due to some [JRuby issue], that's failing in
JRuby 10, so I rewrote the test so that the Bun... -
02:15 AM Revision bfab76ab (git): [rubygems/rubygems] Normalize platforms in warbler lockfile
- https://github.com/rubygems/rubygems/commit/c7c50343bb
- 02:15 AM Revision 0dfe427c (git): [rubygems/rubygems] Fix typo "shippped" => "shipped"
- https://github.com/rubygems/rubygems/commit/1762d18d7b
-
02:15 AM Revision aea60361 (git): [rubygems/rubygems] Missing tweak
- https://github.com/rubygems/rubygems/commit/407c1cbcfe
-
02:15 AM Revision 4be199e4 (git): [rubygems/rubygems] Simplify Gem::Platform#initialize
- Based on PR feedback
Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/562d7aa087 -
02:15 AM Revision 8f61e175 (git): [rubygems/rubygems] RuboCop
- Signed-off-by: Samuel Giddins <[email protected]>
https://github.com/rubygems/rubygems/commit/768784910b -
02:15 AM Revision eb48418b (git): [rubygems/rubygems] Ensure that Gem::Platform parses strings to a fix point
- The issue was that the property that
```ruby
platform = Gem::Platform.new $string
platform == Gem::Platform.new(platform.to_s)
```
was not always true.
This property (of acchieving a fix point) is important,
since `Gem::Platform` gets... -
12:46 AM Revision 72387ebd (git): Fix typos: misspell -w -error -source=text namespace.c
-
12:21 AM Bug #21349 (Rejected): default gems should have version >= 1
- > Versions starting with 0 often imply a prereleased or beta status.
No, we don't use that versioning policy.
05/18/2025
-
05:55 PM Feature #21346: Introduce `String#ensure_suffix`
- @nobu added! Thanks for the review.
-
03:33 AM Feature #21346: Introduce `String#ensure_suffix`
- matheusrich (Matheus Richard) wrote in #note-3:
> > You say "queries that might find this pattern". That seems to say that you haven't found it yet.
> ...
Maybe like this?
```ruby
"Hell".sub(/(?<!o!)\z/, "o!") #=> "Hello!"
"Hell... -
11:58 AM Misc #21350: Bundled gems lack online documentation
- Yeah it's a problem that we should resolve it before Ruby 3.5's release.
However, if the gem's source is no longer synced to `ruby/ruby`, then with the current RDoc features it's very hard to generate its documentation as part of Ruby's... -
09:40 AM Misc #21350 (Closed): Bundled gems lack online documentation
- Libraries which have been converted into bundled gems seem to have no online documentation.
For example, `csv` had its documentation inside docs.ruby-lang.org up to Ruby 3.3:
https://docs.ruby-lang.org/en/3.3/CSV.html
but after it... -
07:25 AM Bug #21257: YJIT can generate infinite loop when OOM
- ruby_3_3 commit:f57dd4470b9ba1e2e0007e814f94e8bb4fd2ab6f merged revision(s) commit:80a1a1bb8ae8435b916ae4f66a483e91ad31356a.
-
07:25 AM Revision f57dd447 (git): merge revision(s) 80a1a1bb8ae8435b916ae4f66a483e91ad31356a: [Backport #21257]
- YJIT: Fix potential infinite loop when OOM (GH-13186)
Avoid generating an infinite loop in the case where:
1. Block `first` is adjacent to block `second`, and the branch from `first` to
`second` is a fallthrou... -
04:40 AM Bug #21344: Segment Fault Caused by no Backported Patches
- ruby_3_3 commit:1f226f1efeeae3a5091c60e2f51e027d0598f394 merged revision(s) commit:b959263b58e26ef630c085f9f7ddc04373a998c7.
-
04:32 AM Revision 1f226f1e (git): merge revision(s) b959263b58e26ef630c085f9f7ddc04373a998c7: [Backport #21344]
- Fix Exception#detailed_message for GC compaction
Before this commit, the test fails with RGENGC_CHECK_MODE enabled:
TestException#test_detailed_message_under_gc_compact_stress [test/ruby/test_exception.rb:1466]:
... -
04:31 AM Bug #21297: Update net-imap for ruby 3.2, 3.3, 3.4
- ruby_3_3: merged at commit:74f46982ebfbec4d21b6fc8aff47f2e290307d36.
- 04:30 AM Revision 74f46982 (git): Bump net-imap to v0.4.21 for Ruby 3.3 (CVE-2025-43857)
- v0.4.20 addresses CVE-2025-43857 (GHSA-j3g3-5qv5-52mj).
v0.4.21 fixes bugs in `Net::IMAP::SequenceSet`. -
04:06 AM Misc #21325: make ruby more middle-aged man friendly
- pynix (Pynix wang) wrote in #note-3:
> nobu (Nobuyoshi Nakada) wrote in #note-2:
> ...
I don't say that overriding `format` is not ok.
Just renaming `Kernel#format` is not acceptable.
> to_s will be good, like Integer, `255.to_s(16... -
03:39 AM Bug #21329: `date_core.so` is broken with the recent MSYS2 update
- Hello, nice to meet you.
I'm a Windows user.
As for this problem,
in the following folder of msys2 installed by scoop
C:\Users\username\scoop\apps\msys2\current\ucrt64\bin
> libwinpthread-1.dll
> ...
Overwrite the same file above,
... -
03:00 AM Revision 551c444f (git): merge revision(s) b48b841378f80e16378ceb83f3b78e52df9ae023, 2fe8b9cd3d308d754f3d33a948dfb1dd782a10dc: [Backport #21327]
- digest.so needs ruby/digest.h which is installed by build-ext
Copy to path with the base name -
02:28 AM Bug #21327: Windows builds seem broken after clock_gettime changes?
- ruby_3_3 a3adc05a4e1f5c5d1cd95eee92da9693b23360bf merge revision(s) 3e47e7a499acd256be549935fcb559d3c82e556c, 46e4c8673747de96838d2c5dec37446d23d99d88
-
01:33 AM Bug #21349 (Rejected): default gems should have version >= 1
- Many of the default gems have version numbers less than 1, including venerable offerings such as net-http and yaml. Versions starting with 0 often imply a prereleased or beta status. Surely if a gem has been released as part of the bas...
-
01:24 AM Revision 8a1d738b (git): merge revision(s) 3113bc8d445c4c24ed3827adfc50bb88c99b6364:
- stat command is not provided on Windows
05/17/2025
-
11:10 PM Bug #21348 (Open): Should Tracepoint track retry as another "call" event?
- When `retry` is executed in a method, Tracepoint records it as a new "call" event.
``` ruby
# tracepoint-retry.rb
# method that retries once
def foo
attempts ||= 1
raise "Fail" if attempts == 1
rescue
attempts += 1
r... -
04:30 PM Feature #21346: Introduce `String#ensure_suffix`
- > You say "queries that might find this pattern". That seems to say that you haven't found it yet.
I'm not sure what you mean. I just meant that the regex can find this pattern, but I can't guarantee it will _only_ find that.
> ...
As... -
08:24 AM Feature #21346: Introduce `String#ensure_suffix`
- You say "queries that might find this pattern". That seems to say that you haven't found it yet.
What's the result for
"Hello".ensure_suffix("o!")
Is it "Helloo!", or is it "Hello!"? -
02:21 PM Feature #21347: Add `open_timeout` as an overall timeout option for `Socket.tcp`
- @osyoyu
> Just out of curiosity: Is the example given in https://bugs.ruby-lang.org/issues/21347#note-1 a case when connect_timeout is 1000 ms (not 100 ms) ?
It's just a typo. `connect_timeout: 1000ms` is right, sorry. -
11:18 AM Feature #21347: Add `open_timeout` as an overall timeout option for `Socket.tcp`
- I am +1 to this feature. As a `Socket.tcp` / `TCPSocket` user, I am usually concerned about the time required to open the connection as a whole, rather than name resolution and connect(2) as separate parts. I also like that the mental mo...
-
07:37 AM Feature #21347: Add `open_timeout` as an overall timeout option for `Socket.tcp`
- Sorry, the example in the sentence "Currently, a connect_timeout is raised only after the last connection attempt exceeds the timeout." is incorrect. The correct version is as follows:
Example:
When `connect_timeout: 100ms` is set an... -
07:27 AM Feature #21347 (Closed): Add `open_timeout` as an overall timeout option for `Socket.tcp`
- I propose to add an overall timeout option to `Socket.tcp` (and `TCPSocket.new`)
### Background
Currently, `TCPSocket.new` and `Socket.tcp` accept two kind of timeout options:
- `resolv_timeout`, which controls the timeout for DNS... -
01:43 PM Feature #21311: Namespace on read (revised)
- As of today, I also lean on the side of not feeling comfortable with this particular aspect of namespaces.
Isolation is easy to explain and understand. While new, I believe it is intuitive 👍.
However, this so open cross-namespace r... -
01:14 PM Feature #21311: Namespace on read (revised)
- fxn (Xavier Noria) wrote in #note-101:
>
> ...
Well, you posted the code, not that it needed demonstrating as it was already admitted. Two references to **the same object** showing divergent instance state (ivars). This is not just a ... -
06:07 AM Feature #21311: Namespace on read (revised)
- For everyone following, we are talking about stuff like:
```ruby
# main.rb
module Kernel
@a = 1
end
p Kernel.object_id
p Kernel.instance_variable_defined?(:@a)
ns = Namespace.new
ns.require_relative('foo')
ns::Foo.m(Kernel)
# foo.r... -
05:53 AM Feature #21311: Namespace on read (revised)
- bughit (bug hit) wrote in #note-99:
> Object id in this conversation is a proxy for identity, so the correct question is: Can today a single program have an object that is value unequal to itself. The current answer is no, and allowin... -
09:47 AM Bug #20009: Marshal.load raises exception when load dumped class include non-ASCII
- Eregon (Benoit Daloze) wrote in #note-7:
> So my suggestion would be:
> ...
I'm not against to interpret the default encoding as UTF-8, but don't think transcoding is intuitive as different encoding symbols are different even if they a... -
09:43 AM Bug #20009: Marshal.load raises exception when load dumped class include non-ASCII
- Eregon (Benoit Daloze) wrote in #note-8:
> @nobu What happens when using your patch to Marshal.dump a class and then trying to load it on an older Ruby? Will it create an instance variable `E` or error?
Just an error.
> ...
If the... -
07:44 AM Bug #21331: heap-use-after-free caused by rehash during transform_values!
- ruby_3_3 commit:cb49400d680894d69534b0b4cd10b085de325e2a merged revision(s) commit:7793b59c8d2a13c124fe276e11723db23facce04.
-
06:57 AM Revision cb49400d (git): merge revision(s) 7793b59c8d2a13c124fe276e11723db23facce04: [Backport #21331]
- [Bug #21331] Prohibit hash modification during stlike loop
-
06:56 AM Revision b25bfd33 (git): merge revision(s) 7f5b4fb26ea8c0a736a37101327905eebebee8bf:
- Remove unused retval assignments
-
06:41 AM Revision a3adc05a (git): merge revision(s) 3e47e7a499acd256be549935fcb559d3c82e556c, 46e4c8673747de96838d2c5dec37446d23d99d88:
- Fix redefinition of `clock_gettime` and `clock_getres`
winpthreads-git 12.0.0.r720 provides `clock_gettime` and
`clock_getres` as inline functions.
Detect `clock_gettime` and `clock_getres` for winpthreads -
06:27 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- ruby_3_3 commit:b1b6752fbeb2d23dbea639bd4b331c9e8b56f49c merged revision(s) commit:0d6263bd416338a339651fb97fe4d62701704c4b.
-
06:21 AM Revision b1b6752f (git): merge revision(s) 0d6263bd416338a339651fb97fe4d62701704c4b: [Backport #21220]
- Fix coverage measurement for negative line numbers
Fixes [Bug #21220]
Co-Authored-By: Mike Bourgeous <[email protected]>
Co-Authored-By: Jean Boussier <[email protected]> - 12:42 AM Revision aa0f689b (git): [ruby/net-http] Freeze some constants to improve Ractor compatibility
- Freeze `Net::HTTP::SSL_IVNAMES`, `Net::HTTPResponse::CODE_CLASS_TO_OBJ`
and `Net::HTTPResponse::CODE_TO_OBJ` to improve Ractor compatibility.
This change allows the following code to work:
Ractor.new {
uri = URI.parse('http:/...