Activity
From 02/03/2025 to 02/09/2025
02/09/2025
-
10:11 PM Revision 5232c86f (git): Use the default MMTk plan
- The default MMTk plan is no longer MarkSweep, so we shouldn't force it
to be MarkSweep. -
10:11 PM Revision 5fcbf3e8 (git): Remove MMTk configuration for debug builds
- We are no longer running debug builds of MMTk here, so we don't need this
configuration anymore. -
07:33 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- > I'm not sure if this one is possible. If some Ractor is updating the hash, it could be in an inconsistent state when another Ractor is trying to read.
A RW-lock doesn't allow reads while the write lock is held.
> ...
That's an i... -
07:30 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- byroot (Jean Boussier) wrote in #note-16:
> I profiled this repro out of curiosity, and ractors spend 32% of their time waiting for the VM lock (`vm_lock_enter` + the unlock) to be able to lookup in the `fstring` table: https://share.fi... -
09:15 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- I profiled this repro out of curiosity, and ractors spend 32% of their time waiting for the VM lock (`vm_lock_enter` + the unlock) to be able to lookup in the `fstring` table: https://share.firefox.dev/4152X8a
Currently this is done e... -
06:40 PM Feature #21126: Drop default_proc when Hash#freeze is called for better Ractor support
- I was about to write the same thing as @jeremyevans0, the `default_proc` doesn't necessarily mutate the hash, hence dropping it on freeze isn't correct.
-
06:37 PM Feature #21126: Drop default_proc when Hash#freeze is called for better Ractor support
- I think this is a bad idea. It makes `freeze` change the hash in a non-backwards compatible way.
For `Hash#default`, I think it makes no sense at all:
```ruby
h = Hash.new(0)
h[1] # 0
h.freeze
h[1] # Before: 0, After: nil
```... -
09:08 AM Feature #21126 (Rejected): Drop default_proc when Hash#freeze is called for better Ractor support
- Hash instances with default_proc set cannot be sent/moved across Ractors, even if they are frozen.
Consider the following code. Using a default proc to set an empty Array is a very common pattern, even introduced in the docs.
```ru... -
10:26 AM Revision 7d10c22a (git): [ruby/openssl] Revert "Skip a new test when old OpenSSL"
- This reverts commit https://github.com/ruby/openssl/commit/8c96a69b0d47.
This is no longer necessary since we do not support OpenSSL 1.1.0
anymore.
https://github.com/ruby/openssl/commit/4987688cb4 -
10:26 AM Revision 581dbcec (git): [ruby/openssl] ssl: prefer SSLContext#max_version= in tests
- Avoid using the deprecated OpenSSL::SSL::SSLContext#ssl_version= outside
the tests specifically written for it.
https://github.com/ruby/openssl/commit/93a564dec2 -
10:26 AM Revision 64a98dec (git): [ruby/openssl] ssl: fix misuse of assert_handshake_error in tests
- assert_handshake_error is useful for checking handshake failures
triggered by the peer, as the underlying socket may be closed
prematurely, leading to different exceptions depending on the platform
and timing.
However, when the local en... -
10:26 AM Revision 5791c93f (git): [ruby/openssl] ssl: refactor test case test_verify_mode_server_cert
- Minimize the amount of code inside the assert_raise block to avoid
accidentally catching a wrong exception.
https://github.com/ruby/openssl/commit/5089b2d311 -
10:26 AM Revision a8b36314 (git): [ruby/openssl] ssl: fix test case test_npn_advertised_protocol_too_long
- The list of NPN protocols is validated in SSLContext#setup.
The assert_handshake_error is misleading. The client is unable to start
a handshake at all because the server is not running.
https://github.com/ruby/openssl/commit/e8db6ffd9e -
10:26 AM Revision 1f4fc2e6 (git): [ruby/openssl] ssl: remove start_server_version from tests
- Use start_server instead of start_server_version.
start_server_version is a wrapper around start_server that forces the
server to a specific protocol version using the now-deprecated method
SSLSocket#ssl_version=, but it does more than ... -
10:26 AM Revision 237c71fc (git): [ruby/openssl] ssl: remove start_immediately kwarg from test helper start_server
- The keyword argument is no longer used by any test cases.
https://github.com/ruby/openssl/commit/2f31605d47 -
09:15 AM Misc #21110: Should Marshal.dump always use object links for repeated Float values?
- nobu (Nobuyoshi Nakada) wrote in #note-3:
> At least, `Float` should be distinguished only by its value, not its object ID
Bigint has similar behaviour:
``` ruby
Marshal.dump([2**64, 2**64]) #=> "\x04\b[\al+\n\x00\x00\x00\x00\x00\x... -
08:49 AM Bug #21123 (Rejected): instance_exec with curried proc
- I agree with @mame this isn't a bug, and by design.
And I don't see how it could reasonably be changed without breaking lots of code. -
08:48 AM Bug #21124: Enumerable#find called without a block returns Enumerator without size
- I really don't understand what the "size" of the Enumerator returned by `find` means, but I guess it returns `nil`, which means "unknown size", because the number of calls depends on the return value of the block.
```ruby
i = 0; [1, ... -
02:45 AM Bug #21125: Kernel is called first
- The reason this works in Ruby 3.3 and below is that `system` is a private method and not a public method, and calls to private methods where the receiver is not `self` call `method_missing`. `raw.system` is a method call where the recei...
-
02:34 AM Bug #21125: Kernel is called first
- jeremyevans0 (Jeremy Evans) wrote in #note-3:
> mikik0 (Hashino Mikiko) wrote in #note-2:
> ...
Sorry, that was me testing the wrong version. The behavior is the same between prism and parse.y, so this is a difference in behavior betw... -
02:32 AM Bug #21125 (Open): Kernel is called first
- mikik0 (Hashino Mikiko) wrote in #note-2:
> @jeremyevans0 san
> ...
You are correct. It also works on Ruby 3.4 when using `--parser=parse.y`, so this appears to be related to prism. I'll have to do more analysis to determine which be... -
02:21 AM Bug #21125: Kernel is called first
- @jeremyevans0 san
It works with Ruby 3.3 series, but not from Ruby 3.4. Is it a specification? -
02:01 AM Bug #21125 (Rejected): Kernel is called first
- This isn't a bug. If you want `method_missing` to be called instead of a method in Kernel, you need to undefine the existing method:
```ruby
class ObjectifiedHash
undef_method :system
# rest of your example
```
You could... -
01:43 AM Bug #21125 (Closed): Kernel is called first
- Kernel#system is being called when there is a column or method name named system.
The other methods of Kernel reproduce the problem.
Ex.Rand returns a random value, and exit terminates the program.
This problem did not occur until R...
02/08/2025
-
10:13 PM Bug #21124 (Rejected): Enumerable#find called without a block returns Enumerator without size
- When a collection's size is known then enumerator that iterates it usually has size (that's `#size` returns a collection size).
But an enumerator returned by `Enumerable#find` called without a block doesn't have size:
```ruby
[1, ... -
03:44 PM Bug #21123: instance_exec with curried proc
- Hi @mame san,
Thanks for your explanation and I understood the reason of this behavior.
I have no reasonable thought but I think it would be nice that curried blocks are able to be executed by `#instance_exec`. -
01:36 PM Bug #21117: Inconsistent behaviour between "_1" and "it" variables
- Prism and parse.y parses these two code in the example differently.
~~~ruby
[1, 2, 3].each { it = it + 1; p it }
[1, 2, 3].each { it += 1; p it }
~~~
I think `it` was designed not to break old code that uses local variable `it`,... -
09:29 AM Misc #21019: DevMeeting-2025-02-13
- * [Bug #21102] Unexpected encoding when concatenating ASCII string with ASCII compatible string (toy)
* Should `ascii_string + utf8_string` return an ASCII or UTF-8 string when both have 7bit coderange?
- 06:59 AM Revision b4865b14 (git): Update bundled gems list as of 2025-02-07
02/07/2025
-
11:22 PM Bug #20919: IO#seek and IO#pos= do not clear the character buffer in some cases while transcoding
- I have a draft of a fix for this one https://github.com/ruby/ruby/pull/12714
-
09:21 PM Bug #21123: instance_exec with curried proc
- I believe this behavior is by design.
`Proc#curry` returns a wrapper Proc that calls to a given Proc. In other words, your code is essentially the same as the following code.
```ruby
a = Object.new
def a.foo(n)
p
end
b = p... -
02:54 PM Bug #21123 (Rejected): instance_exec with curried proc
- I have a question about behavior of `#instance_exec` with a curried proc.
When running `#instance_exex` with a curried proc, it appears that the given proc is executed on the context where it is created but not the receiver object.
... -
08:47 PM Feature #21121: Ractor channels
- I think adding a channel object would be very helpful. I'm looking through shared data structures in Rails, trying to understand what we need to change for Ractor safety. One popular data structure is a Concurrent::Map, and there are v...
-
08:44 PM Revision e12f5259 (git): Add timeout to compilers workflow
- The default timeout on GitHub Actions is 360 minutes, the job usually takes
around 20 to 30 minutes to complete. This commit sets the timeout to be
40 minutes so jobs that hang will timeout faster. -
08:14 PM Bug #21122 (Closed): library/socket/basicsocket/recv_nonblock_spec.rb fails with IO::EAGAINWaitReadable sometimes.
-
01:41 PM Bug #21122: library/socket/basicsocket/recv_nonblock_spec.rb fails with IO::EAGAINWaitReadable sometimes.
- Oh, my bad.
Fixed in https://github.com/ruby/ruby/pull/12710. -
08:30 AM Bug #21122 (Closed): library/socket/basicsocket/recv_nonblock_spec.rb fails with IO::EAGAINWaitReadable sometimes.
- After https://github.com/ruby/ruby/commit/d7a5ad2a21f7d2c45e3fea674ff077bb0e2cadae, I got test failure with `library/socket/basicsocket/recv_nonblock_spec.rb` sometimes.
* https://github.com/ruby/ruby/actions/runs/13108171270/job/3656... -
08:13 PM Revision 5454188f (git): Retry on IO::EAGAINWaitReadable when a closed socket is still not available for reading
-
09:40 AM Revision 71785935 (git): Simplified to find gemspecs for bundled gems (#12709)
- * Simplified to find gemspecs for bundled gems
Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com> - 07:00 AM Revision 8dbbc79e (git): Update bundled gems list as of 2025-02-06
-
03:09 AM Bug #21117: Inconsistent behaviour between "_1" and "it" variables
- > I believe variables `_1` and `it` should have consistent behaviour
Assignments to `it` are currently allowed for compatibility considerations, but I believe they may be prohibited in the future.
BTW, `_1` and `it` are different. `_... -
02:47 AM Revision e776efdc (git): Support `git ls-files ...`.split style for file list of gemspec
02/06/2025
-
11:49 PM Revision 2ed1962c (git): [CI] add CI matrix for clang-21
- see also https://github.com/llvm/llvm-project/pull/124870
-
11:15 PM Feature #21121 (Closed): Ractor channels
- # Motivation:
It would be nice be able to `Ractor.yield` in a non-blocking way. Right now a `Ractor.yield` blocks until another ractor calls `r.take` on the yielding ractor.
This is bad in the following scenario:
```ruby
main = R... -
09:03 PM Bug #21115: Etc.getgrgid is not Ractor-safe but is marked as such
- I think having a mutex per unsafe C extension (that you want to make safe) to lock around those library calls would be a good idea. The alternative would
be confusing to users imo, the ractor safety would be system dependant (OS version ... -
10:22 AM Bug #21115: Etc.getgrgid is not Ractor-safe but is marked as such
- nobu (Nobuyoshi Nakada) wrote in #note-2:
> MT-Safe variants such as `getgrgid_r` may be available, but we don't provide per-method ractor-safe declaration API, for now.
I think it's possible, like:
```c
void Init_foo() {
rb_ext_rac... -
03:05 AM Bug #21115: Etc.getgrgid is not Ractor-safe but is marked as such
- MT-Safe variants such as `getgrgid_r` may be available, but we don't provide per-method ractor-safe declaration API, for now.
Also `ractor_unsafe_check()` is not exposed.
-
08:48 PM Bug #21119: Programs containing `Dir.glob` with a thread executing a CPU-heavy task run very slowly.
- Yeah sorry it is the GVL, like you guys are saying. There are many syscalls here, it would be nice to just release it at the top and get it back after all the syscalls, but then
there's probably a lot of ruby functions in between the sy... -
08:17 PM Bug #21119: Programs containing `Dir.glob` with a thread executing a CPU-heavy task run very slowly.
- I don't think we should revert the GVL freeing, but we should really start to think about a smarter scheduler that don't penalize threads that release the GVL. It's a longer project though.
-
07:25 PM Bug #21119: Programs containing `Dir.glob` with a thread executing a CPU-heavy task run very slowly.
- It is simple to revert the GVL-releasing, but then no other thread can run while accessing the filesystem (which may block for a long period of time for networked filesystems). GVL-releasing is a tradeoff. It mitigates damage if the fi...
-
07:11 PM Bug #21119: Programs containing `Dir.glob` with a thread executing a CPU-heavy task run very slowly.
- This might be an issue with Kernel#loop being defined now in Ruby itself, and it never calls a primitive to check interrupts. Checking interrupts and having a timer interrupt would switch threads. You can mimic this by calling `Thread.pa...
-
03:50 PM Bug #21119 (Open): Programs containing `Dir.glob` with a thread executing a CPU-heavy task run very slowly.
- Executing the following code in Ruby 3.4.1 takes a very long time, especially when there are many files \(100~\) in the current directory.
This delay does not occur in Ruby 3.3.6.
## Reproducible script
```ruby
# hoge.rb
# Lau... -
08:14 PM Bug #21118 (Closed): Calling defined?(it) segfaults
- Closing as the other bug is marked as backport for 3.4 already.
-
07:44 PM Bug #21118: Calling defined?(it) segfaults
- It looks like this was fixed in https://github.com/ruby/ruby/pull/12584 so this is working fine on `master`.
-
03:36 PM Bug #21118 (Closed): Calling defined?(it) segfaults
- ```
$ ruby -e '[1, 2, 3].each { p defined?(it) }'
-e: [BUG] Unsupported node PM_IT_LOCAL_VARIABLE_READ_NODE
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +PRISM [arm64-darwin24]
-- Crash Report log information -----------------------... -
05:38 PM Bug #21120 (Closed): Segmentation fault when running Rails with MN threads enabled on 3.4.1
- The error can be replicated by checking out the following branch: https://github.com/p8/FrameworkBenchmarks/tree/rails/enable-MN-threads
and running:
```bash
./tfb --test rails --mode verify
```
The following error is raised:
... -
03:32 PM Bug #21117 (Closed): Inconsistent behaviour between "_1" and "it" variables
- I believe variables `_1` and `it` should have consistent behaviour and the same as normal local variables. Here are inconsistencies:
```ruby
# 1. Assigning new value
[1, 2, 3].each { |v| v = v + 1; p v } # works as expected
[1, 2, ... -
03:01 PM Feature #21084: Declare objects have weak references
- Ah yes, I forgot to link the PR: https://github.com/ruby/ruby/pull/12606
-
12:49 PM Feature #21084: Declare objects have weak references
- Is there a PR already? I don't see the link in the description.
-
02:12 PM Revision 9baa0f8c (git): Enable bundled gems in ruby-runner
- 02:10 PM Revision adbf9c5b (git): [ruby/openssl] test_ssl.rb: Test respecting system default min.
- https://github.com/ruby/openssl/commit/7de5ff583a
-
12:06 PM Misc #21019: DevMeeting-2025-02-13
- * [Feature #21116] Extract RJIT as a third-party gem (k0kubun)
* Are we okay with removing RJIT (`--rjit`) from the Ruby core? -
11:55 AM Feature #21116 (Closed): Extract RJIT as a third-party gem
- ## Proposal
* Extract the implementation of `RJIT::C` to ruby/rjit and publish it as a thirt-party gem `rjit`
* Allow `jit_exec()` to call `body->jit_entry` even when `--yjit` is not given
* Remove RJIT from the Ruby core
* Remov... -
09:22 AM Feature #20309 (Closed): Bundled gems for Ruby 3.5
- I migrated all of target gems to bundled gems in master branch.
@k0kubun
FYI: I added workaround to load fiddle from bundled gems at rjit.rb now.
https://github.com/ruby/ruby/blob/master/rjit.rb#L33
This workaround should be... -
07:44 AM Revision ec8e3e37 (git): Only modified LOAD_PATH for RJIT with fiddle provided by bundled gems
-
07:02 AM Revision b4bfbcad (git): Optimize Symbol generation in strict mode
- Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
-
07:02 AM Revision f865148e (git): Fix JSON::Coder to call as_json proc for NaN and Infinity
- Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
-
06:58 AM Revision dd1fe03b (git): [rubygems/rubygems] Add `irb` to a Gemfile for a newly created gem
- I think we need this to silence the following warning when running
`bin/console` with Ruby 3.4
```
./bin/console:10: warning: irb was loaded from the standard library, but will no longer be part of the default gems starting from Ruby 3.... -
06:58 AM Revision ac093f43 (git): [rubygems/rubygems] Auto-heal empty installation directory
- https://github.com/rubygems/rubygems/commit/9720a9b980
-
06:57 AM Revision 78ef59ac (git): [rubygems/rubygems] Refine messages about gem installations being missing
- The previous wording was too specific, there may be situations when the
gem has actually never installed (so never deleted either).
https://github.com/rubygems/rubygems/commit/e4a0d71fbe -
06:57 AM Revision 385dc5dc (git): [rubygems/rubygems] Don't potentially load remote metadata when expanding dependencies
- For installed specifications, we can ignore any constraints they may
have, since we know they match the current version of Ruby or otherwise
would not be installed.
For remote specifications, we already resolve optimistically without
me... -
06:57 AM Revision a1716e23 (git): [rubygems/rubygems] Move expanding dependencies with metadata to specification classes
- https://github.com/rubygems/rubygems/commit/7f921aa46e
-
06:57 AM Revision 24f5e301 (git): [rubygems/rubygems] Metadata dependencies can be `Gem::Dependency` instances
- They use less memory that way.
When resolving from scratch a Gemfile including only `"gem "rails", "~>
8.0.1"`, I get the following results:
### Before
Total allocated: 265.06 MB (3186053 objects)
Total retained: 116.98 MB (1302280 o... -
06:57 AM Revision 7fed6c88 (git): [rubygems/rubygems] Remove unnecessary remapping of dependencies
- Sometimes we'll resolve using bare `Gem::Dependency` instances rather
than `Bundler::Dependency` instances, which is fine, simpler, and saves
some memory.
When resolving from scratch a Gemfile including only `"gem "rails", "~>
8.0.1"`, ... -
06:57 AM Revision 4c0cf2de (git): [rubygems/rubygems] Make `Bundler::Dependency` more memory efficient
- When resolving from scratch a Gemfile including only `"gem "rails", "~>
8.0.1"`, I get the following results:
### Before
Total allocated: 288.21 MB (3498515 objects)
Total retained: 119.10 MB (1357976 objects)
### After
Total alloca... -
06:57 AM Revision 8e788301 (git): [rubygems/rubygems] Lazily parse dependencies in EndpointSpecification
- Since not every dependency gets referenced.
When resolving from scratch a Gemfile including only `"gem "rails", "~>
8.0.1"`, I get the following results:
### Before
Total allocated: 295.01 MB (3624335 objects)
Total retained: 119.31 ... -
04:07 AM Revision c8337067 (git): Improve bundled gems warning messages
- Currently evenn if the require actually fails, they suggest that the
file was actually loaded, which is confusing. I reworded them to reduce
this confusion. -
04:07 AM Revision 03a0c4e0 (git): Rename "gem" to "name"
- The name "gem" could be confused with RubyGems activation method.
-
04:07 AM Revision 433f4e30 (git): Simplify bundled gems warnings implementation
- Most of the stuff is not actually necessary.
-
04:07 AM Revision 68bb6cee (git): Remove unnecessary SINCE_FAST_PATH constant
- If anything, I think this may be causing some false positives.
-
12:49 AM Revision da75893d (git): Bump up actions/upload-artifact-4.4.1
- 12:49 AM Revision 15b77a09 (git): [DOC] ractor.md: Remove link to Complex class
02/05/2025
-
11:57 PM Revision 6ca8bc85 (git): Launchable: Fix broken links by passing GITHUB_SERVER_URL (#12704)
- @peterzhu2118 mentioned that "View workflow run" button is broken in Launchable. It's because invalid URL is sent from compilers/actions.yaml. Launchable CLI builds URL based on the environment variables. In those variables, GITHUB_SERVE...
-
10:09 PM Bug #20919: IO#seek and IO#pos= do not clear the character buffer in some cases while transcoding
- I rerun tests on 3.5.0 and it's indeed related to transcoding
```
puts "Hello dev-ruby! #{RUBY_VERSION}"
require 'tempfile'
Tempfile.open() do |f|
f.write('0123456789')
f.rewind
f.ungetc('a')
# Character buffer WILL NOT... -
09:19 PM Bug #20919: IO#seek and IO#pos= do not clear the character buffer in some cases while transcoding
- It works OK with StringIO (unsurprisingly)
```
StringIO.open() do |f|
f.write('0123456789')
f.rewind
f.ungetc('a')
# Character buffer WILL NOT be cleared
f.seek(2)
f.getc
end
# => "1"
``` -
02:56 PM Bug #20919: IO#seek and IO#pos= do not clear the character buffer in some cases while transcoding
- I've reproduced it without transcoding:
```ruby
Tempfile.open() do |f|
f.write('0123456789')
f.rewind
f.ungetc('a')
# Character buffer WILL NOT be cleared
f.seek(2, :SET)
f.getc # => 'a'
end
# => 'a'
``` -
04:05 PM Bug #21115: Etc.getgrgid is not Ractor-safe but is marked as such
- I think most methods of Etc have the same problem, so it's probably best to mark none of them as thread-safe, or only some known as thread-safe and frequently-used like `Etc.nprocessor` and `Etc.uname` (but should still be reviewed if th...
-
04:00 PM Bug #21115 (Closed): Etc.getgrgid is not Ractor-safe but is marked as such
- ```ruby
require 'etc'
20.times.map do
Ractor.new do
1000.times do
raise unless Etc.getgrgid(Process.gid).gid == Process.gid
end
end
end.each(&:take)
```
(inspired from https://github.com/ruby/spec/blob/658b5... -
11:24 AM Bug #21114 (Closed): Prism hangs up while parsing deeply nested `def`
- ~~~ruby
Prism.parse "def f\n" * 500 # Ruby 3.4
Prism.parse "def f\n" * 5000 # Ruby 3.5
Prism.parse "def initialize: ()->void\n" * 250 # Ruby 3.4
Prism.parse "def initialize: ()->void\n" * 2500 # Ruby 3.5
#=> hang up, Ctrl-C doesn't ... -
11:17 AM Misc #21110: Should Marshal.dump always use object links for repeated Float values?
- https://github.com/ruby/ruby/pull/12703
-
08:15 AM Revision 141f2924 (git): The test of net-smtp-0.5.1 is working with Windows platform now
- 06:20 AM Revision 7796db24 (git): Update bundled gems list at ae026ff65b85cd4ebea891825e9ced [ci skip]
-
06:19 AM Revision ae026ff6 (git): Update bundled_gems
-
05:55 AM Bug #21113 (Closed): net-smtp.gemspec is broken at Ruby 3.3/3.4
- This issue is fixed at https://github.com/ruby/net-smtp/releases/tag/v0.5.1
I prepared to backport for Ruby 3.3 and 3.4
* https://github.com/ruby/ruby/pull/12698
* https://github.com/ruby/ruby/pull/12699
-
05:46 AM Bug #21113 (Closed): net-smtp.gemspec is broken at Ruby 3.3/3.4
- The bundled `net-smtp-0.4.0.1` at Ruby 3.3 and `net-smtp-0.5.0` at Ruby 3.4 are broken.
```
❯ diff -u 3.2.7/lib/ruby/gems/3.2.0/specifications/net-smtp-0.3.4.gemspec 3.3.7/lib/ruby/gems/3.3.0/specifications/net-smtp-0.4.0.1.gemspec
... - 03:48 AM Revision c204cf7c (git): [rubygems/rubygems] Deprecate `CurrentRuby#maglev?` and other related maglev methods:
- - Follow up to https://github.com/rubygems/rubygems/pull/8430#discussion_r1927239555.
The maglev platform was not supported by Bundler, so calling
`gem "foo", platforms: ["maglev"]` would raise an error.
The helpers added in the ... - 02:37 AM Revision afb47a1f (git): Bump capstone from 0.12.0 to 0.13.0 in /yjit
- Bumps [capstone](https://github.com/capstone-rust/capstone-rs) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/capstone-rust/capstone-rs/releases)
- [Changelog](https://github.com/capstone-rust/capstone-rs/blob/master/CHANGEL... -
02:05 AM Revision 50e48a20 (git): Generate the latest version number from OpenSSL LTS releases
- 01:37 AM Revision 920d1555 (git): Update default gems list at 425a93fb1bb9a3059fab5527d4ab31 [ci skip]
-
01:36 AM Revision 425a93fb (git): Removed unused parameters for building docker image
02/04/2025
- 10:37 PM Revision ec5ac156 (git): Update bundled gems list at 4b5bcba2e28b367f851bd21fbcd828 [ci skip]
-
10:36 PM Revision 4b5bcba2 (git): Integrate read_s and read_s_expand with get_item_property for Win32::Registry
-
10:36 PM Revision 333bc26d (git): Added get_item_property and use it for Win32::Registry and Get-ItemProperty
-
10:36 PM Revision a487698c (git): Use powershell for retrieving value from registry if fiddle is not available
-
10:36 PM Revision 078e723b (git): Don't use nested registry open for rewriting powershell version
-
10:36 PM Revision 02a9c05e (git): Handle failing case to load win32/registry
-
10:36 PM Revision 62b87921 (git): Skip irb on test-bundled-gems with Windows
-
10:36 PM Revision 9052d0d5 (git): Try to inject fiddle path as bundled gems for RJIT
-
10:36 PM Revision b50360e0 (git): Update fiddle entries under the doc directory
-
10:36 PM Revision 470784cb (git): Expand stub-out scope of Fiddle.dlopen
-
10:36 PM Revision ec2bd6f7 (git): Skip to existence check fiddle from TestExtLibs
-
10:36 PM Revision 16d446e8 (git): Removed fiddle from sync target
-
10:36 PM Revision 908529b7 (git): Migrate fiddle as bundled gems
-
09:25 PM Bug #21112 (Closed): Typo in error message when an incorrect key is used with WeakKeyMap
- Applied in changeset commit:git|91a10c07579f282a94e4b5830feaeca87f9a7dd3.
----------
Fix a typo in WeakKeyMap argument error
[Bug #21112] -
07:18 PM Bug #21112 (Closed): Typo in error message when an incorrect key is used with WeakKeyMap
- The `ObjectSpace::WeakKeyMap#[]=` method raises exception when key is either Symbol, Numeric or true/false/nil but error message looks like a bit incorrect:
```ruby
m = ObjectSpace::WeakKeyMap.new
m[:a] = 1
# 'ObjectSpace::WeakKeyM... -
09:25 PM Revision 91a10c07 (git): Fix a typo in WeakKeyMap argument error
- [Bug #21112]
-
05:20 PM Feature #21033: Allow lambdas that don't access `self` to be Ractor shareable
- Nice patch! I feel this makes Ractor programming practical.
~~ObjectSpace.each_object could effectively leak `self` after it has been marked as shareable, but I'm not sure if that's a real problem... Maybe it is ok since `self` won't sh... -
12:27 PM Bug #21104: Net::HTTP connections failing in Ruby >= 3.4.0 on macOS with Happy Eyeballs enabled
- @mjt58
Thank you for your reply. Since you're seeing this issue across different environments, I'm starting to think it's more likely influenced by software running on the host rather than a problem with network intermediaries.
Could y... -
11:33 AM Revision 02ec3152 (git): bump teeny
-
05:50 AM Bug #21088: TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
- I think the changeset is worth to backport to ruby_3_4.
-
04:20 AM Bug #21088 (Closed): TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
- @dmlary
Unfortunately, I was unable to reproduce the issue you reported. However, I believe I have fixed the code that was likely causing the problem in this change.
https://github.com/ruby/ruby/pull/12678
It should be resolved in ... -
04:55 AM Revision 10d06b9a (git): [ruby/resolv] Load win32/resolv with rake test
- https://github.com/ruby/resolv/commit/3ecfce3626
02/03/2025
-
10:47 PM Bug #21111 (Closed): RbConfig::CONFIG['CXX'] quietly set to "false" when Ruby cannot build C++ programs
- As reported in https://gitlab.com/gitlab-org/gitlab-development-kit/-/issues/2222 and https://trac.macports.org/ticket/70750, we've had numerous macOS users experience problems with compiling Ruby C++ extensions after upgrading to XCode ...
-
03:20 PM Misc #21110: Should Marshal.dump always use object links for repeated Float values?
- Right, I think always adding a link makes sense.
Then the logic for flonum/not-flonum should be identical (as shown [here](https://github.com/ruby/ruby/pull/12679#discussion_r1937116017)). -
02:51 PM Misc #21110: Should Marshal.dump always use object links for repeated Float values?
- I agree that `Marshal` should not depend on the details.
At least, `Float` should be distinguished only by its value, not its object ID.
OTOH, dump of `Float` is often longer:
```ruby
Marshal.dump(Math.log(324.0)) #=> "\x04\bf\x165... -
01:08 PM Misc #21110: Should Marshal.dump always use object links for repeated Float values?
- IMO Marshal should not depend on obscure implementation details like Flonum, i.e. Float whether fitting in a Flonum or not should be dumped the same with Marshal.
What do others think? -
01:02 PM Misc #21110 (Open): Should Marshal.dump always use object links for repeated Float values?
- I've noticed (during the downstreaming ruby/spec in https://github.com/ruby/ruby/pull/12679) that a repeated Float value may be dumped "directly"/"immediately" without an object link on x86 architecture, and with a link in other cases. I...
-
01:54 PM Bug #21088 (Assigned): TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
-
01:24 PM Bug #21088 (Closed): TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts - Applied in changeset commit:git|1683dadb19876f0a64589bdbbcf6fff8143f78ff.
----------
Do not save ResolutionError if resolution succeeds for any address family (#12678)
* Do not save ResolutionError if resolution succeeds for any addres... -
01:24 PM Revision 7317f967 (git): Move out from quarantine a Marshal.dump spec for Float (#12692)
- * Move out from quarantine a Marshal.dump spec for Float
Co-authored-by: Benoit Daloze <eregontp@gmail.com> - 11:26 AM Revision 1683dadb (git): Do not save ResolutionError if resolution succeeds for any address family (#12678)
- * Do not save ResolutionError if resolution succeeds for any address family
Socket with Happy Eyeballs Version 2 performs connection attempts and name resolution in parallel.
In the existing implementation, if a connection attempt fail... -
09:47 AM Revision f84d75ee (git): [ruby/openssl] pkey/ec: remove deprecated PKey::EC::Point#mul(ary, ary [, bn]) form
- The method has two forms, each corresponding to EC_POINT_mul() and
EC_POINTs_mul(). The latter form does not work with any OpenSSL or
LibreSSL versions that are still supported by upstream.
The latter form has an extremely confusing beh... -
09:46 AM Revision 5a14f536 (git): [ruby/openssl] ssl: separate SSLContext#min_version= and #max_version=
- Make these methods simple wrappers around
SSL_CTX_set_{min,max}_proto_version().
When we introduced these methods in commit https://github.com/ruby/openssl/commit/18603949d316 [1], which went
to v2.1.0, we added a private method to SSLC... -
09:29 AM Bug #21104: Net::HTTP connections failing in Ruby >= 3.4.0 on macOS with Happy Eyeballs enabled
- shioimm (Misaki Shioi) wrote in #note-1:
> To help narrow down the cause, could you provide more information on the following?
> ...
Yes, I saw it first running `bundle install` with errors like:
```
Bundler::HTTPError Could not fe... -
07:07 AM Revision 8cbff4fe (git): Add sleep to PTY tests to stabilize flaky failures (#12691)
-
05:43 AM Revision 890020e3 (git): Removed manpages for bundled gems
-
03:47 AM Bug #21108: C-c (SIGINT) crashes ruby when looping Ractors are not taken?
- Thank you for your comment! Your patch looks promising. Hope it gets merged soon.
-
01:58 AM Revision e8cf4414 (git): [ruby/weakref] Add missing block parameter
- A block is part of the Delegator's contract. Ruby 3.4 issues a warning if a block is passed but unused. This commit fixes the warning by adding a block to the argument list.
https://github.com/ruby/weakref/commit/9495ec9191 -
01:22 AM Revision 15e6f13f (git): [ruby/fiddle] Fix Fiddle.last_error on FFI backend and improve test
- to work for all
(https://github.com/ruby/fiddle/pull/173)
https://github.com/ruby/fiddle/commit/ef2382a7ef -
01:22 AM Revision b5b50976 (git): [ruby/fiddle] Define Fiddle.last_error family and Fiddle.dlopen
- statically
(https://github.com/ruby/fiddle/pull/172)
`RUBY_ENGINE` and `Fiddle::WINDOWS` should not change in a process, no
need to be checked inside the methods.
Also, `win32_last_error` and `win32_last_socket_error` are equal to
`las... - 01:05 AM Revision 56c814a8 (git): [rubygems/rubygems] Bump the rb-sys group across 2 directories with 1 update
- Bumps the rb-sys group with 1 update in the /test/rubygems/test_gem_ext_cargo_builder/custom_name/ext/custom_name_lib directory: [rb-sys](https://github.com/oxidize-rb/rb-sys).
Bumps the rb-sys group with 1 update in the /test/rubygems/t... -
01:05 AM Revision c0688c21 (git): [rubygems/rubygems] Raise a simpler error when RubyGems fails to activate a dependency
- If you force uninstall a dependency but leave other gems depending on
it, those gems will fail to be activated.
In that case, RubyGems prints a rather complicated error:
```
$ rails --version
/Users/deivid/.asdf/installs/ruby/3.4.1/lib... -
01:05 AM Revision d645b62b (git): [rubygems/rubygems] Remove already fixed TODO
- It was fixed by https://github.com/rubygems/rubygems/commit/3b0d44fbf5a3.
https://github.com/rubygems/rubygems/commit/4cf3429599 -
01:05 AM Revision 98c56de8 (git): [ruby/json] Refactor further to expose the simpler escape search possible
- https://github.com/ruby/json/commit/e03515ac8b
-
01:05 AM Revision 98e1c284 (git): [ruby/json] Refactor convert_UTF8_to_JSON to split searching and escaping code
- The goal is to be able to dispatch to more optimized search implementations
without having to duplicate the escaping code.
Somehow, this is a few % faster already:
```
== Encoding activitypub.json (52595 bytes)
ruby 3.4.1 (2024-12-25 r...