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... -
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 -
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> - 05:11 PM Revision 8286544d (git): YJIT: Use starting context for status === CantCompile (#7583)
-
04:46 PM Revision ed4dc1c3 (git): Fix ENABLE_MULTIARCH
- This macro is used in `ruby_init_loadpath()`, but was removed
mistakenly at 31f4b2d86bfbc753cec9be376719acc4b120e944. - 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 -
02:31 PM Revision b738cb01 (git): Suppress -Wsign-compare warning
-
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 -
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... -
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... -
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... -
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. -
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. -
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. -
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. -
08:18 AM Revision 6ad6ae68 (git): Skip test_gem_with_platform_and_platform_dependencies only ruby/ruby repository
-
08:18 AM Revision 1b408e65 (git): Refactor and fix usage of Gem.ruby
-
08:18 AM Revision 22d037f4 (git): Move duplicated logic to parent class
-
08:18 AM Revision e46d4733 (git): Make sure native extensions are loaded correctly in ext_conf builder
-
08:18 AM Revision f8ecf145 (git): Make sure native extensions are loaded correctly in rake builder
-
08:18 AM Revision a757e21b (git): Reuse `SpecSet#materialize` logic
-
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... -
08:18 AM Revision 8e6bbc03 (git): Don't remove RUBY platform when healing a lockfile with missing specs
-
08:18 AM Revision 4e7c39f9 (git): Don't remove RUBY platform when healing a lockfile with missing specs
-
08:18 AM Revision acf12b6d (git): util/rubocop -A --only Style/AsciiComments
-
08:18 AM Revision f24a86d8 (git): util/rubocop -A --only Layout/EmptyLineAfterMagicComment
-
08:18 AM Revision 4dd418f8 (git): util/rubocop -A --only Style/FrozenStringLiteralComment
-
08:18 AM Revision 50a03035 (git): util/rubocop -A --only Lint/NonLocalExitFromIterator
-
08:18 AM Revision 2e3cd1dc (git): [rubygems/rubygems] Enabled Style/RedundantReturn cop
- https://github.com/rubygems/rubygems/commit/05cc97bdf8
-
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 -
08:18 AM Revision a3670249 (git): [rubygems/rubygems] util/rubocop -A --only Lint/Void
- https://github.com/rubygems/rubygems/commit/9d25906e44
-
08:18 AM Revision 048230de (git): [rubygems/rubygems] util/rubocop -A --only Lint/RequireParentheses
- https://github.com/rubygems/rubygems/commit/ee6814afbc
-
08:18 AM Revision 0eef33e1 (git): [rubygems/rubygems] util/rubocop -A --only Style/Next
- https://github.com/rubygems/rubygems/commit/e5868e92f7
-
08:18 AM Revision bec069b0 (git): [rubygems/rubygems] util/rubocop -A --only Style/MultilineMemoization
- https://github.com/rubygems/rubygems/commit/c1f6e4a97b
-
08:18 AM Revision 8a364b85 (git): [rubygems/rubygems] util/rubocop -A --only Style/MultilineTernaryOperator
- https://github.com/rubygems/rubygems/commit/be853dfe3b
-
08:18 AM Revision 5efadf81 (git): [rubygems/rubygems] util/rubocop -A --only Lint/ShadowingOuterLocalVariable
- https://github.com/rubygems/rubygems/commit/82ed77178d
-
08:18 AM Revision 8260698e (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnreachableCode
- https://github.com/rubygems/rubygems/commit/f06047f52a
-
08:18 AM Revision 01be518e (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnderscorePrefixedVariableName
- https://github.com/rubygems/rubygems/commit/6dc4bc3a5b
-
08:18 AM Revision ec131071 (git): [rubygems/rubygems] util/rubocop -A --only Lint/ReturnInVoidContext
- https://github.com/rubygems/rubygems/commit/021823a331
-
08:18 AM Revision 1a600126 (git): [rubygems/rubygems] util/rubocop -A --only Lint/RescueException
- https://github.com/rubygems/rubygems/commit/e8a5db50af
-
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 -
08:18 AM Revision 7e361258 (git): [rubygems/rubygems] util/rubocop -A --only Lint/DuplicateCaseCondition
- https://github.com/rubygems/rubygems/commit/df2b192e47
-
05:49 AM Revision db7c3863 (git): core_assertions.rb: Raise `Timeout::Error` explicitly
- So that `assert_raise` inside the block works.
-
05:03 AM Revision 0112a5b3 (git): `Array#first` and `Array#last` in Ruby
-
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. -
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`. - 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)
... -
03:04 AM Bug #19485: Unexpected behavior in squiggly heredocs
- ruby_3_2 b93e2223300bc54dfa387ffb9fa3d48ecbe670f0 merged revision(s) e7342e76dfd26237c604e42f9a59a1eaa578c94e.
-
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... -
03:03 AM Bug #19536: Frozen status loss when moving objects
- ruby_3_2 400ccb16eefe4e21c4e3eacab4fd0f208fc5e151 merged revision(s) cb22d78354e201ca74eba68a8b4edefb593e6754.
-
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.
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... -
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... -
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... -
10:34 AM Feature #19541 (Assigned): Proposal: Generate frame unwinding info for YJIT code
-
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?
-
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 ... -
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... -
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 ... -
09:21 PM Revision 348412c7 (git): [rubygems/rubygems] Use indented heredoc
- https://github.com/rubygems/rubygems/commit/085d2776d8
-
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... -
07:50 PM Revision 05197417 (git): pull child allocation in to a different function
-
07:50 PM Revision 999ccb2b (git): combine allocation functions
-
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. -
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... -
02:07 PM Revision e340eb21 (git): core_assertions.rb: Fix backward compatibility with pre 2.7
-
01:35 PM Revision 27916db0 (git): [DOC] Update comment of assert_pattern_list
- `pattern_list` may contain string since d903e7672637.
-
11:17 AM Revision aa5d1957 (git): [rubygems/rubygems] @orig_RUBY_ENGINE is always provided now
- https://github.com/rubygems/rubygems/commit/c5e8ad4823
-
11:17 AM Revision 16978695 (git): [rubygems/rubygems] Fix test failure with missing RUBY_REVISION constants
- https://github.com/rubygems/rubygems/commit/c5b80945c6
-
11:17 AM Revision 37258502 (git): [rubygems/rubygems] ditto: RUBY_ENGINE_VERSION
- https://github.com/rubygems/rubygems/commit/dc82ebeac6
-
11:17 AM Revision 3dc4bc31 (git): [rubygems/rubygems] RUBY_REVISION is also provided by supported platforms
- https://github.com/rubygems/rubygems/commit/71a237aeec
-
11:17 AM Revision ea1dcb3e (git): [rubygems/rubygems] RUBY_DESCRIPTION is always provided by supported platforms
- https://github.com/rubygems/rubygems/commit/8a7028bc7e
-
11:17 AM Revision 92f78b0e (git): [rubygems/rubygems] Fixup
- https://github.com/rubygems/rubygems/pull/6486
https://github.com/rubygems/rubygems/commit/ad50221acf -
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. -
09:53 AM Revision 6cc8eb4d (git): Should not reach end of non-void function
-
09:07 AM Revision 8c00b130 (git): Fixup 43d20596b8fefadc309348448352bf13615129c6
-
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...
-
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 -
07:10 AM Revision 8d1109c0 (git): Added assertion values for Amazon Linux 2023
-
05:28 AM Revision cb458094 (git): RJIT: Update binding
-
05:12 AM Revision 7947920e (git): RJIT: Follow a recent CALLER_SETUP_ARG change
-
05:01 AM Revision 38946209 (git): RJIT: Split has_rest_or_post exit reasons
- 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... -
02:50 AM Bug #19476: Regexp unexpected partial match
- ruby_3_2 ad6fe84dfa6935bd6e2c3ef3ee36bed4e8627d0b merged revision(s) dddc542e9b61b292d80a96d0d0efbbf58719e3be.
-
01:34 AM Bug #19467: Some linear_time regexp does not match in linear time
- ruby_3_2 4b4087dce318570f9f9c05e14900325b499fb632 merged revision(s) e22c4e8877677ff90805e4a4dcbdef80f4220136.
-
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(-)
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... -
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... -
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, :... -
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.
-
03:46 AM Bug #19316: YJIT crash in 3.2.0
- ruby_3_1 c660aaf439dcd609e4e23253372c8ec6d567ce10 merged revision(s) aeddc19340c7116d48fac3080553fbb823857d16.
-
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 ... - 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... -
03:05 PM Revision f62fa512 (git): [ruby/erb] [DOC] Use indented heredoc
- https://github.com/ruby/erb/commit/8ba8bb7acf
-
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... - 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... -
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 -
01:59 PM Revision 9b85ff01 (git): Use indented heredoc
-
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... -
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... -
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... -
11:19 AM Bug #19389: StringIO gets(..., chomp: true) behaves differently to File/IO.
- Thanks for your hard work back porting this.
-
05:00 AM Bug #19389: StringIO gets(..., chomp: true) behaves differently to File/IO.
- ruby_3_1 1d24a931c458c93463da1d5885f33edef3677cc2 merged revision(s) 21dced8b01823a991829b66ffdc8ffc635965c76.
- 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)`. -
09:10 AM Revision 6eac424e (git): [ci skip] Move rb_id2str into new LLDB format
-
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.
-
07:50 AM Bug #19445: Segmentation fault with Numeric#step
- ruby_3_1 5428bdc1daed12d1e142a854fc037a1a4eb647c9 merged revision(s) dd28c55a7cd6780dad637b4d6a20507fbfc6af4a.
-
07:50 AM Bug #19419: [BUG] try to mark T_NONE object in `ibf_dump_mark`
- ruby_3_1 caedcf3ee8e445f90df88ccf2f745c9d9f7ccc35 merged revision(s) 86de48e9f69b665ba9ffb5bdc5a181a3adb1a7b8.
-
07:50 AM Bug #19415: Incorrect circularity warning for concurrent requires
- ruby_3_1 26b3f0b6a9489860e1d312369d784495b080daa3 merged revision(s) 8ce2fb9bbbaea14737c84385b1573f743a30f773,3a0f6ce1d31eefd8af01b50f3632a64d64e8f8c1.
-
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.
-
07:49 AM Bug #19398: Memory leak in WeakMap
- ruby_3_1 0d00732d39de1e5ecce738260a1e49d8af52e12a merged revision(s) c6f84e918943a0bf8db6fee556fc53180d257510.
-
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(-) -
07:10 AM Revision c4436726 (git): RJIT: Fix invokesuper
-
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... -
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... -
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... -
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
---
... -
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... -
05:16 AM Revision 82d763c9 (git): Skip the test for [Bug #19316] for a while.
-
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.
-
03:47 AM Bug #19284: Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
- ruby_3_1 782a9c2ddfcc84c3bd3a1fa153f7ac1f3e92a2e1 merged revision(s) 90a80eb076429978e720e11fb17a3cbb96de3454.
-
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... -
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 ++
... -
03:48 AM Bug #19320: Crash during compaction while traversing the stack
- ruby_3_1 8322413e58bdce11136c33aec3e0611b2b135cd8 merged revision(s) 72eb33066fa9e7dacb7470cd140b219abe37667e.
-
03:46 AM Bug #19319: Crash in rb_str_casemap
- ruby_3_1 159930b7857bd3fe603840f686edffb54693d2a7 merged revision(s) d8ef0a98c670449b20436947f5ebbd327ed5ab0d.
-
03:45 AM Bug #19305: TracePoint#parameters segfaults when certain method creation pattern is used
- ruby_3_1 eba3f787cbd38acf60fff6bdb450aacfc2e9c3a1 merged revision(s) 837ef8911c638c3e2bdb6af710de7c1fac7b5f90.
-
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.
- 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... -
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... -
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... -
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 ... -
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... -
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... -
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...
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... -
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... -
08:03 PM Revision 51834ff2 (git): YJIT: Make dev_nodebug closer to dev (#7570)
-
07:40 PM Revision 27ecf326 (git): Update yjit.md
- Document `make yjit-smoke-test`
-
03:36 PM Bug #19543: Resizing IO::Buffer to zero bytes fails
- patch https://github.com/ruby/ruby/pull/7569
-
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... -
02:16 PM Revision 44f44447 (git): YJIT: tag output type as UnknownHeap in `toregexp` (#7562)
-
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 ... -
09:08 AM Revision 758e4db5 (git): Mark cached pid if necessary
-
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... -
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... -
02:31 AM Feature #19443: Cache `Process.pid`
- Caching process id sounds OK for me. Go ahead.
Matz.
-
08:28 AM Revision 1aa25550 (git): Fix the macro for condition
-
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... -
06:58 AM Revision 70ea58bd (git): RJIT: Break up RJIT send_iseq_complex exit reasons
-
06:32 AM Revision 59b86da8 (git): RJIT: Implement ifunc invokeblock
-
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::... -
06:14 AM Revision 47f7ec1c (git): RJIT: Support invokeblock arity mismatches
-
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 ... -
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.
-
04:52 AM Revision e3dc25ac (git): RJIT: Fix ISeq invokeblock
-
04:20 AM Revision 7aeb9e20 (git): RJIT: Disable ISeq invokeblock for now
- since basictest is broken
-
04:02 AM Revision 7f696b88 (git): Remove a warning in bootstraptest/runner.rb
- ../bootstraptest/runner.rb:121: warning: assigned but unused variable - e
-
03:56 AM Revision 2d8ecfcc (git): RJIT: Implement invokeblock with ISeq
-
03:49 AM Revision 80890e68 (git): Disable `-w` on bundler and bundled gems tests
-
03:27 AM Revision 4f350dbf (git): RJIT: Remove an unneeded variable
-
02:36 AM Revision c6466691 (git): Enable `-w` option at test
-
01:39 AM Revision 615f42fd (git): Add explanation to rbs_skip_tests (#7525)
03/19/2023
-
09:15 PM Revision 2f29044d (git): RJIT: Optimize Kernel#block_given?
-
09:04 PM Revision 83ad1cac (git): RJIT: Optimize Kernel#respond_to?
-
08:41 PM Revision 95c4ced3 (git): RJIT: Optimize Array#empty?
-
08:36 PM Revision cd5a8d01 (git): RJIT: Optimize String#+@
-
08:25 PM Revision 21212827 (git): RJIT: Optimize String#<<
-
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... -
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> -
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>
-
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... -
07:06 AM Revision 9654a28c (git): RJIT: Drop duplicated obj_is_kind_of
-
06:42 AM Revision c4e27187 (git): RJIT: Workaround USE_RVARGC=0 CI
-
06:35 AM Revision 32e0c97d (git): RJIT: Optimize String#bytesize
-
06:24 AM Revision 106cca51 (git): RJIT: Optimize String#empty?
-
06:13 AM Revision ca9355e1 (git): RJIT: Optimize Kernel#instance_of?
-
05:59 AM Revision 824cf889 (git): RJIT: Optimize Kernel#is_a?
-
05:32 AM Revision cc9330f8 (git): RJIT: Reorder opt_case_dispatch branches
-
05:03 AM Revision d07d1c71 (git): RJIT: Upgrade Ubuntu on CI
- to upgrade libcapstone on CI
-
04:49 AM Revision 71bcab45 (git): RJIT: Implement setclassvariable
-
04:42 AM Revision 8510f33c (git): RJIT: Implement intern
-
04:39 AM Revision 4a8de3fa (git): RJIT: Fix toregexp
-
04:37 AM Revision 9c2792c3 (git): RJIT: Implement toregexp
-
04:28 AM Revision d189f8d8 (git): RJIT: Prefix rjit_options with rb_
-
04:26 AM Revision 4e440d69 (git): RJIT: Install libcapstone-dev on CI
- for test_assembler.rb to work
-
04:24 AM Revision 2eefd71e (git): RJIT: Implement newrange
-
04:20 AM Revision 81e19b7d (git): RJIT: Implement getglobal
-
04:15 AM Revision 9f8e9149 (git): RJIT: Implement checkkeyword
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. -
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'... -
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.
-
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... -
04:35 PM Revision 67dd52d5 (git): [Bug #19539] Match heredoc identifier from end of line
- Not to ignore leading spaces in indented heredoc identifier.
-
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 -
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.) -
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 -
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... -
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... -
07:00 AM Revision dc28ccbb (git): RJIT: Implement getspecial insn
-
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.
-
06:46 AM Revision 93e05aaa (git): RJIT: Implement putspecialobject insn
- 06:43 AM Revision 2c8f2871 (git): Fix handling of 6-byte codepoints in left_adjust_char_head in CESU-8 encoding
-
06:27 AM Revision 45a17013 (git): RJIT: Implement throw insn
-
06:17 AM Revision 39cd74d2 (git): RJIT: Use RJIT_STATS on --enable-rjit=dev
- RUBY_DEBUG is too slow.
-
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(-) -
05:53 AM Bug #19469: Crash when resizing generic iv list
- ruby_3_2 f3abe5ba645839fb2a686aee18d3466b59256af0 merged revision(s) 0700d0fd1c77b4fddf803dea3c10be654df600ff,62c2082f1f726cb90d8c332fbedbecf41d5d82ec.
-
05:31 AM Revision 644c9985 (git): RJIT: Support --rjit-stats on release build as well
03/17/2023
-
09:32 PM Revision b9f411b3 (git): YJIT: Simplify using the BITS associated constant
- All the integer types have it.
-
08:16 PM Revision 6ba07df4 (git): YJIT: make type info more specific in gen_fixnum_cmp and gen_opt_mod (#7555)
-
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. -
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. - 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> - 08:04 PM Revision 2d97f874 (git): * remove trailing spaces. [ci skip]
-
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. -
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. -
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. -
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.
... -
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... -
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... -
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... -
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... -
06:26 PM Feature #19538: Performance warnings
- When does the option print a warning, for example?
-
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` ... -
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... - 07:20 PM Revision cc68d692 (git): * remove trailing spaces. [ci skip]
-
07:20 PM Revision 5897a6f6 (git): Update Makefile dependencies
-
07:20 PM Revision 4f5e29f9 (git): Document the declarative marking api
-
07:20 PM Revision 22b34929 (git): Implement declarative references for enumerator
-
07:20 PM Revision 405966e2 (git): Implement declarative references for dir_data_type
-
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... -
06:53 PM Revision 9fd94d6a (git): YJIT: Support entry for multiple PCs per ISEQ (GH-7535)
-
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... -
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. -
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. -
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... -
04:06 PM Revision c62cf60d (git): Skip a flaky test that might not work
-
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 -
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. -
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... -
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. -
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... -
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... -
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... -
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... -
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. -
09:50 AM Revision 7800d4ee (git): util/rubocop -A --only Style/MultipleComparison
-
09:50 AM Revision f8fe151c (git): util/rubocop -A --only Style/TernaryParentheses
-
09:50 AM Revision 31c572f4 (git): util/rubocop -A --only Style/SymbolArray
-
09:50 AM Revision 1ca67f13 (git): util/rubocop -A --only Style/RedundantSelf
-
09:50 AM Revision 5211900d (git): util/rubocop -A --only Style/SymbolProc
-
09:50 AM Revision b304cf32 (git): util/rubocop -A --only Layout/ParameterAlignment
-
09:50 AM Revision 03736159 (git): util/rubocop -A --only Layout/SpaceInsideArrayLiteralBrackets
-
09:50 AM Revision 3e1f767c (git): util/rubocop -A --only Layout/DotPosition
-
09:50 AM Revision b6d3c069 (git): util/rubocop -A --only Performance/Casecmp
-
09:50 AM Revision 866831d8 (git): [rubygems/rubygems] util/rubocop -A --only Style/Semicolon
- https://github.com/rubygems/rubygems/commit/97f062be05
-
09:50 AM Revision ab644ae4 (git): [rubygems/rubygems] util/rubocop -A --only Style/CharacterLiteral
- https://github.com/rubygems/rubygems/commit/aa058ff6b8
-
09:50 AM Revision 72d09a56 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantBegin
- https://github.com/rubygems/rubygems/commit/b595d3cf0f
-
09:50 AM Revision a532e9dc (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantSortBy
- https://github.com/rubygems/rubygems/commit/3e4f5dc008
-
09:50 AM Revision 2db76738 (git): [rubygems/rubygems] util/rubocop -A --only Style/DoubleNegation
- https://github.com/rubygems/rubygems/commit/01c2b5542f
-
09:50 AM Revision be4cc74e (git): [rubygems/rubygems] util/rubocop -A --only Style/IfUnlessModifierOfIfUnless
- https://github.com/rubygems/rubygems/commit/97e0af2518
-
09:50 AM Revision ee747573 (git): [rubygems/rubygems] util/rubocop -A --only Style/BarePercentLiterals
- https://github.com/rubygems/rubygems/commit/02d8147243
-
09:50 AM Revision bf69d1fc (git): [rubygems/rubygems] util/rubocop -A --only Style/OrAssignment
- https://github.com/rubygems/rubygems/commit/965fc82cfd
-
09:50 AM Revision f4b073ef (git): [rubygems/rubygems] util/rubocop -A --only Style/UnlessElse
- https://github.com/rubygems/rubygems/commit/184c03270c
-
09:50 AM Revision 4868cfcf (git): [rubygems/rubygems] util/rubocop -A --only Style/IdenticalConditionalBranches
- https://github.com/rubygems/rubygems/commit/64f437a428
-
09:50 AM Revision 6ad269dc (git): [rubygems/rubygems] util/rubocop -A --only Style/RescueStandardError
- https://github.com/rubygems/rubygems/commit/80b57da926
-
09:50 AM Revision 70164eec (git): [rubygems/rubygems] util/rubocop -A --only Style/RescueModifier
- https://github.com/rubygems/rubygems/commit/b490379eab
-
09:50 AM Revision fef0313e (git): [rubygems/rubygems] util/rubocop -A --only Style/PreferredHashMethods
- https://github.com/rubygems/rubygems/commit/ae3bdc0e85
-
09:50 AM Revision 38664ede (git): [rubygems/rubygems] util/rubocop -A --only Style/NonNilCheck
- https://github.com/rubygems/rubygems/commit/2b056b25c3
-
09:50 AM Revision 4cd8a46f (git): [rubygems/rubygems] util/rubocop -A --only Style/ParenthesesAroundCondition
- https://github.com/rubygems/rubygems/commit/c766a65885
-
09:50 AM Revision 7b8a24ad (git): [rubygems/rubygems] util/rubocop -A --only Style/EmptyCaseCondition
- https://github.com/rubygems/rubygems/commit/dae8fc70a4
-
09:50 AM Revision 3fe5909e (git): [rubygems/rubygems] util/rubocop -A --only Style/SelfAssignment
- https://github.com/rubygems/rubygems/commit/7c1168c623
-
09:50 AM Revision f86296fa (git): [rubygems/rubygems] util/rubocop -A --only Style/EmptyElse
- https://github.com/rubygems/rubygems/commit/04227104ac
-
09:50 AM Revision 4ab23df2 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantParentheses
- https://github.com/rubygems/rubygems/commit/295691d4dc
-
09:50 AM Revision b8914a9d (git): [rubygems/rubygems] util/rubocop -A --only Style/StabbyLambdaParentheses
- https://github.com/rubygems/rubygems/commit/23ce9793e5
-
09:50 AM Revision d8c5fa96 (git): [rubygems/rubygems] util/rubocop -A --only Style/YodaCondition
- https://github.com/rubygems/rubygems/commit/3594945391
-
09:50 AM Revision 66bd2c1a (git): [rubygems/rubygems] util/rubocop -A --only Style/CommentAnnotation
- https://github.com/rubygems/rubygems/commit/4e77a1d1d5
-
09:50 AM Revision 52ea7afa (git): [rubygems/rubygems] util/rubocop -A --only Style/NegatedIf
- https://github.com/rubygems/rubygems/commit/aa95ee27a2
-
09:50 AM Revision 9ab860f9 (git): [rubygems/rubygems] util/rubocop -A --only Style/ColonMethodCall
- https://github.com/rubygems/rubygems/commit/823113f39e
-
09:50 AM Revision bd57322b (git): [rubygems/rubygems] util/rubocop -A --only Style/DefWithParentheses
- https://github.com/rubygems/rubygems/commit/91391ceedf
-
09:50 AM Revision 03b82d18 (git): [rubygems/rubygems] util/rubocop -A --only Style/SingleLineMethods
- https://github.com/rubygems/rubygems/commit/fa2e835ed2
-
09:50 AM Revision d2cebb4e (git): [rubygems/rubygems] util/rubocop -A --only Style/NumericLiterals
- https://github.com/rubygems/rubygems/commit/860669b08a
-
09:50 AM Revision 712d6e67 (git): [rubygems/rubygems] util/rubocop -A --only Style/RedundantInterpolation
- https://github.com/rubygems/rubygems/commit/add44e56eb
-
09:50 AM Revision 0b632b9c (git): [rubygems/rubygems] util/rubocop -A --only Style/ClassCheck
- https://github.com/rubygems/rubygems/commit/1c3356a872
-
09:50 AM Revision 567db606 (git): [rubygems/rubygems] util/rubocop -A --only Style/NestedParenthesizedCalls
- https://github.com/rubygems/rubygems/commit/a875fdb535
-
09:50 AM Revision 3d4c3f9e (git): [rubygems/rubygems] util/rubocop -A --only Style/ParallelAssignment
- https://github.com/rubygems/rubygems/commit/5c88c77873
-
09:50 AM Revision 4bb5ce81 (git): [rubygems/rubygems] util/rubocop -A --only Style/StringLiteralsInInterpolation
- https://github.com/rubygems/rubygems/commit/cb554f6eb7
-
09:50 AM Revision 83f9aa8f (git): [rubygems/rubygems] util/rubocop -A --only Style/Alias
- https://github.com/rubygems/rubygems/commit/fba6e94de9
-
09:50 AM Revision f4d1f660 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideRangeLiteral
- https://github.com/rubygems/rubygems/commit/426dd97a31
-
09:50 AM Revision ae81ff0c (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineBlockLayout
- https://github.com/rubygems/rubygems/commit/9aa6101942
-
09:50 AM Revision 9a1269ea (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineArrayBraceLayout
- https://github.com/rubygems/rubygems/commit/f4f45ab27e
-
09:50 AM Revision 26d66043 (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineMethodCallBraceLayout
- https://github.com/rubygems/rubygems/commit/acb0548bf6
-
09:50 AM Revision 41f304d5 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideStringInterpolation
- https://github.com/rubygems/rubygems/commit/a06f8ae3bb
-
09:50 AM Revision ce21ce6f (git): [rubygems/rubygems] util/rubocop -A --only Layout/FirstArgumentIndentation
- https://github.com/rubygems/rubygems/commit/0542726fd3
-
09:50 AM Revision 3233b1fe (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInLambdaLiteral
- https://github.com/rubygems/rubygems/commit/e76088b699
-
09:50 AM Revision f8daae91 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceBeforeSemicolon
- https://github.com/rubygems/rubygems/commit/c92c6d8e85
-
09:50 AM Revision 4b285e5c (git): [rubygems/rubygems] util/rubocop -A --only Layout/AssignmentIndentation
- https://github.com/rubygems/rubygems/commit/8e64298989
-
09:50 AM Revision 9ffd7352 (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLinesAroundExceptionHandlingKeywords
- https://github.com/rubygems/rubygems/commit/ad1fe68d97
-
09:50 AM Revision 583fbc62 (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLinesAroundModuleBody
- https://github.com/rubygems/rubygems/commit/48c88466b7
-
09:50 AM Revision c480a0c4 (git): [rubygems/rubygems] util/rubocop -A --only Layout/LeadingCommentSpace
- https://github.com/rubygems/rubygems/commit/4d680320e3
-
09:50 AM Revision d9f92511 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsidePercentLiteralDelimiters
- https://github.com/rubygems/rubygems/commit/c6de27fc6d
-
09:50 AM Revision 85fd33c5 (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceInsideArrayPercentLiteral
- https://github.com/rubygems/rubygems/commit/75abd2e504
-
09:50 AM Revision dab1d0ed (git): [rubygems/rubygems] util/rubocop -A --only Layout/EmptyLineBetweenDefs
- https://github.com/rubygems/rubygems/commit/00117e69cc
-
09:50 AM Revision 7c1d590a (git): [rubygems/rubygems] util/rubocop -A --only Layout/SpaceBeforeComma
- https://github.com/rubygems/rubygems/commit/4a5b70b508
-
09:50 AM Revision 23150e02 (git): [rubygems/rubygems] util/rubocop -A --only Layout/MultilineHashBraceLayout
- https://github.com/rubygems/rubygems/commit/bf33d106d0
-
09:50 AM Revision ab2278eb (git): [rubygems/rubygems] util/rubocop -A --only Lint/UselessAccessModifier
- https://github.com/rubygems/rubygems/commit/5070f90987
-
09:50 AM Revision eb80f51c (git): [rubygems/rubygems] util/rubocop -A --only Lint/RedundantStringCoercion
- https://github.com/rubygems/rubygems/commit/58e4885493
-
09:50 AM Revision 05208c38 (git): [rubygems/rubygems] util/rubocop -A --only Lint/UnusedBlockArgument
- https://github.com/rubygems/rubygems/commit/d8efd919db
-
09:50 AM Revision 7ab4ede4 (git): [rubygems/rubygems] util/rubocop -A --only Performance/TimesMap
- https://github.com/rubygems/rubygems/commit/976a351f8b
-
09:50 AM Revision 139f0927 (git): [rubygems/rubygems] util/rubocop -A --only Performance/DoubleStartEndWith
- https://github.com/rubygems/rubygems/commit/893da27e7c
-
09:50 AM Revision 65752b61 (git): [rubygems/rubygems] util/rubocop -A --only Performance/Count
- https://github.com/rubygems/rubygems/commit/46d5d6d1d3
-
09:50 AM Revision 2eb99350 (git): [rubygems/rubygems] Removed rubocop:disable detected by Lint/RedundantCopDisableDirective
- https://github.com/rubygems/rubygems/commit/07b0da6c24
-
09:50 AM Revision 2dddac04 (git): [rubygems/rubygems] util/rubocop -a test/rubygems/helper.rb and styling
- https://github.com/rubygems/rubygems/commit/fe331736d4
-
09:50 AM Revision fe1b0661 (git): [rubygems/rubygems] Removed RUBY_PATCHLEVEL and modify condition for ruby_version
- https://github.com/rubygems/rubygems/commit/b420e287a3
-
09:50 AM Revision b09973a9 (git): [rubygems/rubygems] Also removed condition of RUBY_PATCHLEVEL
- https://github.com/rubygems/rubygems/commit/16f381be4b
-
09:50 AM Revision 8e40d1e1 (git): [rubygems/rubygems] RUBY_PATCHLEVEL was provided after Ruby 1.8.5
- https://github.com/rubygems/rubygems/commit/7750d5c460
-
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... -
09:50 AM Revision dd0f0a5e (git): [rubygems/rubygems] Fix `gem uninstall` with `--install-dir`
- https://github.com/rubygems/rubygems/commit/ac23687353
-
09:50 AM Revision 123bedd2 (git): [rubygems/rubygems] Extract some common logic to a test helper
- https://github.com/rubygems/rubygems/commit/ef4741b7cb
-
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
======================================================================... -
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
-
09:50 AM Revision 8371c0ea (git): [rubygems/rubygems] Fix incorrect error message when multiple platforms are locked
- https://github.com/rubygems/rubygems/commit/24d2bf9cb2
-
09:50 AM Revision d5121992 (git): [rubygems/rubygems] Remove unnecessary `specific_local_platform` test helper
- https://github.com/rubygems/rubygems/commit/86b574824d
-
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 -
09:50 AM Revision 9492efbe (git): [rubygems/rubygems] Remove unnecessary `local` helper
- https://github.com/rubygems/rubygems/commit/27ed6870ce
-
09:50 AM Revision 8a8ade7e (git): [rubygems/rubygems] Use more common linux platform for specs
- https://github.com/rubygems/rubygems/commit/3841a58095
-
09:50 AM Revision f22765f5 (git): [rubygems/rubygems] Use splatted args to `lockfile_platforms_for`
- Nicer :)
https://github.com/rubygems/rubygems/commit/c0ab2893c3 -
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, ... -
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. -
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 ... -
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 ... - 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... -
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... -
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.
-
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... - 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... - 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... -
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`... -
01:54 AM Bug #19464: YJIT miscompiles `BasicObject#__send__` to alias methods of `send`
- ruby_3_2 b73a07359758a9034996752e981e09ddaffe8d87 merged revision(s) 0eb634ae73cb327ede833b72492f912792a4a9d5.
-
01:15 AM Feature #18951: Object#with to set and restore attributes around a block
- temp_set might be a better method name
-
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.