Project

General

Profile

Activity

From 03/17/2023 to 03/23/2023

03/23/2023

11:31 PM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
I would explore solutions that involve generating no extra metadata
because that's ideal, and may help the Windows port in the future.
For example, if we rely on frame pointer unwinding, it'd be incorrect when the PC is in
sections of...
alanwu (Alan Wu)
10:47 PM Bug #19416: Inconsistent behaviour for Struct.new without any member_names
matz (Yukihiro Matsumoto) wrote in #note-3:
> After consideration, I think we should allow empty `Struct` even without the name for consistency.
I submitted a pull request to implement this: https://github.com/ruby/ruby/pull/7587
jeremyevans0 (Jeremy Evans)
08:42 PM Revision b4e438d8 (git): YJIT: Save PC on rb_str_concat (#7586)
[Bug #19483]
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
k0kubun (Takashi Kokubun)
05:11 PM Revision 8286544d (git): YJIT: Use starting context for status === CantCompile (#7583)
Jimmy Miller
04:46 PM Revision ed4dc1c3 (git): Fix ENABLE_MULTIARCH
This macro is used in `ruby_init_loadpath()`, but was removed
mistakenly at 31f4b2d86bfbc753cec9be376719acc4b120e944.
nobu (Nobuyoshi Nakada)
03:04 PM Revision e9507818 (git): Use shape information in YJIT's definedivar implementation (#7579)
* Use shape information in YJIT's definedivar implementation
* Handle complex shape for definedivar
Ole Friis Østergaard
02:31 PM Revision b738cb01 (git): Suppress -Wsign-compare warning
nobu (Nobuyoshi Nakada)
11:45 AM Revision 310af50c (git): [ruby/time] Update required ruby version
`Regexp#match?` which is introduced at ruby 2.4 is used since https://github.com/ruby/time/pull/1852.
https://github.com/ruby/time/commit/b0a965dcaa
nobu (Nobuyoshi Nakada)
11:00 AM Bug #19534: [ruby 3.2.1] Regular expression comparisons may be slower than in older versions.
According to git bisect, this seems to be happening after commit:881bf9a0b8.
It appears to me that this slowdown is due to #19104 and is an unavoidable sacrifice to avoid ReDoS.
If this is a problem in the actual application, it may giv...
wanabe (_ wanabe)
09:08 AM Revision 3563e138 (git): thread_pthread.c: Use a `fork_gen` to protect against fork instead of getpid()
[Feature #19443]
Until recently most libc would cache `getpid()` so this was a cheap check to make.
However as of glibc version 2.25 the PID cache is removed and calls to getpid() always
invoke the actual system call which significantl...
byroot (Jean Boussier)
08:18 AM Revision a9146bd8 (git): Don't suggest `--full-index` on API Response mismatch errors
I've never seen this error in real life, and if it was happening, I
think it's either some server side issue that would need to be fixed or
some transient issue. We should move away from the full index, since
it's slow, so let's stop rec...
deivid (David Rodríguez)
08:18 AM Revision c3fa6679 (git): Don't suggest retrying with `--full-index` on gemspec errors
We're actually already using the full index here, so it makes no sense
to suggest retrying the same thing.
deivid (David Rodríguez)
08:18 AM Revision 164dc580 (git): Fix logging the fallback to the full index on GemspecError's
The debug message suggests retrying using `--full-index`, but the retry
is happening automatically. Just log that we are falling back to the
full index, like we do with other errors.
deivid (David Rodríguez)
08:18 AM Revision 069640d3 (git): Avoid intermediate array in TarHeader#calculate_checksum
String#sum(0) sums the character bytes without a modulo.
Follow-up of #6476 based on comment from @nobu.
Maumagnaguagno (Mau Magnaguagno)
08:18 AM Revision a9fd1860 (git): Fix flaky when making materialized specs uniq
Sometimes we'll have an heterogenous array of specs which include
`Gem::Specification` objects, which don't define `#identifier`. Let's
use `#full_name` consistently.
deivid (David Rodríguez)
08:18 AM Revision 6ad6ae68 (git): Skip test_gem_with_platform_and_platform_dependencies only ruby/ruby repository
hsbt (Hiroshi SHIBATA)
08:18 AM Revision 1b408e65 (git): Refactor and fix usage of Gem.ruby
ntkme (Natsuki Natsume)
08:18 AM Revision 22d037f4 (git): Move duplicated logic to parent class
ntkme (Natsuki Natsume)
08:18 AM Revision e46d4733 (git): Make sure native extensions are loaded correctly in ext_conf builder
ntkme (Natsuki Natsume)
08:18 AM Revision f8ecf145 (git): Make sure native extensions are loaded correctly in rake builder
ntkme (Natsuki Natsume)
08:18 AM Revision a757e21b (git): Reuse `SpecSet#materialize` logic
deivid (David Rodríguez)
08:18 AM Revision ebebc90e (git): Refactor incomplete specs handling
Recent bugs fixed made me realize we were relying on state too much
here. We only need to keep incomplete specs to be able to expire them
and retry resolution without them locked. If we use a separate class, we
can do that more transpare...
deivid (David Rodríguez)
08:18 AM Revision 8e6bbc03 (git): Don't remove RUBY platform when healing a lockfile with missing specs
deivid (David Rodríguez)
08:18 AM Revision 4e7c39f9 (git): Don't remove RUBY platform when healing a lockfile with missing specs
deivid (David Rodríguez)
08:18 AM Revision acf12b6d (git): util/rubocop -A --only Style/AsciiComments
hsbt (Hiroshi SHIBATA)
08:18 AM Revision f24a86d8 (git): util/rubocop -A --only Layout/EmptyLineAfterMagicComment
hsbt (Hiroshi SHIBATA)
08:18 AM Revision 4dd418f8 (git): util/rubocop -A --only Style/FrozenStringLiteralComment
hsbt (Hiroshi SHIBATA)
08:18 AM Revision 50a03035 (git): util/rubocop -A --only Lint/NonLocalExitFromIterator
hsbt (Hiroshi SHIBATA)
08:18 AM Revision 2e3cd1dc (git): [rubygems/rubygems] Enabled Style/RedundantReturn cop
https://github.com/rubygems/rubygems/commit/05cc97bdf8 hsbt (Hiroshi SHIBATA)
08:18 AM Revision 19e9c400 (git): [rubygems/rubygems] util/rubocop -A --only Lint/BinaryOperatorWithIdenticalOperands
Many of class of RubyGems have original <=> methods. We should ignore
these cops for testing.
https://github.com/rubygems/rubygems/commit/0a8645dc3b
hsbt (Hiroshi SHIBATA)
08:18 AM Revision a3670249 (git): [rubygems/rubygems] util/rubocop -A --only Lint/Void
https://github.com/rubygems/rubygems/commit/9d25906e44 hsbt (Hiroshi SHIBATA)
08:18 AM Revision 048230de (git): [rubygems/rubygems] util/rubocop -A --only Lint/RequireParentheses
https://github.com/rubygems/rubygems/commit/ee6814afbc hsbt (Hiroshi SHIBATA)
08:18 AM Revision 0eef33e1 (git): [rubygems/rubygems] util/rubocop -A --only Style/Next
https://github.com/rubygems/rubygems/commit/e5868e92f7 hsbt (Hiroshi SHIBATA)
08:18 AM Revision bec069b0 (git): [rubygems/rubygems] util/rubocop -A --only Style/MultilineMemoization
https://github.com/rubygems/rubygems/commit/c1f6e4a97b hsbt (Hiroshi SHIBATA)
08:18 AM Revision 8a364b85 (git): [rubygems/rubygems] util/rubocop -A --only Style/MultilineTernaryOperator
https://github.com/rubygems/rubygems/commit/be853dfe3b hsbt (Hiroshi SHIBATA)
08:18 AM Revision 5efadf81 (git): [rubygems/rubygems] util/rubocop -A --only Lint/ShadowingOuterLocalVariable
https://github.com/rubygems/rubygems/commit/82ed77178d hsbt (Hiroshi SHIBATA)
08:18 AM Revision 8260698e (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnreachableCode
https://github.com/rubygems/rubygems/commit/f06047f52a hsbt (Hiroshi SHIBATA)
08:18 AM Revision 01be518e (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnderscorePrefixedVariableName
https://github.com/rubygems/rubygems/commit/6dc4bc3a5b hsbt (Hiroshi SHIBATA)
08:18 AM Revision ec131071 (git): [rubygems/rubygems] util/rubocop -A --only Lint/ReturnInVoidContext
https://github.com/rubygems/rubygems/commit/021823a331 hsbt (Hiroshi SHIBATA)
08:18 AM Revision 1a600126 (git): [rubygems/rubygems] util/rubocop -A --only Lint/RescueException
https://github.com/rubygems/rubygems/commit/e8a5db50af hsbt (Hiroshi SHIBATA)
08:18 AM Revision 25ed2e74 (git): [rubygems/rubygems] util/rubocop -A --only Lint/EmptyExpression
Thread.report_on_exception is always defined after Ruby 2.4 or later.
https://github.com/rubygems/rubygems/commit/274da54f38
hsbt (Hiroshi SHIBATA)
08:18 AM Revision 7e361258 (git): [rubygems/rubygems] util/rubocop -A --only Lint/DuplicateCaseCondition
https://github.com/rubygems/rubygems/commit/df2b192e47 hsbt (Hiroshi SHIBATA)
05:49 AM Revision db7c3863 (git): core_assertions.rb: Raise `Timeout::Error` explicitly
So that `assert_raise` inside the block works. nobu (Nobuyoshi Nakada)
05:03 AM Revision 0112a5b3 (git): `Array#first` and `Array#last` in Ruby
ko1 (Koichi Sasada)
05:03 AM Revision c9fd81b8 (git): `vm_call_single_noarg_inline_builtin`
If the iseq only contains `opt_invokebuiltin_delegate_leave` insn and
the builtin-function (bf) is inline-able, the caller doesn't need to
build a method frame.
`vm_call_single_noarg_inline_builtin` is fast path for such cases.
ko1 (Koichi Sasada)
05:03 AM Revision e5a5e43c (git): should not restore builtin_inline_index
`builtin_inline_index` is restored because THEN clause on
`Primitive.mandatory_only?` was compiled twice.
However, f29c9d6d36 skips to compile THEN clause so we don't
need to restore `builtin_inline_index`.
ko1 (Koichi Sasada)
03:44 AM Revision fee9044b (git): Bump github/codeql-action from 2.2.7 to 2.2.8
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2.2.7 to 2.2.8.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
...
dependabot[bot]
03:04 AM Bug #19485: Unexpected behavior in squiggly heredocs
ruby_3_2 b93e2223300bc54dfa387ffb9fa3d48ecbe670f0 merged revision(s) e7342e76dfd26237c604e42f9a59a1eaa578c94e. naruse (Yui NARUSE)
03:04 AM Revision b93e2223 (git): merge revision(s) e7342e76dfd26237c604e42f9a59a1eaa578c94e: [Backport #19485]
[Bug #19485] [DOC] Mention tabs in indentation of heredoc identifier
Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com>
---
doc/syntax/literals.rdoc | 6 ++++++
1 file changed, 6 insertion...
naruse (Yui NARUSE)
03:03 AM Bug #19536: Frozen status loss when moving objects
ruby_3_2 400ccb16eefe4e21c4e3eacab4fd0f208fc5e151 merged revision(s) cb22d78354e201ca74eba68a8b4edefb593e6754. naruse (Yui NARUSE)
02:31 AM Bug #19537: Regexp caching algorithm since v3.2.0 causes invalid memory access
Thank you for your report. I am sorry that I missed your report.
I checked the patch, and it seems not the correct fix because the binary search should be performed on `num_cache_table`. I will tackle this problem in a week.
make_now_just (Hiroya Fujinami)

03/22/2023

11:41 PM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
Thanks Alan for your feedback and clarifying YJIT's goals for me.
First off, let me confirm I'm on the same page as you about a couple of things.
I totally agree the unwind-info-registration API's in GNU land are _awful_. Windows d...
kjtsanaktsidis (KJ Tsanaktsidis)
06:59 PM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
Thank you for looking at this. You clearly put in a lot of effort. However,
this proposal conflates too many concerns, while the goals are related, the
solution to solve each one have different constraints. I suggest sending
smaller p...
alanwu (Alan Wu)
03:16 PM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
> I wonder if this should actually be implemented in the C parts of ruby, rather than in rust.
RJIT's goal is to help YJIT. We shouldn't consider writing something in C instead of Rust just for RJIT. We should choose what's the best for...
k0kubun (Takashi Kokubun)
10:34 AM Feature #19541 (Assigned): Proposal: Generate frame unwinding info for YJIT code
hsbt (Hiroshi SHIBATA)
10:26 AM Feature #19541: Proposal: Generate frame unwinding info for YJIT code
A thought crossed my mind - I wonder if this should actually be implemented in the C parts of ruby, rather than in rust. so it can be shared with RJIT? Or is debug object generation something each jit should do for itself? kjtsanaktsidis (KJ Tsanaktsidis)
11:11 PM Revision 400ccb16 (git): merge revision(s) cb22d78354e201ca74eba68a8b4edefb593e6754: [Backport #19536]
Fix frozen status loss when moving objects
[Bug #19536]
When objects are moved between size pools, their frozen status is lost
in the shape. This will cause the frozen check to be bypassed when there
is ...
naruse (Yui NARUSE)
10:51 PM Feature #19538: Performance warnings
From investigating some benchmark today, I think it would be valuable to (opt-in of course) performance warn for:
* uncached method lookup (i.e., the inline cache gave up, it saw too many different `obj->klass` at a call site)
* singleto...
Eregon (Benoit Daloze)
09:25 PM Revision 32101309 (git): Suppress a compiler warning on GCC in process.c
rb_pid_t is 32 bits on some platforms, which will cause a warning on GCC
due to POSFIXABLE always returning true.
include/ruby/internal/arithmetic/fixnum.h:43:31: warning: comparison is always true due to limited range of data type ...
peterzhu2118 (Peter Zhu)
09:21 PM Revision 348412c7 (git): [rubygems/rubygems] Use indented heredoc
https://github.com/rubygems/rubygems/commit/085d2776d8 nobu (Nobuyoshi Nakada)
07:50 PM Revision 7c307e03 (git): Lazily allocate id tables for children
This patch lazily allocates id tables for shape children. If a shape
has only one single child, it tags the child with a bit. When we read
children, if the id table has the bit set, we know it's a single child.
If we need to add more c...
tenderlovemaking (Aaron Patterson)
07:50 PM Revision 05197417 (git): pull child allocation in to a different function
tenderlovemaking (Aaron Patterson)
07:50 PM Revision 999ccb2b (git): combine allocation functions
tenderlovemaking (Aaron Patterson)
07:50 PM Revision e055c0c7 (git): Make shape functions static
These functions don't need to be in the header file, we can declare them
as static.
tenderlovemaking (Aaron Patterson)
03:46 PM Revision 1a9e2d20 (git): Fix shape allocation limits
We can only allocate enough shapes to fit in the shape buffer.
MAX_SHAPE_ID was based on the theoretical maximum number of shapes we
could have, not on the amount of memory we can actually consume. This
commit changes the MAX_SHAPE_ID t...
tenderlovemaking (Aaron Patterson)
02:07 PM Revision e340eb21 (git): core_assertions.rb: Fix backward compatibility with pre 2.7
nobu (Nobuyoshi Nakada)
01:35 PM Revision 27916db0 (git): [DOC] Update comment of assert_pattern_list
`pattern_list` may contain string since d903e7672637. nobu (Nobuyoshi Nakada)
11:17 AM Revision aa5d1957 (git): [rubygems/rubygems] @orig_RUBY_ENGINE is always provided now
https://github.com/rubygems/rubygems/commit/c5e8ad4823 hsbt (Hiroshi SHIBATA)
11:17 AM Revision 16978695 (git): [rubygems/rubygems] Fix test failure with missing RUBY_REVISION constants
https://github.com/rubygems/rubygems/commit/c5b80945c6 hsbt (Hiroshi SHIBATA)
11:17 AM Revision 37258502 (git): [rubygems/rubygems] ditto: RUBY_ENGINE_VERSION
https://github.com/rubygems/rubygems/commit/dc82ebeac6 hsbt (Hiroshi SHIBATA)
11:17 AM Revision 3dc4bc31 (git): [rubygems/rubygems] RUBY_REVISION is also provided by supported platforms
https://github.com/rubygems/rubygems/commit/71a237aeec hsbt (Hiroshi SHIBATA)
11:17 AM Revision ea1dcb3e (git): [rubygems/rubygems] RUBY_DESCRIPTION is always provided by supported platforms
https://github.com/rubygems/rubygems/commit/8a7028bc7e hsbt (Hiroshi SHIBATA)
11:17 AM Revision 92f78b0e (git): [rubygems/rubygems] Fixup
https://github.com/rubygems/rubygems/pull/6486
https://github.com/rubygems/rubygems/commit/ad50221acf
hsbt (Hiroshi SHIBATA)
09:53 AM Revision 09bda4ce (git): core_assertions.rb: Refine `assert_linear_performance`
* Calculate each timeout from the ratio of each factor to the first
factor.
nobu (Nobuyoshi Nakada)
09:53 AM Revision 6cc8eb4d (git): Should not reach end of non-void function
nobu (Nobuyoshi Nakada)
09:07 AM Revision 8c00b130 (git): Fixup 43d20596b8fefadc309348448352bf13615129c6
hsbt (Hiroshi SHIBATA)
08:32 AM Revision 464a264c (git): [rubygems/rubygems] Remove reference to `pry` gem from generated `bin/console` file
This is just a suggestion, but since recent versions of Ruby have shipped with a `binding.irb` that provides almost all of the features that `pry` pioneered, it may be time to remove this suggestion in the name of simplicity and not conf... searls (Justin Searls)
07:32 AM Revision 43d20596 (git): Relax timeout limit for FreeBSD
* http://rubyci.s3.amazonaws.com/freebsd12/ruby-master/log/20230322T063002Z.fail.html.gz
* http://rubyci.s3.amazonaws.com/freebsd13/ruby-master/log/20230322T063002Z.fail.html.gz
hsbt (Hiroshi SHIBATA)
07:10 AM Revision 8d1109c0 (git): Added assertion values for Amazon Linux 2023
hsbt (Hiroshi SHIBATA)
05:28 AM Revision cb458094 (git): RJIT: Update binding
k0kubun (Takashi Kokubun)
05:12 AM Revision 7947920e (git): RJIT: Follow a recent CALLER_SETUP_ARG change
k0kubun (Takashi Kokubun)
05:01 AM Revision 38946209 (git): RJIT: Split has_rest_or_post exit reasons
k0kubun (Takashi Kokubun)
03:25 AM Revision 65a72563 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.67 to 0.9.68.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.67...v0.9.68)
---
updated-depende...
dependabot[bot]
02:50 AM Bug #19476: Regexp unexpected partial match
ruby_3_2 ad6fe84dfa6935bd6e2c3ef3ee36bed4e8627d0b merged revision(s) dddc542e9b61b292d80a96d0d0efbbf58719e3be. naruse (Yui NARUSE)
01:34 AM Bug #19467: Some linear_time regexp does not match in linear time
ruby_3_2 4b4087dce318570f9f9c05e14900325b499fb632 merged revision(s) e22c4e8877677ff90805e4a4dcbdef80f4220136. naruse (Yui NARUSE)
01:34 AM Revision ad6fe84d (git): merge revision(s) dddc542e9b61b292d80a96d0d0efbbf58719e3be: [Backport #19476]
[Bug #19476]: correct cache index computation for repetition (#7457)
---
regexec.c | 4 ++--
test/ruby/test_regexp.rb | 5 +++++
2 files changed, 7 insertions(+), 2 deletions(-)
naruse (Yui NARUSE)

03/21/2023

10:16 PM Revision 08eaf7c5 (git): YJIT: Fix deadlock in tests due to pipe capacity
Previously, when there is enough stats that the child process fills up
the pipe capacity, the child process would block, with the parent
process waiting forever as no one is reading to clear up the pipe. The
test timed out in these situa...
alanwu (Alan Wu)
08:57 PM Bug #19316: YJIT crash in 3.2.0
@nagachika You shouldn't need any other code changes. To fix CI, pass `exit: :any` in the test:
```ruby
def test_bug_19316
- omit "skip this test for [Bug #19316] for a while."
n = 2 ** 64
# foo's extra param and the...
alanwu (Alan Wu)
05:08 AM Bug #19316: YJIT crash in 3.2.0
make test-alll on GitHub Actions with YJIT fails as follows.
```
1) Failure:
TestYJIT#test_bug_19316 [/home/runner/work/ruby/ruby/src/test/ruby/test_yjit.rb:691]:
Expected no exits, but got
{:opt_send_without_block=>1, :...
nagachika (Tomoyuki Chikanaga)
03:47 AM Bug #19316: YJIT crash in 3.2.0
@alanwu Thank you for providing the patch for ruby_3_1. I have applied it at c660aaf439dcd609e4e23253372c8ec6d567ce10. nagachika (Tomoyuki Chikanaga)
03:46 AM Bug #19316: YJIT crash in 3.2.0
ruby_3_1 c660aaf439dcd609e4e23253372c8ec6d567ce10 merged revision(s) aeddc19340c7116d48fac3080553fbb823857d16. nagachika (Tomoyuki Chikanaga)
06:24 PM Revision aa54082d (git): YJIT: Fix large ISeq rejection (#7576)
We crashed in some edge cases due to the recent change to not compile
encoded iseqs that are larger than `u16::MAX`.
- Match the C signature of rb_yjit_constant_ic_update() and clamp down
to `IseqIdx` size
- Return failure instead of ...
alanwu (Alan Wu)
04:57 PM Revision 5de26bc0 (git): YJIT: Fix incorrect exit in splat (#7575)
So by itself, this shouldn't have been a correctness issue, but we
also pop the stack for block_args. Doing stack manipulation like that
and then side-exiting causes issues. So, while this fixes the
immediate failure, we have a bigger is...
Jimmy Miller
03:05 PM Revision f62fa512 (git): [ruby/erb] [DOC] Use indented heredoc
https://github.com/ruby/erb/commit/8ba8bb7acf nobu (Nobuyoshi Nakada)
02:51 PM Revision 30e7561d (git): Revert "YJIT: Rest and block_arg support (#7557)"
This reverts commit 5d0a1ffafa61da04dbda38a5cb5565bcb8032a78.
This commit is causing sequel in yjit-bench to raise with this stack trace:
```
sequel-5.64.0/lib/sequel/dataset/sql.rb:266:in `literal': wrong argument type Array (expected...
peterzhu2118 (Peter Zhu)
02:48 PM Revision f67f0d72 (git): [ruby/reline] Add key bindings for PgUp and PgDn
(https://github.com/ruby/reline/pull/509)
* Add key bindings for PgUp, PgDn
* Match behavior of readline 8.2
In the latest readline (8.2), page-up and page-down are bound to
history-search-backward and history-search-forward by defaul...
Phillip Hellewell
02:07 PM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
https://github.com/nobu/ruby/tree/infinite-range-inclusion
https://github.com/ruby/ruby/pull/7574
nobu (Nobuyoshi Nakada)
01:59 PM Revision 9b85ff01 (git): Use indented heredoc
nobu (Nobuyoshi Nakada)
01:43 PM Feature #19538: Performance warnings
Yes, I think this would be great.
TruffleRuby for instance already uses performance warnings for:
* unstable interpolated regexps, i.e., an interpolated regexp for which we have seen more than N=8 different sources, so then we cannot r...
Eregon (Benoit Daloze)
12:42 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
duerst (Martin Dürst) wrote in #note-12:
> But don't other Rubies rely on the programmer to know how to program with threads? That's only usable if you're used to programming with threads and avoid the related issues. The idea (where th...
Eregon (Benoit Daloze)
09:48 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
> And then of course there is the issue that Ractor is incompatible with most gems/code out there.
While JSON loading might work, any non-trivial processing after using a gem is unlikely to work well.
We need to start somewhere. Even...
maciej.mensfeld (Maciej Mensfeld)
11:19 AM Bug #19389: StringIO gets(..., chomp: true) behaves differently to File/IO.
Thanks for your hard work back porting this. ioquatix (Samuel Williams)
05:00 AM Bug #19389: StringIO gets(..., chomp: true) behaves differently to File/IO.
ruby_3_1 1d24a931c458c93463da1d5885f33edef3677cc2 merged revision(s) 21dced8b01823a991829b66ffdc8ffc635965c76. nagachika (Tomoyuki Chikanaga)
10:10 AM Revision 9aaf2b75 (git): Update dln.c to fix error output from `dln_open()`
`libruby_name` gets trashed by `dlclose(handle)`, so output the
"linked to incompatible ... " error before calling `dlclose(handle)`.
drew-wells
09:10 AM Revision 6eac424e (git): [ci skip] Move rb_id2str into new LLDB format
eightbitraptor (Matt V-H)
07:50 AM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
ruby_3_1 bc04b38f72ba1f261fbb3e881e6ae65c4bc77797 merged revision(s) 96d1acfdf6c6b42f2029f44d5b5920961d6efa92. nagachika (Tomoyuki Chikanaga)
07:50 AM Bug #19445: Segmentation fault with Numeric#step
ruby_3_1 5428bdc1daed12d1e142a854fc037a1a4eb647c9 merged revision(s) dd28c55a7cd6780dad637b4d6a20507fbfc6af4a. nagachika (Tomoyuki Chikanaga)
07:50 AM Bug #19419: [BUG] try to mark T_NONE object in `ibf_dump_mark`
ruby_3_1 caedcf3ee8e445f90df88ccf2f745c9d9f7ccc35 merged revision(s) 86de48e9f69b665ba9ffb5bdc5a181a3adb1a7b8. nagachika (Tomoyuki Chikanaga)
07:50 AM Bug #19415: Incorrect circularity warning for concurrent requires
ruby_3_1 26b3f0b6a9489860e1d312369d784495b080daa3 merged revision(s) 8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1. nagachika (Tomoyuki Chikanaga)
07:49 AM Bug #19403: Unable to Build Native Gems on Mac with Ruby 3.1.0+
ruby_3_1 485e0e46a58ff1a28eecd63b804b3dbea4b95b98 merged revision(s) 3a7367ccc319499127ead147e5a08f769e44208e. nagachika (Tomoyuki Chikanaga)
07:49 AM Bug #19398: Memory leak in WeakMap
ruby_3_1 0d00732d39de1e5ecce738260a1e49d8af52e12a merged revision(s) c6f84e918943a0bf8db6fee556fc53180d257510. nagachika (Tomoyuki Chikanaga)
07:25 AM Revision bc04b38f (git): merge revision(s) 96d1acfdf6c6b42f2029f44d5b5920961d6efa92: [Backport #19161]
[Bug #19161] Check for TLS usability
On all platforms using GCC, even other than darwin.
---
configure.ac | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
nagachika (Tomoyuki Chikanaga)
07:10 AM Revision c4436726 (git): RJIT: Fix invokesuper
k0kubun (Takashi Kokubun)
06:34 AM Revision 5428bdc1 (git): merge revision(s) dd28c55a7cd6780dad637b4d6a20507fbfc6af4a: [Backport #19445]
[Bug#19445] Fix keyword splat in enumerator
Extracted arguments do not have keyword hash to splat.
---
numeric.c | 2 +-
test/ruby/test_numeric.rb | 3 +++
2 files changed, 4 inse...
nagachika (Tomoyuki Chikanaga)
06:33 AM Revision caedcf3e (git): merge revision(s) 86de48e9f69b665ba9ffb5bdc5a181a3adb1a7b8: [Backport #19419]
Remove ibf_dumper's WB_PROTECTED status
It doesn't have the right write barriers in place. For example, there is
rb_mark_set(dump->global_buffer.obj_table);
in the mark function, but there is no correspondi...
nagachika (Tomoyuki Chikanaga)
06:32 AM Revision 26b3f0b6 (git): merge revision(s) 8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1: [Backport #19415]
Only emit circular dependency warning for owned thread shields [Bug
#19415]
If multiple threads attemps to load the same file concurrently
it's not a circular dependency issue.
So we check that the exis...
nagachika (Tomoyuki Chikanaga)
06:25 AM Revision 485e0e46 (git): merge revision(s) 3a7367ccc319499127ead147e5a08f769e44208e: [Backport #19403]
mkconfig: Map `includedir` only for system ruby
Only when installing to the system path on macOS, prepend '$(SDKROOT)'
and remap `includedir`.
Fix https://github.com/rbenv/ruby-build/discussions/2123
---
...
nagachika (Tomoyuki Chikanaga)
06:22 AM Revision 0d00732d (git): merge revision(s) c6f84e918943a0bf8db6fee556fc53180d257510: [Backport #19398]
[Bug #19398] Memory leak in WeakMap
There's a memory leak in ObjectSpace::WeakMap due to not freeing
the `struct weakmap`. It can be seen in the following script:
```
100.times do
10000.times d...
nagachika (Tomoyuki Chikanaga)
05:16 AM Revision 82d763c9 (git): Skip the test for [Bug #19316] for a while.
nagachika (Tomoyuki Chikanaga)
05:01 AM Bug #19284: Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
I have backported 0bb07e5ba40cdc45d55743dd1ebaadd7e7363e7f to fix test failures in RubyCI. nagachika (Tomoyuki Chikanaga)
03:47 AM Bug #19284: Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
ruby_3_1 782a9c2ddfcc84c3bd3a1fa153f7ac1f3e92a2e1 merged revision(s) 90a80eb076429978e720e11fb17a3cbb96de3454. nagachika (Tomoyuki Chikanaga)
04:59 AM Revision d28464c4 (git): merge revision(s) 0bb07e5ba40cdc45d55743dd1ebaadd7e7363e7f: [Backport #19284]
Fix test when Ruby is verbose
The test added in 90a80eb0 fails if Ruby is verbose, it outputs the
following line to stderr:
RUBY_GC_HEAP_INIT_SLOTS=100 (default value: 10000)
---
test/ruby/t...
nagachika (Tomoyuki Chikanaga)
04:56 AM Revision 1d24a931 (git): merge revision(s) 21dced8b01823a991829b66ffdc8ffc635965c76: [Backport #19389]
[ruby/stringio] [Bug #19389] Fix chomping with longer separator
https://github.com/ruby/stringio/commit/eb322a9716
---
ext/stringio/stringio.c | 5 +++--
test/stringio/test_stringio.rb | 2 ++
...
nagachika (Tomoyuki Chikanaga)
03:48 AM Bug #19320: Crash during compaction while traversing the stack
ruby_3_1 8322413e58bdce11136c33aec3e0611b2b135cd8 merged revision(s) 72eb33066fa9e7dacb7470cd140b219abe37667e. nagachika (Tomoyuki Chikanaga)
03:46 AM Bug #19319: Crash in rb_str_casemap
ruby_3_1 159930b7857bd3fe603840f686edffb54693d2a7 merged revision(s) d8ef0a98c670449b20436947f5ebbd327ed5ab0d. nagachika (Tomoyuki Chikanaga)
03:45 AM Bug #19305: TracePoint#parameters segfaults when certain method creation pattern is used
ruby_3_1 eba3f787cbd38acf60fff6bdb450aacfc2e9c3a1 merged revision(s) 837ef8911c638c3e2bdb6af710de7c1fac7b5f90. nagachika (Tomoyuki Chikanaga)
03:45 AM Bug #19292: Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
ruby_3_1 3efc43aace4e051f618b10e82bd82e93076dc757 merged revision(s) 542e984d82fa25098eb15398d716d907acc52b93. nagachika (Tomoyuki Chikanaga)
03:36 AM Revision 832f810d (git): Bump ruby/setup-ruby from 1.144.1 to 1.144.2
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.1 to 1.144.2.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/e6689b4deb1cb2062ea45315001f687c0b...
dependabot[bot]
03:25 AM Revision 8322413e (git): merge revision(s) 72eb33066fa9e7dacb7470cd140b219abe37667e: [Backport #19320]
Fix off-by-one error in rb_vm_each_stack_value
Applying the following patch to test/erb/test_erb.rb and running that
file will cause Ruby to crash on my machine (macOS 13.1 on M1 Pro):
```
--- a/test/erb...
nagachika (Tomoyuki Chikanaga)
03:23 AM Revision 782a9c2d (git): merge revision(s) 90a80eb076429978e720e11fb17a3cbb96de3454: [Backport #19284]
Fix integer underflow when using HEAP_INIT_SLOTS
There is an integer underflow when the environment variable
RUBY_GC_HEAP_INIT_SLOTS is less than the number of slots currently
in the Ruby heap.
[Bug #192...
nagachika (Tomoyuki Chikanaga)
03:10 AM Revision c660aaf4 (git): merge revision(s) aeddc19340c7116d48fac3080553fbb823857d16: [Backport #19316]
YJIT: Save PC and SP before calling leaf builtins (#7090)
Previously, we did not update `cfp->sp` before calling the C function of
ISEQs marked with `Primitive.attr! "inline"` (leaf builtins). This
caused the GC ...
nagachika (Tomoyuki Chikanaga)
03:02 AM Revision 159930b7 (git): merge revision(s) d8ef0a98c670449b20436947f5ebbd327ed5ab0d: [Backport #19319]
[Bug #19319] Fix crash in rb_str_casemap
The following code crashes on my machine:
```
GC.stress = true
str = "testing testing testing"
puts str.capitalize
```
We need to ensur...
nagachika (Tomoyuki Chikanaga)
03:00 AM Revision eba3f787 (git): merge revision(s) 837ef8911c638c3e2bdb6af710de7c1fac7b5f90: [Backport #19305]
Fix crash in TracePoint c_call for removed method
trace_arg->id is the ID of the original method of an aliased method. If
the original method is removed, then the lookup will fail. We should use
trace_arg->called...
nagachika (Tomoyuki Chikanaga)
02:54 AM Revision 3efc43aa (git): merge revision(s) 542e984d82fa25098eb15398d716d907acc52b93: [Backport #19292]
[Bug #19292] Re-initialize tm when wday or yday is not set
---
test/ruby/test_time.rb | 3 ++-
time.c | 31 ++++++++++++++++++++++---------
2 files changed, 24 insertions(+), 10 deletion...
nagachika (Tomoyuki Chikanaga)

03/20/2023

08:54 PM Bug #19535 (Closed): Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
Applied in changeset commit:git|54dbd8bea8a79bfcdefa471c1717c6cd28022f33.
----------
Use an st table for "too complex" objects
st tables will maintain insertion order so we can marshal dump / load
objects with instance variables in the...
tenderlovemaking (Aaron Patterson)
08:54 PM Revision 54dbd8be (git): Use an st table for "too complex" objects
st tables will maintain insertion order so we can marshal dump / load
objects with instance variables in the same order they were set on that
particular instance
[ruby-core:112926] [Bug #19535]
Co-Authored-By: Jemma Issroff <jemmaissro...
tenderlovemaking (Aaron Patterson)
08:03 PM Revision 51834ff2 (git): YJIT: Make dev_nodebug closer to dev (#7570)
k0kubun (Takashi Kokubun)
07:40 PM Revision 27ecf326 (git): Update yjit.md
Document `make yjit-smoke-test` maximecb (Maxime Chevalier-Boisvert)
03:36 PM Bug #19543: Resizing IO::Buffer to zero bytes fails
patch https://github.com/ruby/ruby/pull/7569 hanazuki (Kasumi Hanazuki)
07:11 AM Bug #19543 (Closed): Resizing IO::Buffer to zero bytes fails
```
irb(main):001:0> IO::Buffer.new(1).resize(0)
/home/kasumi/.local/src/github.com/ruby/ruby/-e:1: warning: IO::Buffer is experimental and both the Ruby and C interface may change in the future!
/home/kasumi/.local/src/github.com/rub...
hanazuki (Kasumi Hanazuki)
02:16 PM Revision 44f44447 (git): YJIT: tag output type as UnknownHeap in `toregexp` (#7562)
maximecb (Maxime Chevalier-Boisvert)
12:26 PM Bug #19539: Heredocs with leading spaces inconsistency
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Applied in changeset commit:git|67dd52d59cde0d2f1ebb3e299b605ed239b59f5b.
> ...
Test in the changeset does not cover the latter case, when identifier with leading spaces is also indented. Is ...
hurricup (Alexandr Evstigneev)
09:08 AM Revision 758e4db5 (git): Mark cached pid if necessary
nobu (Nobuyoshi Nakada)
08:52 AM Feature #19443: Cache `Process.pid`
Thank you Matz! I merged the caching of `Process.pid` and `$$`.
The thread scheduler still call `getpid()` a lot, and I'll try to eliminate that in a follow-up (even though according to @ko1 most of that code will be replaced before 3...
byroot (Jean Boussier)
08:21 AM Feature #19443 (Closed): Cache `Process.pid`
Applied in changeset commit:git|1db8951d3a8be6a756c9d3d3b87231997b301985.
----------
Cache `Process.pid`
[Feature #19443]
It's not uncommon for database client and similar network libraries
to protect themselves from Process.fork by r...
byroot (Jean Boussier)
02:31 AM Feature #19443: Cache `Process.pid`
Caching process id sounds OK for me. Go ahead.
Matz.
matz (Yukihiro Matsumoto)
08:28 AM Revision 1aa25550 (git): Fix the macro for condition
nobu (Nobuyoshi Nakada)
08:21 AM Revision 1db8951d (git): Cache `Process.pid`
[Feature #19443]
It's not uncommon for database client and similar network libraries
to protect themselves from Process.fork by regularly checking Process.pid
Until recently most libc would cache `getpid()` so this was a cheap
check to...
byroot (Jean Boussier)
06:58 AM Revision 70ea58bd (git): RJIT: Break up RJIT send_iseq_complex exit reasons
k0kubun (Takashi Kokubun)
06:32 AM Revision 59b86da8 (git): RJIT: Implement ifunc invokeblock
k0kubun (Takashi Kokubun)
06:29 AM Bug #19542 (Closed): Operations on zero-sized IO::Buffer are raising
I found that IO::Buffer of zero length is not cloneable.
```
% ruby -v
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
% ruby -e 'p IO::Buffer.for("").dup'
-e:1:in `initialize_copy': The buffer is not allocated! (IO::...
hanazuki (Kasumi Hanazuki)
06:14 AM Revision 47f7ec1c (git): RJIT: Support invokeblock arity mismatches
k0kubun (Takashi Kokubun)
06:06 AM Revision 4b4087dc (git): merge revision(s) e22c4e8877677ff90805e4a4dcbdef80f4220136: [Backport #19467]
[Bug #19467] correct cache points and counting failure on
`OP_ANYCHAR_STAR_PEEK_NEXT` (#7454)
---
regexec.c | 20 ++++++++++++++++----
test/ruby/test_regexp.rb | 10 ++++++++++
2 ...
naruse (Yui NARUSE)
05:01 AM Bug #19161: Cannot compile 3.0.5 or 3.1.3 on Red Hat Enterprise Linux 7
ruby_3_2 0555303464f3595223ec8093146041f96595865d merged revision(s) 96d1acfdf6c6b42f2029f44d5b5920961d6efa92. naruse (Yui NARUSE)
04:52 AM Revision e3dc25ac (git): RJIT: Fix ISeq invokeblock
k0kubun (Takashi Kokubun)
04:20 AM Revision 7aeb9e20 (git): RJIT: Disable ISeq invokeblock for now
since basictest is broken k0kubun (Takashi Kokubun)
04:02 AM Revision 7f696b88 (git): Remove a warning in bootstraptest/runner.rb
../bootstraptest/runner.rb:121: warning: assigned but unused variable - e k0kubun (Takashi Kokubun)
03:56 AM Revision 2d8ecfcc (git): RJIT: Implement invokeblock with ISeq
k0kubun (Takashi Kokubun)
03:49 AM Revision 80890e68 (git): Disable `-w` on bundler and bundled gems tests
nobu (Nobuyoshi Nakada)
03:27 AM Revision 4f350dbf (git): RJIT: Remove an unneeded variable
k0kubun (Takashi Kokubun)
02:36 AM Revision c6466691 (git): Enable `-w` option at test
nobu (Nobuyoshi Nakada)
01:39 AM Revision 615f42fd (git): Add explanation to rbs_skip_tests (#7525)
soutaro (Soutaro Matsumoto)

03/19/2023

09:15 PM Revision 2f29044d (git): RJIT: Optimize Kernel#block_given?
k0kubun (Takashi Kokubun)
09:04 PM Revision 83ad1cac (git): RJIT: Optimize Kernel#respond_to?
k0kubun (Takashi Kokubun)
08:41 PM Revision 95c4ced3 (git): RJIT: Optimize Array#empty?
k0kubun (Takashi Kokubun)
08:36 PM Revision cd5a8d01 (git): RJIT: Optimize String#+@
k0kubun (Takashi Kokubun)
08:25 PM Revision 21212827 (git): RJIT: Optimize String#<<
k0kubun (Takashi Kokubun)
12:57 PM Revision bcd0aa89 (git): Fix -Wclobbered warning from gcc 12
A variable modified in `EXEC_TAG` block should be `volatile`.
```
ractor.c: In function 'ractor_try_yield':
ractor.c:1251:97: warning: argument 'obj' might be clobbered by 'longjmp' or 'vfork' [-Wclobbered]
1251 | ractor_try_yield(rb_e...
nobu (Nobuyoshi Nakada)
09:51 AM Bug #19485 (Closed): Unexpected behavior in squiggly heredocs
Applied in changeset commit:git|e7342e76dfd26237c604e42f9a59a1eaa578c94e.
----------
[Bug #19485] [DOC] Mention tabs in indentation of heredoc identifier
Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com>
nobu (Nobuyoshi Nakada)
09:10 AM Revision e7342e76 (git): [Bug #19485] [DOC] Mention tabs in indentation of heredoc identifier
Co-Authored-By: sawa (Tsuyoshi Sawada) <sawadatsuyoshi@gmail.com> nobu (Nobuyoshi Nakada)
07:22 AM Feature #19541 (Feedback): Proposal: Generate frame unwinding info for YJIT code
## What is being propsed?
Currently, when Ruby crashes with yjit generated code on the stack, `rb_print_backtrace()` is unable to actually show any frames underneath the yjit code. For example, if you send SIGSEGV to a Ruby process ru...
kjtsanaktsidis (KJ Tsanaktsidis)
07:06 AM Revision 9654a28c (git): RJIT: Drop duplicated obj_is_kind_of
k0kubun (Takashi Kokubun)
06:42 AM Revision c4e27187 (git): RJIT: Workaround USE_RVARGC=0 CI
k0kubun (Takashi Kokubun)
06:35 AM Revision 32e0c97d (git): RJIT: Optimize String#bytesize
k0kubun (Takashi Kokubun)
06:24 AM Revision 106cca51 (git): RJIT: Optimize String#empty?
k0kubun (Takashi Kokubun)
06:13 AM Revision ca9355e1 (git): RJIT: Optimize Kernel#instance_of?
k0kubun (Takashi Kokubun)
05:59 AM Revision 824cf889 (git): RJIT: Optimize Kernel#is_a?
k0kubun (Takashi Kokubun)
05:32 AM Revision cc9330f8 (git): RJIT: Reorder opt_case_dispatch branches
k0kubun (Takashi Kokubun)
05:03 AM Revision d07d1c71 (git): RJIT: Upgrade Ubuntu on CI
to upgrade libcapstone on CI k0kubun (Takashi Kokubun)
04:49 AM Revision 71bcab45 (git): RJIT: Implement setclassvariable
k0kubun (Takashi Kokubun)
04:42 AM Revision 8510f33c (git): RJIT: Implement intern
k0kubun (Takashi Kokubun)
04:39 AM Revision 4a8de3fa (git): RJIT: Fix toregexp
k0kubun (Takashi Kokubun)
04:37 AM Revision 9c2792c3 (git): RJIT: Implement toregexp
k0kubun (Takashi Kokubun)
04:28 AM Revision d189f8d8 (git): RJIT: Prefix rjit_options with rb_
k0kubun (Takashi Kokubun)
04:26 AM Revision 4e440d69 (git): RJIT: Install libcapstone-dev on CI
for test_assembler.rb to work k0kubun (Takashi Kokubun)
04:24 AM Revision 2eefd71e (git): RJIT: Implement newrange
k0kubun (Takashi Kokubun)
04:20 AM Revision 81e19b7d (git): RJIT: Implement getglobal
k0kubun (Takashi Kokubun)
04:15 AM Revision 9f8e9149 (git): RJIT: Implement checkkeyword
k0kubun (Takashi Kokubun)

03/18/2023

05:45 PM Bug #19539 (Closed): Heredocs with leading spaces inconsistency
Applied in changeset commit:git|67dd52d59cde0d2f1ebb3e299b605ed239b59f5b.
----------
[Bug #19539] Match heredoc identifier from end of line
Not to ignore leading spaces in indented heredoc identifier.
nobu (Nobuyoshi Nakada)
12:47 PM Bug #19539 (Closed): Heredocs with leading spaces inconsistency
This is more like technical inconsistency that bothers me. Not sure someone will use this in real life, but still.
This works fine:
```
puts <<' ABC'
marker with spaces
ABC
```
But this is not:
```
puts <<-' ABC'...
hurricup (Alexandr Evstigneev)
05:17 PM Bug #19540 (Rejected): Undefined variable error when combining modifier if with one-line pattern matching
This isn't a bug, this is how Ruby works. It is unrelated to pattern matching, you get the same behavior for `x if x = foo` and `x unless x = foo`. It may be unexpected if you are not used to it, though. jeremyevans0 (Jeremy Evans)
02:33 PM Bug #19540 (Rejected): Undefined variable error when combining modifier if with one-line pattern matching
If I try to use modifier `if` with a one-line pattern matching, the variable assigned by the pattern cannot be used inside the expression to the left of the "if":
```
x if [1] in [x]
(irb):1:in `<main>': undefined local variable or me...
mehanoid (Oleg Grigorev)
04:35 PM Revision 67dd52d5 (git): [Bug #19539] Match heredoc identifier from end of line
Not to ignore leading spaces in indented heredoc identifier. nobu (Nobuyoshi Nakada)
02:37 PM Revision e8e7ff13 (git): [ruby/reline] Fix: line longer than terminal width breaks rendering
(https://github.com/ruby/reline/pull/516)
https://github.com/ruby/reline/commit/ae5f9b87ab
tompng (tomoya ishida)
02:36 PM Bug #19537: Regexp caching algorithm since v3.2.0 causes invalid memory access
I have not understand the implementation in detail, but maybe this patch fixes the problem.
(No new tests have been added, existing tests pass.)
jj1uzh (Futa Miyachi)
02:28 PM Bug #18743: Enumerator#next / peek re-use each others stacktraces
Hello again. I've modified the patch to also link to the old exception via `cause`. Let me know if it's now a reasonable solution.
Thanks,
Marcelo
marcper (Marcelo Pereira)
01:07 PM Bug #19536 (Closed): Frozen status loss when moving objects
Applied in changeset commit:git|cb22d78354e201ca74eba68a8b4edefb593e6754.
----------
Fix frozen status loss when moving objects
[Bug #19536]
When objects are moved between size pools, their frozen status is lost
in the shape. This wil...
peterzhu2118 (Peter Zhu)
01:07 PM Revision cb22d783 (git): Fix frozen status loss when moving objects
[Bug #19536]
When objects are moved between size pools, their frozen status is lost
in the shape. This will cause the frozen check to be bypassed when there
is an inline cache. For example, the following script should raise a
FrozenErro...
peterzhu2118 (Peter Zhu)
07:00 AM Revision dc28ccbb (git): RJIT: Implement getspecial insn
k0kubun (Takashi Kokubun)
06:47 AM Bug #19532: Handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding is broken
The change itself looks fine, but also I’m for obsoleting CESU-8. nobu (Nobuyoshi Nakada)
06:46 AM Revision 93e05aaa (git): RJIT: Implement putspecialobject insn
k0kubun (Takashi Kokubun)
06:43 AM Revision 2c8f2871 (git): Fix handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding
Josef Haider
06:27 AM Revision 45a17013 (git): RJIT: Implement throw insn
k0kubun (Takashi Kokubun)
06:17 AM Revision 39cd74d2 (git): RJIT: Use RJIT_STATS on --enable-rjit=dev
RUBY_DEBUG is too slow. k0kubun (Takashi Kokubun)
06:02 AM Revision 05553034 (git): merge revision(s) 96d1acfdf6c6b42f2029f44d5b5920961d6efa92: [Backport #19161]
[Bug #19161] Check for TLS usability
On all platforms using GCC, even other than darwin.
---
configure.ac | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
naruse (Yui NARUSE)
05:53 AM Bug #19469: Crash when resizing generic iv list
ruby_3_2 f3abe5ba645839fb2a686aee18d3466b59256af0 merged revision(s) 0700d0fd1c77b4fddf803dea3c10be654df600ff,62c2082f1f726cb90d8c332fbedbecf41d5d82ec. naruse (Yui NARUSE)
05:31 AM Revision 644c9985 (git): RJIT: Support --rjit-stats on release build as well
k0kubun (Takashi Kokubun)

03/17/2023

09:32 PM Revision b9f411b3 (git): YJIT: Simplify using the BITS associated constant
All the integer types have it. alanwu (Alan Wu)
08:16 PM Revision 6ba07df4 (git): YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod (#7555)
maximecb (Maxime Chevalier-Boisvert)
08:16 PM Revision 7fc796f9 (git): YJIT: Delete --yjit-global-constant-state (#7559)
It was useful for evaluating 6068da8937d7e4358943f95e7450dae7179a7763
but I think we should remove it now to make the logic around
invalidation more straight forward.
alanwu (Alan Wu)
08:15 PM Revision 2a26a5e6 (git): YJIT: Add and use Branch::assert_layout()
This assert would've caught a bug I wrote while developing
ruby/ruby#7443 so I figured it would be good to commit it
as it could be helpful in the future.
alanwu (Alan Wu)
08:11 PM Revision 5d0a1ffa (git): YJIT: Rest and block_arg support (#7557)
* YJIT: Rest and block_arg support
* Update bootstraptest/test_yjit.rb
---------
Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
Jimmy Miller
08:04 PM Revision 2d97f874 (git): * remove trailing spaces. [ci skip]
git[bot]
08:04 PM Revision c7862c68 (git): [ci skip] Move rp helper to new LLDB format
For now, the old function still exists as `old_rp`, in order to debug
issues with this command.
eightbitraptor (Matt V-H)
07:30 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
byroot (Jean Boussier) wrote in #note-3:
> > I think it's best to make the too-complex-shape objects use an ordered hash
> ...
I sent a patch [here](https://github.com/ruby/ruby/pull/7560) that implements this solution.
tenderlovemaking (Aaron Patterson)
05:29 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
> BTW it'd be nice to have some kind of standard performance warnings for Ruby.
Interesting. I guess we could have `Warnings[:performance] = true`, with it disabled by default. I love the idea.
byroot (Jean Boussier)
04:25 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
> I think it's best to make the too-complex-shape objects use an ordered hash
I would also lean on that solution, as it's the one that give a behavior that is consistent with shapes without too much changes.
> ...
Interesting.
...
byroot (Jean Boussier)
01:06 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
BTW it'd be nice to have some kind of standard performance warnings for Ruby.
For instance there would be one for TOO_COMPLEX Shape, for megamorphic calls, etc.
TruffleRuby already has some of these, but an integrated way to enable/dis...
Eregon (Benoit Daloze)
01:02 PM Bug #19535: Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
I chatted with @tenderlovemaking. I think it's best to make the too-complex-shape objects use an ordered hash (such case is already much slower anyway).
TruffleRuby doesn't have a too-complex shape, so that case is not a concern for Truf...
Eregon (Benoit Daloze)
07:48 AM Bug #19535 (Closed): Instance variables order is unpredictable on objects with `OBJ_TOO_COMPLEX_SHAPE_ID`
### Context
I've been helping the Mastodon folks in investigating a weird Marshal deserialization bug they randomly experience since they upgraded to Ruby 3.2: https://github.com/mastodon/mastodon/issues/23644
Ultimately the bug co...
byroot (Jean Boussier)
07:23 PM Feature #19538: Performance warnings
So the example that sparked the idea was SHAPE_TOO_COMPLEX. It would be useful to emit a warning such as:
`warning: SomeClass has too many shapes`.
Other potential ideas could be to warn when constant caches are invalidated, or thi...
byroot (Jean Boussier)
06:26 PM Feature #19538: Performance warnings
When does the option print a warning, for example? mame (Yusuke Endoh)
05:39 PM Feature #19538 (Closed): Performance warnings
Suggested by @Eregon.
There are program behaviors that are supported, but that we know aren't good for performance, however it's hard for users to know about them.
Now that we have warning categories, we could add a `:performance` ...
byroot (Jean Boussier)
07:20 PM Feature #19406 (Closed): Allow declarative reference definition for rb_typed_data_struct
Applied in changeset commit:git|7142328a94c85cc5f23630396f248b32133f87ab.
----------
[Feature #19406] Allow declarative definition of references
When using rb_data_type_struct to wrap a C struct, that C struct can
contain VALUE referen...
eightbitraptor (Matt V-H)
07:20 PM Revision cc68d692 (git): * remove trailing spaces. [ci skip]
git[bot]
07:20 PM Revision 5897a6f6 (git): Update Makefile dependencies
eightbitraptor (Matt V-H)
07:20 PM Revision 4f5e29f9 (git): Document the declarative marking api
eightbitraptor (Matt V-H)
07:20 PM Revision 22b34929 (git): Implement declarative references for enumerator
eightbitraptor (Matt V-H)
07:20 PM Revision 405966e2 (git): Implement declarative references for dir_data_type
eightbitraptor (Matt V-H)
07:20 PM Revision 7142328a (git): [Feature #19406] Allow declarative definition of references
When using rb_data_type_struct to wrap a C struct, that C struct can
contain VALUE references to other Ruby objects.
If this is the case then one must also define dmark and optionally
dcompact callbacks in order to allow these objects t...
eightbitraptor (Matt V-H)
06:53 PM Revision 9fd94d6a (git): YJIT: Support entry for multiple PCs per ISEQ (GH-7535)
k0kubun (Takashi Kokubun)
05:50 PM Bug #19531 (Closed): ObjectSpace::WeakMap: replaced values still clear the key they were assigned to
Applied in changeset commit:git|3592b24cdc07ed89eecb39161f21fe721a89a5de.
----------
ObjectSpace::WeakMap: clean inverse reference when an entry is re-assigned
[Bug #19531]
```ruby
wmap[1] = "A"
wmap[1] = "B"
```
In the example above...
byroot (Jean Boussier)
05:50 PM Revision 3592b24c (git): ObjectSpace::WeakMap: clean inverse reference when an entry is re-assigned
[Bug #19531]
```ruby
wmap[1] = "A"
wmap[1] = "B"
```
In the example above, we need to remove the `"A" => 1` inverse reference
so that when `"A"` is GCed the `1` key isn't deleted.
byroot (Jean Boussier)
05:41 PM Revision ccd2dbc4 (git): core_assertions.rb: Relax `assert_linear_performance`
* Use an `Enumerable` as factors, instead of three arguments.
* Include `assert_operator` time in rehearsal time.
* Round up max expected time.
nobu (Nobuyoshi Nakada)
04:30 PM Revision 10e4fa3a (git): YJIT: Use raw pointers and shared references over `Rc<RefCell<_>>`
`Rc` and `RefCell` both incur runtime space costs.
In addition, `RefCell` has given us some headaches with the
non obvious borrow panics it likes to throw out. The latest
one started with 7fd53eeb46db261bbc20025cdab70096245a5cbe
and is y...
alanwu (Alan Wu)
04:06 PM Revision c62cf60d (git): Skip a flaky test that might not work
k0kubun (Takashi Kokubun)
03:19 PM Revision 418cf344 (git): [ruby/irb] Fix 2 minor issues in test suite
* undefine Kernel#irb_original_require in without_rdoc method
* Don't rescue all LoadErrors/NameErrors in test_rendering.rb, just
the one for require 'yamatanooroti'
https://github.com/ruby/irb/commit/52b79806ea
luke-gru (Luke Gruber)
03:12 PM Revision a206ee67 (git): Assume that FL_FINALIZE is in finalizer_table
If the flag FL_FINALIZE is set, then it's guaranteed to be in the
finalizer_table, so we can directly assume that without checking.
peterzhu2118 (Peter Zhu)
02:36 PM Bug #19537 (Closed): Regexp caching algorithm since v3.2.0 causes invalid memory access
Some types of regular expressions causes invalid memory access on `#match`. Length of strings to match does not matter.
For example, for regex `/^([ab]{1,3})(a?)*$/`, `"aac"` can crash ruby.
This bug may be caused in caching algorith...
jj1uzh (Futa Miyachi)
02:29 PM Revision 11f299fa (git): YJIT: skip intermediate arrays in print_sorted_exit_counts (#7547)
Early total_exits condition.
Replace Array#sort_by/first(how_many) with Array#max_by(how_many).
Replace Array#map/max with Array#max_by, match print_counters style for longest_name_length.
Maumagnaguagno (Mau Magnaguagno)
02:17 PM Bug #19536 (Closed): Frozen status loss when moving objects
GitHub PR: https://github.com/ruby/ruby/pull/7553
When objects are moved between size pools, their frozen status is lost in the shape. This will cause the frozen check to be bypassed when there is an inline cache. For example, the fol...
peterzhu2118 (Peter Zhu)
09:50 AM Revision c65d7b4b (git): When running `bundle lock --update <name>`, checkout locked revision of unrelated git sources directly
Since Bundler 2.4, we will try to checkout any branch specified in the
Gemfile, while until Bundler 2.3 we would directly checkout the locked
revision.
This should not make any difference in most situations, but in some edge
cases, like...
deivid (David Rodríguez)
09:50 AM Revision 0b9e51c4 (git): Don´t consider platform specific candidates when `force_ruby_platform` set
This was working fine for direct dependencies using
`force_ruby_platform` explicitly through Gemfile, but not for indirect
dependencies. In general, indirect dependencies do not have this
property set, but in truffleruby this is differen...
deivid (David Rodríguez)
09:50 AM Revision 12f0be14 (git): Don't ignore pre-releases when there's only one candidate
This should be a very rare edge case, however, it does happen when using
a .dev version of Bundler because in that case, that's the only version
that the resolver considers, and it should not be ignored.
We could've special cased this s...
deivid (David Rodríguez)
09:50 AM Revision ddc4fd56 (git): Normalize git sources
Just like gem sources, a "style-only" change, like adding a trailing
slash, should not expire them.
deivid (David Rodríguez)
09:50 AM Revision 7800d4ee (git): util/rubocop -A --only Style/MultipleComparison
hsbt (Hiroshi SHIBATA)
09:50 AM Revision f8fe151c (git): util/rubocop -A --only Style/TernaryParentheses
hsbt (Hiroshi SHIBATA)
09:50 AM Revision 31c572f4 (git): util/rubocop -A --only Style/SymbolArray
hsbt (Hiroshi SHIBATA)
09:50 AM Revision 1ca67f13 (git): util/rubocop -A --only Style/RedundantSelf
hsbt (Hiroshi SHIBATA)
09:50 AM Revision 5211900d (git): util/rubocop -A --only Style/SymbolProc
hsbt (Hiroshi SHIBATA)
09:50 AM Revision b304cf32 (git): util/rubocop -A --only Layout/ParameterAlignment
hsbt (Hiroshi SHIBATA)
09:50 AM Revision 03736159 (git): util/rubocop -A --only Layout/SpaceInsideArrayLiteralBrackets
hsbt (Hiroshi SHIBATA)
09:50 AM Revision 3e1f767c (git): util/rubocop -A --only Layout/DotPosition
hsbt (Hiroshi SHIBATA)
09:50 AM Revision b6d3c069 (git): util/rubocop -A --only Performance/Casecmp
hsbt (Hiroshi SHIBATA)
09:50 AM Revision 866831d8 (git): [rubygems/rubygems] util/rubocop -A --only Style/Semicolon
https://github.com/rubygems/rubygems/commit/97f062be05 hsbt (Hiroshi SHIBATA)
09:50 AM Revision ab644ae4 (git): [rubygems/rubygems] util/rubocop -A --only Style/CharacterLiteral
https://github.com/rubygems/rubygems/commit/aa058ff6b8 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 72d09a56 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantBegin
https://github.com/rubygems/rubygems/commit/b595d3cf0f hsbt (Hiroshi SHIBATA)
09:50 AM Revision a532e9dc (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantSortBy
https://github.com/rubygems/rubygems/commit/3e4f5dc008 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 2db76738 (git): [rubygems/rubygems] util/rubocop -A --only Style/DoubleNegation
https://github.com/rubygems/rubygems/commit/01c2b5542f hsbt (Hiroshi SHIBATA)
09:50 AM Revision be4cc74e (git): [rubygems/rubygems] util/rubocop -A --only Style/IfUnlessModifierOfIfUnless
https://github.com/rubygems/rubygems/commit/97e0af2518 hsbt (Hiroshi SHIBATA)
09:50 AM Revision ee747573 (git): [rubygems/rubygems] util/rubocop -A --only Style/BarePercentLiterals
https://github.com/rubygems/rubygems/commit/02d8147243 hsbt (Hiroshi SHIBATA)
09:50 AM Revision bf69d1fc (git): [rubygems/rubygems] util/rubocop -A --only Style/OrAssignment
https://github.com/rubygems/rubygems/commit/965fc82cfd hsbt (Hiroshi SHIBATA)
09:50 AM Revision f4b073ef (git): [rubygems/rubygems] util/rubocop -A --only Style/UnlessElse
https://github.com/rubygems/rubygems/commit/184c03270c hsbt (Hiroshi SHIBATA)
09:50 AM Revision 4868cfcf (git): [rubygems/rubygems] util/rubocop -A --only Style/IdenticalConditionalBranches
https://github.com/rubygems/rubygems/commit/64f437a428 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 6ad269dc (git): [rubygems/rubygems] util/rubocop -A --only Style/RescueStandardError
https://github.com/rubygems/rubygems/commit/80b57da926 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 70164eec (git): [rubygems/rubygems] util/rubocop -A --only Style/RescueModifier
https://github.com/rubygems/rubygems/commit/b490379eab hsbt (Hiroshi SHIBATA)
09:50 AM Revision fef0313e (git): [rubygems/rubygems] util/rubocop -A --only Style/PreferredHashMethods
https://github.com/rubygems/rubygems/commit/ae3bdc0e85 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 38664ede (git): [rubygems/rubygems] util/rubocop -A --only Style/NonNilCheck
https://github.com/rubygems/rubygems/commit/2b056b25c3 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 4cd8a46f (git): [rubygems/rubygems] util/rubocop -A --only Style/ParenthesesAroundCondition
https://github.com/rubygems/rubygems/commit/c766a65885 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 7b8a24ad (git): [rubygems/rubygems] util/rubocop -A --only Style/EmptyCaseCondition
https://github.com/rubygems/rubygems/commit/dae8fc70a4 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 3fe5909e (git): [rubygems/rubygems] util/rubocop -A --only Style/SelfAssignment
https://github.com/rubygems/rubygems/commit/7c1168c623 hsbt (Hiroshi SHIBATA)
09:50 AM Revision f86296fa (git): [rubygems/rubygems] util/rubocop -A --only Style/EmptyElse
https://github.com/rubygems/rubygems/commit/04227104ac hsbt (Hiroshi SHIBATA)
09:50 AM Revision 4ab23df2 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantParentheses
https://github.com/rubygems/rubygems/commit/295691d4dc hsbt (Hiroshi SHIBATA)
09:50 AM Revision b8914a9d (git): [rubygems/rubygems] util/rubocop -A --only Style/StabbyLambdaParentheses
https://github.com/rubygems/rubygems/commit/23ce9793e5 hsbt (Hiroshi SHIBATA)
09:50 AM Revision d8c5fa96 (git): [rubygems/rubygems] util/rubocop -A --only Style/YodaCondition
https://github.com/rubygems/rubygems/commit/3594945391 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 66bd2c1a (git): [rubygems/rubygems] util/rubocop -A --only Style/CommentAnnotation
https://github.com/rubygems/rubygems/commit/4e77a1d1d5 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 52ea7afa (git): [rubygems/rubygems] util/rubocop -A --only Style/NegatedIf
https://github.com/rubygems/rubygems/commit/aa95ee27a2 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 9ab860f9 (git): [rubygems/rubygems] util/rubocop -A --only Style/ColonMethodCall
https://github.com/rubygems/rubygems/commit/823113f39e hsbt (Hiroshi SHIBATA)
09:50 AM Revision bd57322b (git): [rubygems/rubygems] util/rubocop -A --only Style/DefWithParentheses
https://github.com/rubygems/rubygems/commit/91391ceedf hsbt (Hiroshi SHIBATA)
09:50 AM Revision 03b82d18 (git): [rubygems/rubygems] util/rubocop -A --only Style/SingleLineMethods
https://github.com/rubygems/rubygems/commit/fa2e835ed2 hsbt (Hiroshi SHIBATA)
09:50 AM Revision d2cebb4e (git): [rubygems/rubygems] util/rubocop -A --only Style/NumericLiterals
https://github.com/rubygems/rubygems/commit/860669b08a hsbt (Hiroshi SHIBATA)
09:50 AM Revision 712d6e67 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantInterpolation
https://github.com/rubygems/rubygems/commit/add44e56eb hsbt (Hiroshi SHIBATA)
09:50 AM Revision 0b632b9c (git): [rubygems/rubygems] util/rubocop -A --only Style/ClassCheck
https://github.com/rubygems/rubygems/commit/1c3356a872 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 567db606 (git): [rubygems/rubygems] util/rubocop -A --only Style/NestedParenthesizedCalls
https://github.com/rubygems/rubygems/commit/a875fdb535 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 3d4c3f9e (git): [rubygems/rubygems] util/rubocop -A --only Style/ParallelAssignment
https://github.com/rubygems/rubygems/commit/5c88c77873 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 4bb5ce81 (git): [rubygems/rubygems] util/rubocop -A --only Style/StringLiteralsInInterpolation
https://github.com/rubygems/rubygems/commit/cb554f6eb7 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 83f9aa8f (git): [rubygems/rubygems] util/rubocop -A --only Style/Alias
https://github.com/rubygems/rubygems/commit/fba6e94de9 hsbt (Hiroshi SHIBATA)
09:50 AM Revision f4d1f660 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideRangeLiteral
https://github.com/rubygems/rubygems/commit/426dd97a31 hsbt (Hiroshi SHIBATA)
09:50 AM Revision ae81ff0c (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineBlockLayout
https://github.com/rubygems/rubygems/commit/9aa6101942 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 9a1269ea (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineArrayBraceLayout
https://github.com/rubygems/rubygems/commit/f4f45ab27e hsbt (Hiroshi SHIBATA)
09:50 AM Revision 26d66043 (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineMethodCallBraceLayout
https://github.com/rubygems/rubygems/commit/acb0548bf6 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 41f304d5 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideStringInterpolation
https://github.com/rubygems/rubygems/commit/a06f8ae3bb hsbt (Hiroshi SHIBATA)
09:50 AM Revision ce21ce6f (git): [rubygems/rubygems] util/rubocop -A --only Layout/FirstArgumentIndentation
https://github.com/rubygems/rubygems/commit/0542726fd3 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 3233b1fe (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInLambdaLiteral
https://github.com/rubygems/rubygems/commit/e76088b699 hsbt (Hiroshi SHIBATA)
09:50 AM Revision f8daae91 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceBeforeSemicolon
https://github.com/rubygems/rubygems/commit/c92c6d8e85 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 4b285e5c (git): [rubygems/rubygems] util/rubocop -A --only Layout/AssignmentIndentation
https://github.com/rubygems/rubygems/commit/8e64298989 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 9ffd7352 (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLinesAroundExceptionHandlingKeywords
https://github.com/rubygems/rubygems/commit/ad1fe68d97 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 583fbc62 (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLinesAroundModuleBody
https://github.com/rubygems/rubygems/commit/48c88466b7 hsbt (Hiroshi SHIBATA)
09:50 AM Revision c480a0c4 (git): [rubygems/rubygems] util/rubocop -A --only Layout/LeadingCommentSpace
https://github.com/rubygems/rubygems/commit/4d680320e3 hsbt (Hiroshi SHIBATA)
09:50 AM Revision d9f92511 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsidePercentLiteralDelimiters
https://github.com/rubygems/rubygems/commit/c6de27fc6d hsbt (Hiroshi SHIBATA)
09:50 AM Revision 85fd33c5 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideArrayPercentLiteral
https://github.com/rubygems/rubygems/commit/75abd2e504 hsbt (Hiroshi SHIBATA)
09:50 AM Revision dab1d0ed (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLineBetweenDefs
https://github.com/rubygems/rubygems/commit/00117e69cc hsbt (Hiroshi SHIBATA)
09:50 AM Revision 7c1d590a (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceBeforeComma
https://github.com/rubygems/rubygems/commit/4a5b70b508 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 23150e02 (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineHashBraceLayout
https://github.com/rubygems/rubygems/commit/bf33d106d0 hsbt (Hiroshi SHIBATA)
09:50 AM Revision ab2278eb (git): [rubygems/rubygems] util/rubocop -A --only Lint/UselessAccessModifier
https://github.com/rubygems/rubygems/commit/5070f90987 hsbt (Hiroshi SHIBATA)
09:50 AM Revision eb80f51c (git): [rubygems/rubygems] util/rubocop -A --only Lint/RedundantStringCoercion
https://github.com/rubygems/rubygems/commit/58e4885493 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 05208c38 (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnusedBlockArgument
https://github.com/rubygems/rubygems/commit/d8efd919db hsbt (Hiroshi SHIBATA)
09:50 AM Revision 7ab4ede4 (git): [rubygems/rubygems] util/rubocop -A --only Performance/TimesMap
https://github.com/rubygems/rubygems/commit/976a351f8b hsbt (Hiroshi SHIBATA)
09:50 AM Revision 139f0927 (git): [rubygems/rubygems] util/rubocop -A --only Performance/DoubleStartEndWith
https://github.com/rubygems/rubygems/commit/893da27e7c hsbt (Hiroshi SHIBATA)
09:50 AM Revision 65752b61 (git): [rubygems/rubygems] util/rubocop -A --only Performance/Count
https://github.com/rubygems/rubygems/commit/46d5d6d1d3 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 2eb99350 (git): [rubygems/rubygems] Removed rubocop:disable detected by Lint/RedundantCopDisableDirective
https://github.com/rubygems/rubygems/commit/07b0da6c24 hsbt (Hiroshi SHIBATA)
09:50 AM Revision 2dddac04 (git): [rubygems/rubygems] util/rubocop -a test/rubygems/helper.rb and styling
https://github.com/rubygems/rubygems/commit/fe331736d4 hsbt (Hiroshi SHIBATA)
09:50 AM Revision fe1b0661 (git): [rubygems/rubygems] Removed RUBY_PATCHLEVEL and modify condition for ruby_version
https://github.com/rubygems/rubygems/commit/b420e287a3 hsbt (Hiroshi SHIBATA)
09:50 AM Revision b09973a9 (git): [rubygems/rubygems] Also removed condition of RUBY_PATCHLEVEL
https://github.com/rubygems/rubygems/commit/16f381be4b hsbt (Hiroshi SHIBATA)
09:50 AM Revision 8e40d1e1 (git): [rubygems/rubygems] RUBY_PATCHLEVEL was provided after Ruby 1.8.5
https://github.com/rubygems/rubygems/commit/7750d5c460 hsbt (Hiroshi SHIBATA)
09:50 AM Revision a47c5413 (git): [rubygems/rubygems] Remove ensure part in require
I've seen this error sometimes but never found it helpful, since the
culprit has never been thread/monitor related, so it just adds noise.
Right now I'm seeing an issue in CI where we seem to be crashing during
ensure and showing a weir...
deivid (David Rodríguez)
09:50 AM Revision dd0f0a5e (git): [rubygems/rubygems] Fix `gem uninstall` with `--install-dir`
https://github.com/rubygems/rubygems/commit/ac23687353 deivid (David Rodríguez)
09:50 AM Revision 123bedd2 (git): [rubygems/rubygems] Extract some common logic to a test helper
https://github.com/rubygems/rubygems/commit/ef4741b7cb deivid (David Rodríguez)
09:50 AM Revision 57338287 (git): [rubygems/rubygems] Fix `rake check_manifest` when `rake` is `--user-installed`'d
Otherwise we get
```
✗ rake TEST=test/rubygems/test_project_sanity.rb
Loaded suite /Users/deivid/.gem/ruby/3.2.0/gems/rake-13.0.6/lib/rake/rake_test_loader
Started
E
======================================================================...
deivid (David Rodríguez)
09:50 AM Revision 37c2e903 (git): [rubygems/rubygems] Show error when `rake check_manifest` fails for unknown reason
https://github.com/rubygems/rubygems/commit/98de85c11e deivid (David Rodríguez)
09:50 AM Revision 8371c0ea (git): [rubygems/rubygems] Fix incorrect error message when multiple platforms are locked
https://github.com/rubygems/rubygems/commit/24d2bf9cb2 deivid (David Rodríguez)
09:50 AM Revision d5121992 (git): [rubygems/rubygems] Remove unnecessary `specific_local_platform` test helper
https://github.com/rubygems/rubygems/commit/86b574824d deivid (David Rodríguez)
09:50 AM Revision 2d8b55fc (git): [rubygems/rubygems] Simplify `lockfile_platforms` helper
To make it easier to change the default platforms that get locked later.
https://github.com/rubygems/rubygems/commit/255c4012ec
deivid (David Rodríguez)
09:50 AM Revision 9492efbe (git): [rubygems/rubygems] Remove unnecessary `local` helper
https://github.com/rubygems/rubygems/commit/27ed6870ce deivid (David Rodríguez)
09:50 AM Revision 8a8ade7e (git): [rubygems/rubygems] Use more common linux platform for specs
https://github.com/rubygems/rubygems/commit/3841a58095 deivid (David Rodríguez)
09:50 AM Revision f22765f5 (git): [rubygems/rubygems] Use splatted args to `lockfile_platforms_for`
Nicer :)
https://github.com/rubygems/rubygems/commit/c0ab2893c3
deivid (David Rodríguez)
08:58 AM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
mame (Yusuke Endoh) wrote in #note-2:
> In #18580, @matz said:
> ...
Thanks for the info. This hurts not only because the behavior changed without notice (in the NEWS file) but because it broke the useful feature. Before the change, ...
knu (Akinori MUSHA)
04:29 AM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
In #18580, @matz said:
> I decided to make `include?` to raise exception for beginless/endless non-numeric ranges.
and `(nil..nil)` is considered as a non-numeric range.
mame (Yusuke Endoh)
04:03 AM Bug #19533 (Closed): Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
Starting from Ruby 2.7.0 a range `nil..nil` used to match any value until 3.2.0-preview3, but 3.2.0-rc1 started to reject it.
```
% docker run -it --rm rubylang/all-ruby ./all-ruby -e 'p( (nil..nil) === 1 )'
(snip)
ruby-2.6.10 ...
knu (Akinori MUSHA)
07:32 AM Bug #19534 (Closed): [ruby 3.2.1] Regular expression comparisons may be slower than in older versions.
Hello Sir.
When scanning a string with a regular expression created using many Japanese words, there was a slowdown compared to older versions.
I hope it will be fixed.
- Environment
```
% ruby -v
ruby 3.2.1 (2023-02-08 revision ...
mizuKyo (kyosuke mizukami)
04:53 AM Revision c0866f8a (git): Bump actions/cache from 3.2.6 to 3.3.1
Bumps [actions/cache](https://github.com/actions/cache) from 3.2.6 to 3.3.1.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.co...
dependabot[bot]
04:40 AM Revision f3abe5ba (git): merge revision(s) 0700d0fd1c77b4fddf803dea3c10be654df600ff,62c2082f1f726cb90d8c332fbedbecf41d5d82ec: [Backport #19469]
Fix indentation in vm_setivar_default
---
vm_insnhelper.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
[Bug #19469] Fix crash when resizing generic iv list
The following script c...
naruse (Yui NARUSE)
04:36 AM Bug #19468: Ruby 3.2: net/http sets UTF-8 encoding for binary responses
ruby_3_2 b309c246ee70926d593d3857e1625202e2d0f67b merged revision(s) d78ae78fd76e556e281a743c75bea4c0bb81ed8c. naruse (Yui NARUSE)
04:30 AM Bug #18580: Range#include? inconsistency for beginless String ranges
Unfortunately, this change broke an existing program: #19533.
The lesson here is that it would be best to avoid changing any behavior just for the sake of consistency unless it is proven that the behavior actually confuses a large num...
mame (Yusuke Endoh)
04:17 AM Revision c7ae6f6a (git): Bump actions/checkout from 3.3.0 to 3.4.0
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]
03:38 AM Revision 53ebd484 (git): Bump ruby/setup-ruby from 1.144.0 to 1.144.1
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.144.0 to 1.144.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/9669f3ee51dc3f4eda8447ab696b3ab19a...
dependabot[bot]
01:56 AM Revision b309c246 (git): merge revision(s) d78ae78fd76e556e281a743c75bea4c0bb81ed8c: [Backport #19468]
rb_str_modify_expand: clear the string coderange
[Bug #19468]
b0b9f7201acab05c2a3ad92c3043a1f01df3e17f errornously stopped
clearing the coderange.
Since `rb_str_modify` clears it, `rb_str_modify_expand`...
naruse (Yui NARUSE)
01:54 AM Bug #19464: YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
ruby_3_2 b73a07359758a9034996752e981e09ddaffe8d87 merged revision(s) 0eb634ae73cb327ede833b72492f912792a4a9d5. naruse (Yui NARUSE)
01:15 AM Feature #18951: Object#with to set and restore attributes around a block
temp_set might be a better method name dsisnero (Dominic Sisneros)
12:50 AM Revision f29c9d6d (git): compile branch body if needed
```ruby
if true
THEN
else
ELSE
end
```
On this case, ELSE is not needed so that only compile THEN part.
ko1 (Koichi Sasada)
 

Also available in: Atom