Skip to content

[pull] master from ruby:master - #1396

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

[pull] master from ruby:master#1396
pull[bot] merged 11 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Sep 11, 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 : )

rafaelfranca and others added 11 commits September 10, 2026 15:43
rb_str_intern can raise EncodingError and call its initializer.
This call can push a Ruby frame.

Fix in the VM, YJIT, and ZJIT.
…parse.y

reduce_nodes eliminated a bare `nil` in a method's tail (value) position
down to an empty method body, so parse.y emitted no :line event and
recorded no line coverage for that line, even though it is executed:

    def m
      nil    # <- no :line event, no coverage under parse.y
    end

The Prism compiler keeps the explicit nil and correctly emits the event.
Keep the nil in reduce_nodes when it carries a newline flag (i.e. it is
on its own line) so it still produces a line event, while the implicit
nil of an empty body (no newline flag) is still dropped. This makes
parse.y match Prism for TracePoint :line events and line coverage.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Added in 9bed6e8 for the classic `icc`, which rejected the plain
`-Wdivision-by-zero` and `-Wdeprecated-declarations` spellings.
`AC_PROG_CC` appends `-std=gnu11` to `CC`, so the anchored `/icc\z/` no
longer matches, and `icx` 2026.1.1 accepts both flags anyway.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The omit was added in 2018 because the machine died with NoMemoryError
here. On that machine today (openSUSE Leap 16.0, 3.8GB RAM, no swap)
the test peaks at 172MB RSS and finishes in 0.4s, while the concurrent
chkbuild test-all process sits at 360MB.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The signal handling bug behind these was fixed in FreeBSD 13.3, and 13 is
now EOL. Each of them ran 30 times, and the affected files together 20
times, on the rubyci FreeBSD 14.5 amd64 and 15.1 arm64 machines with no
failure.

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=277429

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Same FreeBSD 12/13 flakiness as [Bug #18613]. bootstraptest/test_io.rb ran
20 times on the rubyci FreeBSD 14.5 amd64 and 15.1 arm64 machines with no
failure. The mswin exclusion is unrelated and stays.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Ran 90 times on each of the rubyci FreeBSD 14.5 amd64 and 15.1 arm64
machines, in isolation and with the whole file both serially and under
-j2, with no failure.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
PRIO_PGRP behaves as the spec expects on FreeBSD 14.5 and 15.1; the spec
passes there with the guard dropped.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
FreeBSD ships /usr/share/zoneinfo/Europe/Lisbon, and the Lisbon tests pass
on 14.5 and 15.1. OpenBSD is untested, so it keeps the exclusion.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The example hung when the guard was added in 2022. It now passes on
icc.rubyci.org with Intel oneAPI DPC++/C++ Compiler 2026.1.1, both with
a local build and with the binary chkbuild itself produced.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Time.rfc3339's pattern used [T\s], so it accepted a tab, newline,
vertical tab, form feed or carriage return between the date and the
time. Time.xmlschema's pattern has a bare T.

RFC 3339 section 5.6 defines the separator as "T" and only notes that an
application may use a space for readability. The other \s characters are
not permitted by either.

Since Ruby 3.2 the pattern also disagrees with what the code does with
the string it matched. _xmlschema hands it to Time.new, which rejects
those five characters, so the documented ArgumentError never gets raised
and Time.new's internal message escapes instead:

  Time.rfc3339("2011-10-05\t22:26:12Z")
  #=> ArgumentError: "+HH:MM", "-HH:MM", "UTC" or "A".."I","K".."Z"
  #   expected for utc_offset: 22:26:12Z

Narrowing the class to [T ] makes the pattern agree with the RFC, with
Time.xmlschema, and with what _xmlschema can actually parse, so these
inputs now raise "invalid rfc3339 format:" as documented.

ruby/time@03c5cc82d1
@pull pull Bot locked and limited conversation to collaborators Sep 11, 2026
@pull pull Bot added the ⤵️ pull label Sep 11, 2026
@pull
pull Bot merged commit 2a0323f into turkdevops:master Sep 11, 2026
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.

4 participants