Activity
From 04/03/2025 to 04/09/2025
04/09/2025
-
11:15 PM Feature #21254: Inlining Class#new
- tenderlovemaking (Aaron Patterson) wrote in #note-7:
> I made a patch for it [here](https://github.com/ruby/ruby/commit/b8e37fd5cc588d05576b24c13f94c54409b2a9db), but I haven't tested it in CI yet.
@jhawthorn pointed out a problem to... -
10:18 PM Feature #21254: Inlining Class#new
- jez (Jake Zimmerman) wrote in #note-6:
> I'm curious: could we add a second check after [this check](https://github.com/ruby/ruby/compare/master...Shopify:ruby:inline-new#diff-7e987f13e758a51be20d9ce1e38ad46cabae2aebdfe6968720f0d570db61... -
08:57 PM Feature #21254: Inlining Class#new
- @tenderlovemaking Question about an extension to the current implementation.
We have a fair amount of code that looks like this:
```ruby
class HoldsEvenNumbers
def initialize(even)
@even = even
end
private_class_me... -
11:02 PM Revision 86e37a9b (git): Test for the crash
- 11:02 PM Revision 7e093fb4 (git): Fix crash in TCPSocket.open
- Fix segfault crash observable with TCPSocket.open(nil, nil)
-
08:40 PM Bug #21261: Backport fix for crash in TCPSocket.open(..., nil)
- Backport PR: https://github.com/ruby/ruby/pull/13091
-
08:38 PM Bug #21261 (Closed): Backport fix for crash in TCPSocket.open(..., nil)
- https://github.com/ruby/ruby/pull/12934
https://github.com/ruby/ruby/commit/b148dfef5aa208cafa28626fd84c9762bfdfe0ac -
02:46 PM Bug #21220 (Closed): Memory corruption in update_line_coverage() [write at index -1]
- Applied in changeset commit:git|0d6263bd416338a339651fb97fe4d62701704c4b.
----------
Fix coverage measurement for negative line numbers
Fixes [Bug #21220]
Co-Authored-By: Mike Bourgeous <mike@mikebourgeous.com>
Co-Authored-By: Jean Bo... -
11:01 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- I created a PR.
https://github.com/ruby/ruby/pull/13089
The PR should prevent `RUBY_EVENT_COVERAGE_LINE` from firing on non-positive line numbers. (The fix looked easier than I thought.)
I will create another ticket for the bug ... -
03:48 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- mame (Yusuke Endoh) wrote in #note-8:
> @mbcodeandsound Just FYI, I bet you meant to write `!(1..16).cover?(channel)` in the following line.
> ...
Yes I did, thanks (`0..15` as well rather than `1..16`)! I didn't even know about the fli... -
02:45 PM Revision 0d6263bd (git): Fix coverage measurement for negative line numbers
- Fixes [Bug #21220]
Co-Authored-By: Mike Bourgeous <mike@mikebourgeous.com>
Co-Authored-By: Jean Boussier <jean.boussier@gmail.com> -
02:09 PM Feature #21258: Retire CGI library from Ruby 3.5
- I am in favor of retiring cgi and keeping cgi/escape feature. Of the two options, I prefer option 1 (keep only cgi/escape feature in Ruby). It is the more backwards compatible option, and I do not think the benefits of using a new modul...
-
01:08 PM Feature #21258: Retire CGI library from Ruby 3.5
- `URI.encode` (not `escape`)?
-
08:57 AM Feature #21258: Retire CGI library from Ruby 3.5
- I like the idea of deprecating `CGI` and moving the `escape`/`unescape` methods!
JavaScript calls the features `"hello".encode_uri_component`, so can we call it `String#encode_uri_component`?
(I don't think this is the way we should ... -
08:17 AM Feature #21258 (Closed): Retire CGI library from Ruby 3.5
- I would like to retire CGI library from Ruby 3.5.0 release. It means CGI is not promoted bundled gems. The users need to run `gem install cgi` after Ruby 3.5 if they want to use CGI library.
## Background
I handled two CVEs related... -
01:31 PM Bug #21260 (Feedback): duping stringio objects shares cursors
- I've found that, if I `.dup` a stringio, when I read one of the objects, the cursor also moves internally on the other:
```ruby
require "stringio"
s1 = StringIO.new("test")
s2 = s1.dup
s1.read #=> "test"
s2.read #=> ""
s1.rewi... -
11:04 AM Bug #21259 (Closed): The Prism compiler wrongly creates a line number of zero
- test.rb
```
TracePoint.new(:line) do |tp|
p tp
end.enable
load "./target.rb"
```
target.rb
```
if true..true
end
```
```
$ ~/work/ruby/local/bin/ruby --parser=prism test.rb
#<TracePoint:line test.rb:5>
#<TracePoint... -
10:14 AM Revision ce0d5cc0 (git): Refine dirname test on Windows
- - Compare with the root of the target file
- Fix root path of UNC path -
10:13 AM Revision 5cf7d948 (git): [DOC] Fix contributing link
- It moved in https://github.com/ruby/ruby/pull/13012 but wasn't updated here
-
09:23 AM Revision b200bad6 (git): bump teeny
-
08:28 AM Bug #21141: `Time#utc?` does not work with a timezone object
- ruby_3_3 commit:4ca521e91342165ed35cb12c9868f10e2a6aa07c merged revision(s) commit:06919949a60b42a8f30e8bd0cb075e17b05eebcd, commit:51bc992822f9108ad64de32d300e1cefd0e2da59, commit:42daa6c2a2b49b4e45f40736e25c7d182860f24a.
-
08:27 AM Revision 4ca521e9 (git): merge revision(s) 06919949a60b42a8f30e8bd0cb075e17b05eebcd, 51bc992822f9108ad64de32d300e1cefd0e2da59, 42daa6c2a2b49b4e45f40736e25c7d182860f24a: [Backport #21141]
- [Bug #21141] [DOC] Clarify what time is in UTC
[Bug #21141] [DOC] Refine description of `Time#utc?`
[Bug #21141] [DOC] Fix indentation -
06:51 AM Revision 9f61541f (git): Re-enabled to test at win32ole
-
04:27 AM Bug #21257 (Assigned): YJIT can generate infinite loop when OOM
-
03:33 AM Bug #21257: YJIT can generate infinite loop when OOM
- YJIT compiles the `first` and `second` methods to this (on x86_64-linux):
```
# regenerate_branch
# Block: first@infinite-jmp.rb:2 (chain_depth: 1)
# reg_temps: 00000001
# Insn: 0001 opt_send_without_block (stack_size: 1)
# call to Objec... -
03:29 AM Bug #21257 (Closed): YJIT can generate infinite loop when OOM
- We've found an edge case where YJIT can generate an infinite loop (jump to the same address) when it's out-of-memory.
Reproduction:
```ruby
def first
second
end
def second
::File
end
# Make `second` side exit on its fi... -
01:36 AM Bug #21167: Visual Studio 2022 17.13.x couldn't build ruby.exe
- vs2022 17.14.0 preview 2.0 also has this issue.
-
01:31 AM Revision 8ab51769 (git): sed is not requirement now
-
01:20 AM Revision 9e93759b (git): Restore assertion that is not related mswin platform
-
12:54 AM Revision e5801451 (git): Merge RubyGems-3.6.7 and Bundler-2.6.7
-
12:54 AM Revision db2bf9f0 (git): Merge RubyGems-3.6.6 and Bundler-2.6.6
04/08/2025
-
11:11 PM Revision ab4a25e4 (git): [rubygems/rubygems] Follow up to removal of rubyinstaller2 workaround
- https://github.com/rubygems/rubygems/commit/5b312fd040
-
11:11 PM Revision ae45a7a9 (git): [ruby/json] Cleanup jeaiii-ltoa to not need pragmas
- https://github.com/ruby/json/commit/97f2924d0a
-
11:11 PM Revision b1362e26 (git): [ruby/json] Suppress -Wunknown-pragmas warnings
- https://github.com/ruby/json/commit/97f47d1cfd
-
08:45 PM Bug #21193: Inherited callback returns `nil` for `Object.const_source_location`
- After exchanging impressions with @byroot today, I have created https://github.com/ruby/ruby/pull/13085 to restore the original order of the callbacks.
If that is all good, I'll followup with an updated docs + tests patch. - 05:46 PM Revision d5f94941 (git): [ruby/openssl] Fix the tests using SHA-1 Probabilistic Signature Scheme (PSS) parameters.
- Fedora OpenSSL 3.5 on rawhide stopped accepting SHA-1 PSS[1] parameters.
This is different from the SHA-1 signatures which Fedora OpenSSL stopped
accepting since Fedora 41.[2]
This commit fixes the following test failures related to the... -
05:34 PM Bug #21256 (Assigned): `it` value is wrapped in an array when that doesn't happen with numbered parameter
- Here is a repro without rspec.
```ruby
class C
define_method(:foo) do
p it
end
end
class D < C
def foo(*args)
super(*args)
end
end
D.new.foo(1)
```
```
$ ./local/bin/ruby --parser=parse.y t.rb
1
... -
04:42 PM Bug #21256 (Closed): `it` value is wrapped in an array when that doesn't happen with numbered parameter
- I have the following script:
```rb
require "bundler/inline"
gemfile do
source "https://rubygems.org"
gem "rspec-core", "3.13.3"
gem "rspec-expectations", "3.13.3"
end
require "rspec/autorun"
require "rspec/expectat... -
05:34 PM Misc #20968: `Array#fetch_values` unexpected method name in stack trace
- > In any case, it was reaffirmed that matz strongly prefers that `<internal:` not be displayed.
I somewhat agree that showing "internal" makes it look like we're leaking internal implementation details, but then what about this:
... -
03:22 AM Misc #20968: `Array#fetch_values` unexpected method name in stack trace
- `rake` suppressed these backtrace at https://github.com/ruby/rake/pull/554
I'm +1 to proposal of mame and matz. - 04:52 PM Revision 5aa05f17 (git): Fix lldb debug scripts (#13048)
- In ruby/ruby#13008 `RVALUE` was removed without replacement. This means
the lldb scripts that relied on `RVALUE` stopped working.
I updated the ones that were using it just for the bytesize to use
`slot_size` and then round to the neare... -
04:18 PM Feature #21254: Inlining Class#new
- Btw, @ko1 came up with this idea, so I want to say thanks to him.
-
04:02 PM Feature #21254: Inlining Class#new
- Earlopain (Earlopain _) wrote in #note-3:
> > As you can see in the above output, the Class#new frame is eliminated. I'm not sure if anyone really cares about this frame
> ...
Not a dumb question. :)
>
> ...
It doesn't impact this... -
06:58 AM Feature #21254: Inlining Class#new
- > As you can see in the above output, the Class#new frame is eliminated. I'm not sure if anyone really cares about this frame
Sorry if this is a dumb question, but wouldn't this also affect warn in general, similar to what you did for... -
01:37 AM Feature #21254: Inlining Class#new
- ko1 (Koichi Sasada) wrote in #note-1:
> `swap` is remained?
I [made a patch to remove `swap`](https://github.com/ruby/ruby/commit/04de973311231ca635c802e992ca1f48366f2e4c) but it makes Coverage tests break. I think we can eliminate ... -
12:45 AM Feature #21254: Inlining Class#new
- `swap` is remained?
-
03:15 PM Feature #21221: Proposal to upstream ZJIT
- Thank you for you trust Matz!
I think it should be helpful to onboard new people if we have an architecture that is more "standard", more like something you would read about in a compiler textbook. I will talk a bit about that at Ruby... -
07:10 AM Feature #21221: Proposal to upstream ZJIT
- I agree with making ZJIT upstream. And I feel no worry about the migration, since I trust the team with merging process.
I don't think it was BBV's fault that there were so few contributions to YJIT from outside Shopify, but I'll leave ... -
01:00 PM Feature #16993: Sets: from hash keys using Hash#key_set
- mame (Yusuke Endoh) wrote in #note-9:
> Given the convention of deriving methods such as `key_set` from `keys`, where the former returns a set instead of an array, one might expect a corresponding derivation like `Kernel#instance_variab... -
05:54 AM Feature #16993: Sets: from hash keys using Hash#key_set
- Given the convention of deriving methods such as `key_set` from `keys`, where the former returns a set instead of an array, one might expect a corresponding derivation like `Kernel#instance_variable_set` for `Kernel#instance_variables`. ...
-
10:43 AM Bug #21255 (Assigned): Can't build Ruby with Windows SDK 10.0.26100
-
07:05 AM Bug #21255 (Closed): Can't build Ruby with Windows SDK 10.0.26100
- I tried to build ruby.exe with Windows SDK 10.0.26100. But it failed with:
```
dmyext.obj dmyenc.obj
linking shared-library x64-vcruntime140-ruby350.dll
x64-vcruntime140-ruby350.def : error LNK2001: 外部シンボル "Avx2WmemEnabledWeakValue... -
09:23 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- > So I guess I should merge the proposed patch as a precaution?
I think so yes, with that eval code as a test case. -
08:47 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- byroot (Jean Boussier) wrote in #note-7:
> Can source line ever legitimately be `0`?
With `eval`, it can. It can be even negative.
```
$ ruby -e 'eval("p __LINE__", nil, "foo", -10000)'
-10000
```
And when I did this under... -
08:32 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- @mbcodeandsound Just FYI, I bet you meant to write `!(1..16).cover?(channel)` in the following line.
https://github.com/mike-bourgeous/reproduce-simplecov-ruby34-bug/blob/d73c3fe80014cb91d8b6c64847581feb8a19d1b6/bin/midi_roll.rb#L42... -
08:28 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- Nice find!
Can source line ever legitimately be `0`? Perhaps we are missing some assertions that would have caught this earlier? And perhaps there are other syntax causing the same issue.
-
08:25 AM Bug #21220 (Assigned): Memory corruption in update_line_coverage() [write at index -1]
- @byroot Thanks! I think this is an issue of the prism compiler handling the line number around a flip-flop syntax.
test.rb
```
TracePoint.new(:line) do |tp|
p tp
end.enable
load "./target.rb"
```
target.rb
```
if true..true
end
```
... -
07:50 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- What I've figured for now it that the corruption is triggered by:
```ruby
# This require line makes sure the original script file is processed by simplecov
require File.expand_path($0, '.')
```
```
frame #4: 0x000000010... -
07:43 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- > The issue reproduces on my machine, but it's very rare.
You can make it happen 100% of the time with the following patch:
```diff
diff --git a/thread.c b/thread.c
index 661ee977a9..247fe7237f 100644
--- a/thread.c
+++ b/thre... -
07:41 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- Thanks for the report. The issue reproduces on my machine, but it's very rare. I haven't figured out what happens.
byroot (Jean Boussier) wrote in #note-2:
> If there is no Ruby frame yet (only C frames) you get zero.
That's true,... -
07:00 AM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- > I do not know if it's normal for rb_sourceline() to return 0
Yes:
```ruby
const char *
rb_sourcefile(void)
{
const rb_execution_context_t *ec = GET_EC();
const rb_control_frame_t *cfp = rb_vm_get_ruby_level_next_... -
07:24 AM Misc #21154: Document or change Module#autoload?
- Hi @mame, did you have a chance to watch the video or discuss it in a dev meeting?
-
06:46 AM Revision b68fe530 (git): Windows 11 24H2 with VS 2019 16.11.45 couldn't handle long name test
- ```
2) Error:
TestDir#test_children_long_name:
Test::Unit::ProxyError: No such file or directory @ apply2files - C:/Users/hsbt/AppData/Local/Temp/rubytest.zxydnz/d20250408-35424-2b0o6e/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb... -
06:46 AM Revision 10d6ee65 (git): Skip some assertions of TestFileExhaustive#test_dirname with Windows platform.
- These assertions didn't handle drive letter of Windows
```
1) Failure:
TestFileExhaustive#test_dirname [V:/github.com/ruby/ruby/test/ruby/test_file_exhaustive.rb:1282]:
<"V:/"> expected but was
<"C:/">.
``` -
06:00 AM Bug #21104: Net::HTTP connections failing in Ruby >= 3.4.0 on macOS with Happy Eyeballs enabled
>For those experiencing this problem, can you successfully run the following script?
```
➜ ruby-sandbox ruby -v
ruby 3.4.2 (2025-02-15 revision d2930f8e7a) +PRISM [arm64-darwin24]
➜ ruby-sandbox cat socket_test.rb
require "soc...-
03:12 AM Revision d17ab5a4 (git): [ruby/mmtk] Do root scanning in scan_vm_specific_roots
- We rely on scan_vm_specific_roots to reach all stacks via the following
path:
VM -> ractors -> threads -> fibers -> stacks
https://github.com/ruby/mmtk/commit/0a6a835aaa
04/07/2025
-
11:56 PM Revision b3b1d7b2 (git): Remove spinlock in dtoa's Balloc, use xmalloc
- The spinlock here performs poorly when there are multiple Ractors. The
improvement on single threaded performance doesn't seem that
significant, so I think we should just use malloc. -
11:09 PM Misc #21100: DevMeeting before RubyKaigi 2025
- * [Feature #21254] Inline YARV instructions for `Class#new`
* Patch inlines YARV instructions for calls to `new`
* Allocation performance is very good (24% faster, at minimum but reaches 3x depending on parameters)
* Memory usag... -
06:31 PM Misc #21100: DevMeeting before RubyKaigi 2025
- * [Feature #21221] Proposal to upstream ZJIT
* The YJIT team has been working on ZJIT, a more advanced Ruby JIT
* We aim for this JIT to be in a usable state in time for 3.5
* We would like to discuss upstreaming it after RubyKa... -
04:37 PM Misc #21100: DevMeeting before RubyKaigi 2025
- * [Feature #21216] Implement Set as a core class (jeremyevans0)
* I propose to implement Set as a core class.
* I have a pull request that adds a value-less `st_table` (named `set_table`), for a 33% memory savings.
* Core Set sp... -
11:03 PM Feature #21254 (Closed): Inlining Class#new
- We would like to propose inlining YARV bytecode for speeding up object allocations, specifically inlining the `Class#new` method. In order to support inlining this method, we would like to introduce a new YARV instruction `opt_new`. Th...
-
06:44 PM Feature #21219: `Object#inspect` accept a list of instance variables to display
- > could only symbols be used to simplify the syntax further?
Technically possible, but not ideal because of various implementation details (instance variables without a `@` prefix exist internally).
But regardless, it's also not go... -
06:41 PM Feature #21219: `Object#inspect` accept a list of instance variables to display
- From an developer ergonomic standoint, could only symbols be used to simplify the syntax further? Example:
``` ruby
# First suggestion.
def inspect = super(:host, :user)
# Third suggestion.
private def inspect_instance_variable... -
06:34 PM Feature #21219: `Object#inspect` accept a list of instance variables to display
- I'm fine with either of those, with perhaps a slight preference for `private def inspect_instance_variables = [:@a, :@b]`.
-
06:17 PM Feature #21219: `Object#inspect` accept a list of instance variables to display
- I agree with @mame that a keyword argument to `#inspect` is undesirable. `#inspect_instance_variables` is one possible approach. Another possible approach:
```ruby
private def inspect_include_variable?(ivar)
ivar != :@priv_1 ... -
05:37 PM Feature #21219: `Object#inspect` accept a list of instance variables to display
- Just FYI, pretty_print already has that mechanism. It allows to control the list of instance variables that should be displayed by defining a method named `pretty_print_instance_variables`.
```ruby
class Foo
def initialize
@p... -
01:29 PM Feature #21219 (Closed): `Object#inspect` accept a list of instance variables to display
- ## Context
The default `Object#inspect` implementation is quite useful to have a generic representation of objects in error message and similar places.
However sometimes objects are referencing other objects with a very large `insp... -
06:27 PM Feature #21221 (Closed): Proposal to upstream ZJIT
- # Background
For the past 3 months, the YJIT team at Shopify has been working on a next-generation Ruby JIT, which we refer to as ZJIT. This new compiler is currently being developed in a private fork, with the hope that we can event... -
05:33 PM Bug #21220: Memory corruption in update_line_coverage() [write at index -1]
- Something like this should prevent the memory corruption, but may be hiding a deeper issue:
``` diff
--- thread.c 2025-02-14 14:25:54.000000000 -0700
+++ thread_fix.c 2025-04-07 11:32:53.571115993 -0600
@@ -5675,7 +5675,7... -
05:27 PM Bug #21220 (Closed): Memory corruption in update_line_coverage() [write at index -1]
- Hello!
I have encountered repeatable memory corruption in Ruby 3.4.2 on Ubuntu 24.04.2 LTS, which I believe is happening in update_line_coverage(). I could not reproduce this on Ruby 3.x or earlier. My findings follow. I also have ... -
02:43 PM Bug #21201: Performance regression when defining methods inside `refine` blocks
- Your patch look really good.
I wonder if it would be possible to do like the `vm->constant_cache` table, have the key be the method name, so that you wouldn't need to clear absolutely everything.
But your patch as-is is already a n... -
02:16 PM Bug #21201: Performance regression when defining methods inside `refine` blocks
- byroot (Jean Boussier) wrote in #note-1:
> The solution is likely to keep the list (set) of all existing call caches that belong to a refinement, as to save the object space traversal.
I created a pull request based on this approach.... - 02:37 PM Revision 4646ab89 (git): Use correct warn method
-
02:30 PM Bug #21218 (Rejected): SizedQueue not stopping threads in push even when non_block: false
- The `non_block` argument is a positional argument, not a keyword argument, and `{non_block: true}` is considered true (only `nil` and `false` are considered false). You want `sq.push(1, false)` to explicitly set the `non_block` argument ...
-
11:17 AM Bug #21218 (Rejected): SizedQueue not stopping threads in push even when non_block: false
- Use this to recreate
``` ruby
3.1.4 :019 > sq.push(1, non_block: true)
=> #<Thread::SizedQueue:0x00007f39e759af60>
3.1.4 :020 > sq.push(1, non_block: true)
(irb):20:in `push': queue full (ThreadError)
3.1.4 :021 > sq.push(1, non_... -
01:41 PM Bug #21214 (Closed): VmRSS consumption increase in Ruby 3.4.2 vs Ruby 3.3.6
- Applied in changeset commit:git|d4406f0627c78af31e61f9e07dda9151e109dbc4.
----------
Grow GC heaps independently
[Bug #21214]
If we allocate objects where one heap holds transient objects and another
holds long lived objects, then the... -
01:41 PM Revision e3abdfbc (git): Skip test_heaps_grow_independently for MMTk
-
01:41 PM Revision d4406f06 (git): Grow GC heaps independently
- [Bug #21214]
If we allocate objects where one heap holds transient objects and another
holds long lived objects, then the heap with transient objects will grow
along the heap with long lived objects, causing higher memory usage.
For ex... -
12:21 PM Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18
- ruby_3_3 commit:a67e9e41846cdadad9bb2d9e9d10223c52253898 merged revision(s) commit:3a7b9ca93b91dcc086b9ac8b9957e59268f9493b.
-
02:08 AM Bug #21217 (Closed): Integer.sqrt produces wrong results even on input <= 1e18
- Applied in changeset commit:git|3a7b9ca93b91dcc086b9ac8b9957e59268f9493b.
----------
Fix `Integer.sqrt` to never exceed actual value
`Integer.sqrt` uses `sqrt(3)` from libm for small values.
This method must return a value less than or... -
12:19 PM Revision a67e9e41 (git): merge revision(s) 3a7b9ca93b91dcc086b9ac8b9957e59268f9493b: [Backport #21217]
- Fix `Integer.sqrt` to never exceed actual value
`Integer.sqrt` uses `sqrt(3)` from libm for small values.
This method must return a value less than or equal to the actual integer
square root, but libm's sqrt does... -
10:00 AM Revision 432e5fa7 (git): prism_compile.c: Avoid zero length allocation
- The constant pool may be empty.
-
09:30 AM Bug #20255: Embedded arrays aren't moved correctly across ractors
- For the record, I went back to a lower level copying code, but made it size pool aware: https://github.com/ruby/ruby/pull/13070
- 06:11 AM Revision 135e5bff (git): Update bundled gems list at d485638a08a4561cd2f9c28d29b6d0 [ci skip]
-
06:10 AM Revision d485638a (git): Allow win32ole test failure
- ```
D:/a/ruby/ruby/src/gems/src/win32ole/test/win32ole/test_win32ole_event.rb:80:in 'TestWIN32OLE_EVENT_SWbemSink#default_handler': undefined method '+' for nil (NoMethodError)
```
https://github.com/ruby/ruby/actions/runs/14299035797/j... -
06:10 AM Revision f70bf784 (git): Fixed wrong condition to avoid flaky ractor_test.rb
-
06:10 AM Revision be5dea97 (git): Rename test command for test-unit
- https://github.com/test-unit/test-unit/commit/b7d3c32f6e334e1823e30c053c2268893cf073ef
-
06:10 AM Revision a4b4dad4 (git): Update bundled_gems
-
02:08 AM Revision 3a7b9ca9 (git): Fix `Integer.sqrt` to never exceed actual value
- `Integer.sqrt` uses `sqrt(3)` from libm for small values.
This method must return a value less than or equal to the actual integer
square root, but libm's sqrt does not always guarantee that.
This change corrects that by decrementing th...
04/06/2025
-
11:05 AM Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18
- mame (Yusuke Endoh) wrote in #note-3:
> https://github.com/ruby/ruby/pull/13076
Thanks for the quick resolution! -
09:52 AM Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18
- https://github.com/ruby/ruby/pull/13076
-
09:20 AM Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18
- I was given a reproducible example!
https://x.com/tatyam_prime/status/1908810778276487443
```
irb(main):001> n = 4503599761588224
=> 4503599761588224
irb(main):002> Integer.sqrt(n) ** 2
=> 4503599761588225
``` -
09:13 AM Bug #21217: Integer.sqrt produces wrong results even on input <= 1e18
- Thank you. I think it's most likely a Ruby bug, but I can't proceed until I identify the input that causes it.
I still believe Ruby is the cause, but I can't rule out a Python bug. (AtCoder's answer might have been generated with Pyth... -
05:00 AM Bug #21217 (Closed): Integer.sqrt produces wrong results even on input <= 1e18
- Hello, I have been so far using Ruby in various online judge platforms that support it, while recently I discovered a very intriguing issue regarding `Integer.sqrt`.
Please refer to the two following verdicts on this recent problem th... -
04:43 AM Bug #21027: `not()` receiver should be `nil`
- Fixed prism tests with updated snapshots at 5640fea8aada2380145375a7f9eac2b979fe1258.
-
02:32 AM Bug #21027: `not()` receiver should be `nil`
- ruby_3_3 commit:7c315e23983a35d29108d9ba8c914d6320254d43 merged revision(s) commit:117d6e145a0270ab8fc9134403519ef13b9ebb24.
-
04:42 AM Revision 5640fea8 (git): Update prism test snapshots.
- This is follow-up for 7c315e23983a35d29108d9ba8c914d6320254d43.
-
03:44 AM Feature #21216 (Closed): Implement Set as a core class
- I propose to implement Set as a core class. Set has been an autoloaded standard library since Ruby 3.2. The standard library Set is less efficient than it could be, as it uses Hash for storage, which stores unnecessary values for each ...
-
03:24 AM Revision e2588995 (git): Ensure builtin binaries are aligned to ibf_header
- Since IBF result string size should be multiple of 4, this should not
increase the binary size actually. -
02:31 AM Revision 7c315e23 (git): merge revision(s) 117d6e145a0270ab8fc9134403519ef13b9ebb24: [Backport #21027]
- [ruby/prism] Fix `not` receiver
`not foo` should be `!foo`
`not()` should be `!nil`
Fixes [Bug #21027]
https://github.com/ruby/prism/commit/871ed4b462 -
12:38 AM Revision b5ac483d (git): Fix the if condition to skip test_ractor.rb correctly (#13067)
- Follow-up for https://github.com/ruby/ruby/commit/a2b03ba7cb721d698bebee74c535dea4583a9c28
04/05/2025
-
01:31 AM Revision 229784d1 (git): [Bug #21150] macOS: unwinding coroutine workaround is only for arm64
04/04/2025
-
02:45 PM Bug #21211: Incomplete Backtrace for Socket Errors in Ruby 3.4+
- Thanks @byroot, this must be some kind of record from bug report to merged fix.
-
02:26 PM Revision 085cc6e4 (git): Ractor: revert to moving object bytes, but size pool aware
- Using `rb_obj_clone` introduce other problems, such as `initialize_*`
callbacks invocation in the context of the parent ractor.
So we can revert back to copy the content of the object slots,
but in a way that is aware of size pools. -
10:34 AM Revision eb765913 (git): Console Cntl event is sent to root process sharing the console
-
07:24 AM Revision cec45aed (git): Cannot send signal to process group on Windows
-
07:24 AM Revision d22e7660 (git): Cannot send `SIGTERM` to another process on Windows
-
05:45 AM Bug #21214: VmRSS consumption increase in Ruby 3.4.2 vs Ruby 3.3.6
- byroot (Jean Boussier) wrote in #note-2:
> `ObjectSpace.memsize_of_all` being mostly stable suggest the difference is likely in the GC releasing the memory less eagerly, or having trouble releasing it because it's more fragmented.
[...... -
05:23 AM Revision 0251abca (git): Fixed mismatched indentation
-
05:21 AM Revision 705a9532 (git): Removed unused variable
-
02:58 AM Revision b4a94011 (git): Hardening auto-merge workflow
- https://docs.github.com/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions#enabling-automerge-on-a-pull-request
- 01:22 AM Revision cd8c203f (git): Update bundled gems list at 05e74543f6b0dca882e4324d3577b6 [ci skip]
-
01:21 AM Revision 05e74543 (git): Update bundled_gems
04/03/2025
-
11:54 PM Revision 710bf4a4 (git): [rubygems/rubygems] Rubyinstaller2 fixed this
- https://github.com/rubygems/rubygems/commit/08b3c48f41
-
11:54 PM Revision f8c02259 (git): [rubygems/rubygems] Improve bug report instructions
- * Explicitly recommend copying full command output and not just the bug
report template part.
* Include quadruple quotes in the "What actually happened section" and
tell users to copy full command output inside. Hopefully quadruple
... -
10:38 PM Revision 647e1ff9 (git): Use EnvUtil.apply_timeout_scale
-
10:38 PM Revision fa95d1b0 (git): Extend open_timeout for test failure on s390x
- https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
-
10:38 PM Revision a1679f0d (git): Use EnvUtil.apply_timeout_scale
-
10:38 PM Revision f2ee22f3 (git): Extend open_timeout for test failure on s390x
- https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
-
10:32 PM Revision bbf5f123 (git): Use EnvUtil.apply_timeout_scale
-
10:32 PM Revision 4d6143dd (git): Extend open_timeout for test failure on s390x
- https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
-
09:13 PM Bug #21214: VmRSS consumption increase in Ruby 3.4.2 vs Ruby 3.3.6
- I have a fix here: https://github.com/ruby/ruby/pull/13061
-
05:58 AM Bug #21214: VmRSS consumption increase in Ruby 3.4.2 vs Ruby 3.3.6
- byroot (Jean Boussier) wrote in #note-2:
> `ObjectSpace.memsize_of_all` being mostly stable suggest the difference is likely in the GC releasing the memory less eagerly, or having trouble releasing it because it's more fragmented.
> ..... -
05:58 PM Revision 6b5e187d (git): [ruby/openssl] pkcs7: fix test failure on RHEL 9
- The test case test_split_content fails on RHEL 9 and Fedora 41 because
their OpenSSL packages do not accept SHA-1 signatures. This was only
caught after commit https://github.com/ruby/openssl/commit/69fd7f886313 added the missing asserti... -
05:58 PM Revision 3911113b (git): [ruby/openssl] pkcs7: update test case test_graceful_parsing_failure
- Using test_pkcs7.rb as an example invalid input is not reliable because
we may happen to include a valid PKCS#7 PEM block in a heredoc.
https://github.com/ruby/openssl/commit/76fead26d2 - 05:39 PM Revision 137b51e4 (git): Remove rb_gc_start from cancel_single_ractor_mode
- In 307732ccee7f9f28f8422bab2f839da021d8cdec Ractors were changed to
explicitly run GC when the first non-main one was activated in order to
disable the transient heap. Theap no longer exists so I don't think we
need to do this. -
05:39 PM Revision 5eb3efcf (git): Fix timeline_value not being marked in test
- T_DATA with a NULL pointer are not marked. Let's wrap 1 instead to
ensure that our mark function is actually run. -
02:57 PM Revision 4aa74b60 (git): compile.c: avoid allocating 0 length call_data
- if `body->ci_size` is `0`, there's no point allocating 0B,
it just wastes an entry in the allocator. -
11:38 AM Feature #14565: Simpler, one-liner, failsafe require in ruby? [Suggested names: require_failsafe, require_safe, require_try, require_add)
- I like `require "rubocop-rspec", optional: true` idea from https://bugs.ruby-lang.org/issues/20714.
I wonder if a `nil` return value for `require ..., optional: true` when the feature was not available would make sense, and would enab... -
03:11 AM Feature #14565: Simpler, one-liner, failsafe require in ruby? [Suggested names: require_failsafe, require_safe, require_try, require_add)
- jeromedalbert (Jerome Dalbert) wrote in #note-4:
> I like this feature request, a non-failing require would be great for gems that optionally depend on another gem.
> ...
Unfortunately, that `if` will not work, because:
```ruby
p r... -
11:03 AM Revision fab133e6 (git): Use EnvUtil.apply_timeout_scale
-
11:03 AM Revision 3f152ce7 (git): Extend open_timeout for test failure on s390x
- https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
-
10:41 AM Revision 7065e603 (git): Use IPv4 for test server because TestNetHTTPS is failing with s390x
- https://rubyci.s3.amazonaws.com/s390x/ruby-3.2/log/20250403T005659Z.fail.html.gz
-
10:36 AM Revision b79909fc (git): Followed up 7c400c66c9
-
07:56 AM Revision 1dddc6c7 (git): Remove no longer used union
- IMEMO_NEW takes just one memo value, min/max argc are assigned
directly and packed argc is not used. -
06:39 AM Bug #20255: Embedded arrays aren't moved correctly across ractors
- No offense taken.
-
05:44 AM Revision 7c400c66 (git): Use IPv4 for test server because TestNetHTTPS is failing with s390x
- https://rubyci.s3.amazonaws.com/s390x/ruby-3.2/log/20250403T005659Z.fail.html.gz
-
05:10 AM Revision c48219e2 (git): f7059af50a31 is also required at ractor_core.h
-
05:10 AM Revision 105d9da2 (git): Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml via vcpkg
-
04:45 AM Revision 34e990fc (git): Picking test fix from https://github.com/ruby/ruby/commit/3d8a66568e8106b367665d716e0d3c8c8208aa07
- The original change is https://github.com/ruby/ruby/commit/d78ff6a767ca813ac5fa178dd7611f20a993c191
-
04:13 AM Revision aa5d760f (git): Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml via vcpkg
-
03:54 AM Revision 31c295ef (git): Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml via vcpkg
-
03:37 AM Bug #21215 (Closed): IRB upto yield self when self is little then end_val
-
02:33 AM Bug #21215 (Closed): IRB upto yield self when self is little then end_val
- irb(main):001:0> 1.upto(0) { |k| p k } => 1
1
irb(main):002:0> 0.downto(1) { |k| p k } => 0
0
Save these statements to script and run the script, no output.
======
Sorry, It is not a bug, Just the IRB Echo of return value o... -
02:31 AM Revision 29dafa5f (git): Fix assertion failure with anonymous splats
- When calling a method that accepts an anonymous splat and literal
keywords without any arguments, an assertion failure was previously
raised. Set rest_index to 0 when setting rest to the frozen hash,
so the args_argc calculation is accur... -
01:14 AM Revision b8e2bec9 (git): Grammar fix in doc/exceptions.md: there => they're
-
01:12 AM Revision 1598a2ca (git): Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml via vcpkg