Skip to content

[pull] master from ruby:master - #1425

Merged
pull[bot] merged 4 commits into
turkdevops:masterfrom
ruby:master
Sep 19, 2026
Merged

pull[bot] merged 4 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Sep 19, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

k0kubun and others added 4 commits September 18, 2026 11:51
I'll take a look at seeing if it's the intended change, but let me make
the CI green in the meantime.
Otherwise we can get assertion failures like:

```
TestGc#test_finalizer_not_run_with_vm_lock [/tmp/_actions-runner-working-dir/ruby/ruby/src/test/ruby/test_gc.rb:1055]:
  pid 225354 killed by SIGABRT (signal 6)
  | ../src/vm_sync.c:40: Assertion Failed: RUBY_ASSERT_vm_locking_with_barrier:vm_locked(vm)
  |
  | -- Threading information ---------------------------------------------------
  | Total ractor count: 1
  | Ruby thread count for this ractor: 2
  |
  | -- C level backtrace information -------------------------------------------
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_print_backtrace+0x10) [0x2aa3ad260f8] ../src/vm_dump.c:1113
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_vm_bugreport) ../src/vm_dump.c:1479
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_assert_failure_detail+0x13c) [0x2aa3aaba034] ../src/error.c:1258
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_assert_failure+0x16) [0x2aa3aaba066] ../src/error.c:1234
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_current_execution_context+0x0) [0x2aa3ad2728a] ../src/vm_sync.c:40
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(vm_lock_assertable_p) ../src/vm_sync.c:23
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(RUBY_ASSERT_vm_locking_with_barrier) ../src/vm_sync.c:38
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(RB_SPECIAL_CONST_P+0x0) [0x2aa3ac4dab6] ../src/string.c:622
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(RB_FL_ABLE) ../src/include/ruby/internal/fl_type.h:383
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(RB_FL_TEST) ../src/include/ruby/internal/fl_type.h:432
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_gc_free_fstring) ../src/string.c:624
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_obj_free+0x0) [0x2aa3aaf239a] ../src/gc/default/default.c:5139
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_sweep_plane) ../src/gc/default/default.c:5140
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_sweep_page) ../src/gc/default/default.c:5208
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_sweep_step+0x194) [0x2aa3aaf37b4] ../src/gc/default/default.c:5628
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_sweep+0xce) [0x2aa3aaf3c1e] ../src/gc/default/default.c:5943
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_start_body+0x48a) [0x2aa3aaf945a] ../src/gc/default/default.c:8860
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(gc_start+0x12) [0x2aa3aaf9a72] ../src/gc/default/default.c:8879
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(heap_prepare) ../src/gc/default/default.c:3083
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(heap_next_free_page) ../src/gc/default/default.c:3300
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(newobj_refill) ../src/gc/default/default.c:3446
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(RB_SPECIAL_CONST_P+0x0) [0x2aa3aafff82] ../src/gc/default/default.c:3468
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(RB_BUILTIN_TYPE) ../src/include/ruby/internal/value_type.h:184
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(newobj_init) ../src/gc/default/default.c:3145
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_gc_impl_new_obj) ../src/gc/default/default.c:3552
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(newobj_body+0x26) [0x2aa3ab00c00] ../src/gc.c:1149
  | /tmp/_actions-runner-working-dir/ruby/ruby/build/ruby(rb_newobj) ../src/gc.c:1187
```
[Bug #22334]

If we return a with a keyword splat, then each element does not necessarily
push two values onto the stack, so we cannot compile this as a simple sequence
of key-value pairs combined with newhash. The following script reproduces
the issue and crashes:

    def r
      return **{foo: 1}
    end
    puts r()
@pull pull Bot locked and limited conversation to collaborators Sep 19, 2026
@pull pull Bot added the ⤵️ pull label Sep 19, 2026
@pull
pull Bot merged commit b61da99 into turkdevops:master Sep 19, 2026
1 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants