Project

General

Profile

Revision:

Revisions

# Date Author Comment
3b602c95 06/24/2025 08:41 PM Eregon (Benoit Daloze)

[ruby/timeout] Gracefully handle a call to ensure_timeout_thread_created in a signal handler

40441882 06/24/2025 08:08 PM jhawthorn (John Hawthorn)

Fix load catch table write barrier

I tried fixing this in 521b2fcba4e96898bfd237c79f17f19530b7a030, but
re-running wbcheck with the stricter WBCHECK_VERIFY_AFTER_WB, revealed
that this write barrier was fired too early, before the object was
actually written to the parent....

fcf2c3b4 06/24/2025 08:08 PM jhawthorn (John Hawthorn)

Fix write barriers in rb_hash_add_new_element

The write barriers must be run after the st_update callback returns,
as the objects are not on the object until then and there may be
allocation when there is a new object inserted.

This is hard to reproduce, and I haven't seen an actual crash due to it,...

c351c3d0 06/24/2025 04:28 PM burdettelamar (Burdette Lamar)

[DOC] Tweaks for String#bytes

b2849876 06/24/2025 03:19 PM byroot (Jean Boussier)

Cleanup and document shape_id_t layout

5bcc639b 06/24/2025 02:10 PM byroot (Jean Boussier)

Disallow forking from non-main ractor

[Bug #17516]

fork(2) only leave the calling thread alive in the child.
Because of this forking from the non-main ractor can easily
leave the VM in a corrupted state.

It may be possible in the future to carefully allow forking from non-main...

45a2c95d 06/24/2025 10:29 AM byroot (Jean Boussier)

Reduce exposure of FL_FREEZE

The FL_FREEZE flag is redundant with SHAPE_ID_FL_FROZEN, so
ideally it should be eliminated in favor of the later.

Doing so would eliminate the risk of desync between the two, but
also solve the problem of the frozen status being global in namespace...

da10b956 06/24/2025 09:50 AM nobu (Nobuyoshi Nakada)

Generate HTML documentation even if only NEWS.md is updated

cf6b4e72 06/24/2025 09:33 AM git[bot]

Update default gems list at 62aa4a6010c293ea58cfec59f316f0 [ci skip]

62aa4a60 06/24/2025 09:32 AM hsbt (Hiroshi SHIBATA)

[ruby/resolv] v0.6.1

https://github.com/ruby/resolv/commit/6b57765f8d

152cf102 06/24/2025 09:30 AM nobu (Nobuyoshi Nakada)

Remove trailing spaces

21f3ffed 06/24/2025 09:26 AM hsbt (Hiroshi SHIBATA)

tmpdir.rb is not extension

ac02bf2b 06/24/2025 09:19 AM nobu (Nobuyoshi Nakada)

[ruby/json] Remove trailing spaces [ci skip]

https://github.com/ruby/json/commit/6c41162522

ba68343d 06/24/2025 05:55 AM Samuel Williams

Allow wakeup mutex to be used in trap context. (#13684)

e036d4da 06/24/2025 04:40 AM hsbt (Hiroshi SHIBATA)

Removed Set entry

Fixup 061d36476fbeec9aebaf2e9058b0ac01be3d0dd0

7a5e46cf 06/24/2025 03:10 AM hsbt (Hiroshi SHIBATA)

Revert accidentally commit with 96a0c2065a95d076978de41e8bfacbd19858d0bb

93fc29c6 06/24/2025 03:10 AM byroot (Jean Boussier)

[ruby/json] Deprecate duplicate keys in object

There are few legitimate use cases for duplicate keys, and can
in some case be exploited.

Rather to always silently accept them, we should emit a warning,
and in the future require to explictly allow them.
...

b310e7b3 06/24/2025 03:10 AM byroot (Jean Boussier)

[ruby/json] Add missing parser options documentation

https://github.com/ruby/json/commit/eed753ffde

7a297ad2 06/24/2025 03:10 AM deivid (David Rodríguez)

[rubygems/rubygems] Fix Bundler.original_env['GEM_HOME'] when Bundler is trampolined

https://github.com/rubygems/rubygems/commit/4c450eb05e

bc6b0451 06/24/2025 03:10 AM deivid (David Rodríguez)

[rubygems/rubygems] Cleanup now unnecessary RUBYOPT handling

https://github.com/rubygems/rubygems/commit/ac83c78635

32a9f29c 06/24/2025 03:10 AM deivid (David Rodríguez)

[rubygems/rubygems] Remove no longer necessary workarounds for restarts

Since we no longer pass ruby CLI flags in our spec commands, we no
longer need the previous workaround and can get the realworld code
tested.

https://github.com/rubygems/rubygems/commit/fd92c855fb

6217216b 06/24/2025 03:10 AM deivid (David Rodríguez)

[rubygems/rubygems] Use ENV consistently over CLI flags for specs

https://github.com/rubygems/rubygems/commit/dafe50f171

0a8ed97b 06/24/2025 03:10 AM deivid (David Rodríguez)

[rubygems/rubygems] Helper for hax file

https://github.com/rubygems/rubygems/commit/8b7ddf8a07

c115e3d9 06/24/2025 03:10 AM deivid (David Rodríguez)

[rubygems/rubygems] bundle exec does not need artifice in general

https://github.com/rubygems/rubygems/commit/cb1f19573a

3546cedd 06/24/2025 02:39 AM mame (Yusuke Endoh)

Set up callable_method_entry for DUMMY frame on ArgumentError

Before the patch:

$ ./miniruby -e '[1, 2].inject(:tap)'
-e:1:in '<main>': wrong number of arguments (given 1, expected 0) (ArgumentError)
        from -e:1:in 'Enumerable#inject'
        from -e:1:in '<main>'...
a18fa863 06/24/2025 02:39 AM mame (Yusuke Endoh)

Change how to correct the first lineno in the backtrace on ArgumentError

Follow up to fix 3b7373fd00a0ba456498a7b7d6de2a47c96434a2.
In that commit, the line number in the first frame was overwritten after
the whole backtrace was created. There was a problem that the line...

74e6bddf 06/23/2025 11:55 PM tekknolagi (Maxwell Bernstein)

ZJIT: Parse putspecialobject(VMCore) into Const (#13683)

This way we get more information in HIR for the optimizer.

Fix https://github.com/Shopify/ruby/issues/587

3a9bf4a2 06/23/2025 10:41 PM tekknolagi (Maxwell Bernstein)

ZJIT: Optimize frozen array aref (#13666)

If we have a frozen array [..., a, ...] and a compile-time fixnum index i,
we can do the array load at compile-time.

67346a7d 06/23/2025 05:56 PM tompng (tomoya ishida)

[Bug #21449] Fix Set#divide{|a,b|} using Union-find structure (#13680)

  • [Bug #21449] Fix Set#divide{|a,b|} using Union-find structure

Implements Union-find structure with path compression.
Since divide{|a,b|} calls the given block n**2 times in the worst case, there is no need to implement union-by-rank or union-by-size optimization....

db6f3979 06/23/2025 05:28 PM burdettelamar (Burdette Lamar)

Tweaks for String#bytesize

b1ce569f 06/23/2025 03:20 PM ywenc (CY Wen)

ZJIT: anytostring to HIR (GH-13658)

Pop two values from the stack, return the first if it is a string,
otherwise return string coercion of the second

Also piggybacks a fix for string subclasses skipping to_s for
objtostring.

Co-authored-by: composerinteralia

af6b98f7 06/23/2025 11:03 AM nobu (Nobuyoshi Nakada)

Make the critical level an enum

c6dd07d6 06/23/2025 09:04 AM byroot (Jean Boussier)

Allocate singleton classes as namespaceable if their parent are

32ee3fab 06/23/2025 09:04 AM byroot (Jean Boussier)

Shink RClass when it is known they can't be namespaced

Even when namespaces are enabled, only a few core classes created
during init will eventually be namespaced.

For these it's OK to allocate a 320B slot to hold the extra namespace
stuff.

But for any class created post init, we know we'll never need the...

ea4a53c5 06/23/2025 09:04 AM byroot (Jean Boussier)

Avoid creating namespace table for classes that can't be namespaced.

071b9aff 06/23/2025 09:04 AM byroot (Jean Boussier)

Ensure RCLASS_CLASSEXT_TBL accessor is always used.

96a0c206 06/23/2025 09:04 AM byroot (Jean Boussier)

Mark RClass instance that may be namespaced with RCLASS_NAMESPACEABLE

393e9a5f 06/23/2025 09:04 AM byroot (Jean Boussier)

Optimize rb_namespace_available

Rather than to lazily check the env using a trinary
value, we can more straightforwardly check for the
env during the VM boot.

This allow rb_namespace_available to just be a pointer
dereference.

ce38cba5 06/23/2025 02:08 AM nobu (Nobuyoshi Nakada)

Merge blocks for the same condition

a1d62a3b 06/23/2025 02:07 AM larouxn (Nicholas La Roux)

[rubygems/rubygems] Handle RubyGems installing to custom dir with non-existent parent dirs

https://github.com/rubygems/rubygems/commit/4701123601

8f009601 06/23/2025 02:07 AM deivid (David Rodríguez)

[rubygems/rubygems] Handle Errno::EADDRNOTAVAIL gracefully

As showed by the unskiped spec, on Windows trying to use the 0.0.0.0
interface raises this error, and it's raised as a generic system error
when trying to create a bundler.lock file. Here's is a better place to...

7fe1fc39 06/23/2025 02:07 AM deivid (David Rodríguez)

[rubygems/rubygems] Make HTTP_ERRORS list look like FAIL_ERRORS list

https://github.com/rubygems/rubygems/commit/bfa6770e39

c3bfce51 06/23/2025 02:07 AM deivid (David Rodríguez)

[rubygems/rubygems] Simplify non retriable errors list

https://github.com/rubygems/rubygems/commit/627a7615f2

627ca420 06/23/2025 02:07 AM deivid (David Rodríguez)

[rubygems/rubygems] Move HTTP_ERRORS together with the other error constants

https://github.com/rubygems/rubygems/commit/57e8ae7aa6

746e0d3e 06/23/2025 02:06 AM deivid (David Rodríguez)

[rubygems/rubygems] Deprecate unused Bundler#SpecSet methods

https://github.com/rubygems/rubygems/commit/380c95ce05

7c326ee7 06/23/2025 02:06 AM deivid (David Rodríguez)

[rubygems/rubygems] Remove usage of Bundler::SpecSet#<<

https://github.com/rubygems/rubygems/commit/b556167793

7c115b86 06/23/2025 02:06 AM deivid (David Rodríguez)

[rubygems/rubygems] Fix flaky test failures in mirror probing specs

The mirror probing spec file was moved to our regular suite, which runs
in parallel, recently. These specs rely on starting and stopping actual
servers in localhost, but this does not play nice with parallelization,...

353fa6f0 06/21/2025 09:43 PM jeremyevans (Jeremy Evans)

Avoid allocation for positional splat for literal array keyword argument

If all nodes in the array are safe, then it is safe to avoid
allocation for the positional splat:

m(*a, kw: [:a])   # Safe
m(*a, kw: [meth]) # Unsafe

This avoids an unnecessary allocation in a Rails method call....

d84a811f 06/21/2025 05:00 PM nobu (Nobuyoshi Nakada)

[Bug #21448] Reorder trials in fill_random_bytes

First try dedicated system calls, such as getrandom or getentropy,
next possible libraries, then fallback to /dev/urandom.

ec20f7fe 06/21/2025 04:08 PM nobu (Nobuyoshi Nakada)

Suppress warnings

  • ractor_sync_terminate_atfork is unused unless fork is working
  • cr in vm_lock_leave is only for debugging
(51-100/109100) Per page: 50, 100, 200, 500

Also available in: Atom