Activity
From 08/09/2025 to 08/15/2025
08/15/2025
-
10:02 PM Revision 11c8bad6 (git): CI: Also show errors in rust-warnings.yml [ci skip]
- At under a minute, this check runs faster than a lot of the other CI
checks, so we might as well show errors from `cargo check` to serve as a
smoke check in addition to surfacing warnings. -
08:57 PM Revision e4093711 (git): zjit_bisect.rb: Fix pipe deadlock; log when timed out [ci skip]
- I spent a long time bisecting some largish program before realizing
that failure was in fact coming from the child timing out due to
zjit_bisect.rb not clearing the stdout and stderr pipe.
Fix the pipe deadlock by redirecting to /dev/nu... -
08:23 PM Revision 49e4d21d (git): ZJIT: Share function stub code using a trampoline (#14225)
-
07:43 PM Revision 149add89 (git): Don't free Ractors in GC shutdown
- rb_gc_shutdown_call_finalizer_p returns false for threads and fibers, so
it should probably do the same for all Ractors (not just the main one).
This hopefully mitigates a bug where, at exit, rb_ractor_terminate_all
gets all Ractors to ... -
07:29 PM Revision 88906e13 (git): Skip an unstable Ractor test for windows (#14247)
- https://github.com/ruby/ruby/actions/runs/16995599804/job/48185434078?pr=14242
- 06:31 PM Revision 2a1210f7 (git): ZJIT: Implement getspecial (#13642)
- ZJIT: Implement getspecial in ZJIT
Adds support for the getspecial instruction in zjit.
We split getspecial into two instructions, one for special symbols
(`$&`, $'`, etc) and one for special backrefs (`$1`, `$2`, etc).
Co-authored-by... -
06:26 PM Revision 1d7ed956 (git): ZJIT: Make --zjit-dump-hir work with HIR opt disabled (#14242)
-
06:14 PM Misc #21508: DevMeeting-2025-08-21
- * [Feature #21533] Introduce `Time#am?` and `Time#pm?`
* Thoughts on the name and functionality?
* I think this is the less ambiguous way to have info about a part of the day that works across cultures (and is consistent with strft... -
06:13 PM Revision 2f2e2bd7 (git): Relax a delta for an unstable test (#14246)
- https://github.com/ruby/ruby/actions/runs/16995978143/job/48186652826?pr=14244
-
05:59 PM Revision 97cffb95 (git): Skip an unstable test for macOS (#14245)
-
05:53 PM Revision 12ef01b5 (git): Skip an unstable test for macOS
- https://github.com/ruby/ruby/actions/runs/16983250181/job/48147338735
https://github.com/ruby/ruby/actions/runs/16994020689/job/48180211762 -
05:53 PM Revision 9deaf68c (git): Increase timeout for a flaky test
- https://github.com/ruby/ruby/actions/runs/16983250181/job/48147338699
-
05:41 PM Revision 0d0c051b (git): Don't check for stack overflow when ec is NULL (#14236)
- Co-authored-by: Nobuyoshi Nakada <[email protected]>
- 05:25 PM Revision 7c67060d (git): Fix enc_list across ractors
- Calling rb_ary_replace(copy, orig) can modify orig, which is not safe
across ractors because orig is shared (it's the global encoding list).
Hoping to address CI failures such as https://ci.rvm.jp/results/trunk-gc-asserts@ruby-sp2-noble... -
04:35 PM Misc #20013 (Closed): Travis CI status
- We are migrating the ppc64le/s390x CI from Travis CI to GitHub Actions.
And I deleted the `.travis.yml` on the following commit. So, I would close this ticket. Thank you Travis.
https://github.com/ruby/ruby/commit/efe6813b1f5433cd19e0b... - 04:05 PM Revision 8f7e7bfc (git): ZJIT: Set PC before function_stub_hit_body (#14234)
-
01:30 PM Revision 79f52020 (git): Don't change Encoding.default_internal in assert_raise_with_message
- For most tests (except two), we don't need to change Encoding.default_internal
in assert_raise_with_message. We're trying to run the test suite across
multiple Ractors and modifying Encoding.default_internal can cause other
concurrently ... -
09:36 AM Feature #21545 (Open): #try_dig, a dig that returns early if it cannot dig deeper
- Ruby offers `dig` for traversing nested hashes and arrays. It is strict and will raise if an intermediary object does not support `dig`. In many cases we only want to attempt the lookup and return `nil` if it cannot be followed, without ...
-
07:49 AM Misc #21544 (Open): CI: Launchable: Early flake detection
- I'm a software engineer at Launchable, and I'd like to propose the mechanism to detect potential flaky tests.
## Background
In the current Ruby CI, it's easy for flaky tests to be unintentionally merged into the master branch. Even... -
04:54 AM Revision 42c08e45 (git): Fix RBS tests (#14220)
- * Use unreleased version of rbs
* Skip all failing tests on windows - 04:37 AM Revision efe6813b (git): Drop Travis CI.
- Travis CI has not been running since 2 months ago.
https://app.travis-ci.com/github/ruby/ruby/builds
As we are migrating the ppc64le/s390x CI cases from Travis to GitHub Actions,
I will drop the `.travis.yml`, while the GitHub Actions p... -
01:51 AM Revision d025bc23 (git): Remove duplicated line of code in thread_sync.c
-
01:51 AM Revision b0cd89a5 (git): [DOC] Tweaks for GC.stress and GC.stress=
-
01:47 AM Revision 12e42f72 (git): [DOC] Tweaks for GC.stat
08/14/2025
- 11:41 PM Revision 5e8f9ea4 (git): Increase timeout for a flaky test (#14233)
- https://github.com/ruby/ruby/actions/runs/16977882022/job/48131284556
- 10:12 PM Revision 70b4b6fe (git): Do not skip CI when it mentions "document" (#14232)
- 10:09 PM Revision e305a672 (git): Skip an unstable Ractor test for macOS (#14231)
- https://github.com/ruby/ruby/actions/runs/16977094733/job/48128667252?pr=14229
- 09:54 PM Revision 9cf27e0a (git): Increase timeout for a flaky test (#14228)
- https://github.com/ruby/ruby/actions/runs/16974964229/job/48121382131
- 09:52 PM Revision 9bbd2497 (git): Fix a static assertion incompatible with C++98 (#14229)
-
09:01 PM Revision 38558dd9 (git): YJIT: Fix `defined?(yield)` and `block_given?` at top level
- Previously, YJIT returned truthy for the block given query at the top
level. That's incorrect because the top level script never receives a
block, and `yield` is a syntax error there.
Inside methods, the number of hops to get from `iseq... -
07:38 PM Revision b080fcd3 (git): ZJIT: Fix assert failure on JIT combo build
- Previously, when `./configure --enable-yjit=dev --enable-zjit` JIT_DESCRIPTION was
defined to be "ZJIT", but when running with `--yjit`, ruby_set_yjit_description()
calls `define_ruby_description("+YJIT dev")`, which is longer than the
f... -
07:38 PM Revision fdb831fd (git): ZJIT: Look for RUBY_ZJIT_ENABLE in combo build with YJIT
-
06:23 PM Revision 88d71eb0 (git): Skip an unstable test for s390x and windows
- https://github.com/ruby/ruby/actions/runs/16971197634/job/48108366805?pr=14223
https://github.com/ruby/ruby/actions/runs/16971558478/job/48109641049?pr=14223 -
06:23 PM Revision 68682a5d (git): Increase timeout for failing tests
- https://github.com/ruby/ruby/actions/runs/16969921157/job/48103809963
https://github.com/ruby/ruby/actions/runs/16969655024/job/48102876839 -
05:53 PM Revision 5aa51124 (git): Fix documentation about struct RData's data field
- Also adds a static assertion to ensure the documented behavior stays
true, namely that the data field is at the same position in the RData
and RTypedData structs. -
03:42 PM Revision a04555c8 (git): [ruby/prism] Be more defensive in the parser translator lexer
- Generally I have been good about safely accessing the tokens but failed
to properly guard against no tokens in places
where it could theoretically happen through invalid syntax.
I added a test case for one occurance, other changes are t... - 03:31 PM Revision a677220a (git): ZJIT: Stop duplicating context-less side exits (#14215)
-
03:24 PM Bug #21534: ppc64le bootstraptest/test_ractor.rb aborted (core dumped) on configure cppflags=-DRUBY_DEBUG and -O3
- I noticed that the `cppflags=-DRUBY_DEBUG` used for the `configure` option caused the above error.
I tested the following 2 cases at the latest master branch commit <c30d900547a65c7996a3f868aa17d2a842734071> on the RubyCI Ubuntu (ppc6... -
11:52 AM Bug #21541: make install is failing due to using rdoc repo
- I think the best solution is to make sure `rdoc` always commit the generated files with CI checks verifying that they're up to date. ~~`prism`,~~ `rbs`, and `debug` (tho it's for readme) already do this and I don't see much issues cause...
-
02:31 AM Bug #21541: make install is failing due to using rdoc repo
- @Eregon,
I'll look at adding a CLI check to CI. -
06:19 AM Feature #21543 (Closed): Point ArgumentError to the call site
- Consider this buggy code:
```ruby
def foo(x, y)
end
foo(1)
```
The resulting error is:
```
$ ruby test.rb
test.rb:1:in `foo': wrong number of arguments (given 1, expected 2) (ArgumentError)
from test.rb:4:in `<main>'
... -
04:54 AM Revision c30d9005 (git): Revert "[DOC] Try the latest RDoc"
- This reverts commit 8f6f9e88c70bbae08b2830d2bec63c89d6367b27.
Confirmed to work as expected, wait until the rdoc is released. -
04:06 AM Revision 21be7417 (git): [DOC] Fix quoting
- 03:52 AM Revision 83a28604 (git): [ruby/resolv] Require rbconfig in resolv.rb
- Uses ::RbConfig::CONFIG['host_os']
Found with ruby --disable-gems -e '...'
https://github.com/ruby/resolv/commit/5a5a81ce98 -
03:39 AM Revision 9b576cd6 (git): Extract `ruby_api_version_name`
- 12:59 AM Revision c8233db2 (git): Ignore net-imap failures on Windows (#14216)
- 12:32 AM Revision cb281653 (git): ZJIT: Enable or remove comments from YJIT (#14214)
08/13/2025
- 10:13 PM Revision c9346a16 (git): [ruby/resolv] win32/resolv: add headers to GetNetworkParams check.
- On 32-bit Cygwin at least, it was failing to find that function,
presumably due to it being stdcall.
Signed-off-by: Jeremy Drake <[email protected]>
https://github.com/ruby/resolv/commit/bceafef74b -
08:57 PM Bug #21541: make install is failing due to using rdoc repo
- One idea: probably I should add failures from ruby/ruby-dev-builder as notification to the CRuby Slack in the CI alerts channel, that might be a good way to notice this kind of problem early.
When ruby/ruby-dev-builder fails, in most ca... -
08:53 PM Bug #21541: make install is failing due to using rdoc repo
- @MSP-Greg Could you make a PR adding a CI job to ruby/ruby that `make install` + run that [cli_test.rb](https://github.com/ruby/ruby-dev-builder/blob/master/cli_test.rb), like in https://github.com/ruby/ruby-dev-builder/actions/runs/1694...
-
01:25 PM Bug #21541 (Closed): make install is failing due to using rdoc repo
- Currently, ruby-dev-builder & ruby-loco are failing due to https://github.com/ruby/ruby/commit/8f6f9e88c70bbae, which changed the rdoc 'bundled gem' install from using a released gem to the repo. This results in an invalid rdoc installa...
- 08:04 PM Revision 549a326f (git): ZJIT: Implement `StringIntern` codegen (#14207)
- * ZJIT: Add test and implement display for StringIntern HIR
Co-authored-by: Emily Samp <[email protected]>
* ZJIT: Implement StringIntern codegen
Co-authored-by: Emily Samp <[email protected]>
* ZJIT: Fix StringIntern's ret... - 08:03 PM Revision 2b16f27a (git): ZJIT: Fix `ObjToString` rewrite (#14196)
- ZJIT: Fix ObjToString rewrite
Currently, the rewrite for `ObjToString` always replaces it with a
`SendWithoutBlock(to_s)` instruction when the receiver is not a
string literal. This is incorrect because it calls `to_s` on the
receiver e... -
06:42 PM Revision ff622978 (git): [DOC] Tweaks for GC total time methods
- 06:01 PM Revision 943d9f82 (git): ZJIT: Don't eliminate NewHash with operands
- Hashing and checking operands for equality is re-entrant. We could later
optimize this to check for hash/eq methods on operands and eliminate if
they don't have side effects, but this is fine for now. -
05:54 PM Revision 2083fa89 (git): Implement `gen_fields_tbl` cache
- There is a high likelyhood that `rb_obj_fields` is called
consecutively for the same object.
If we keep a cache of the last IMEMO/fields we interacted with,
we can save having to lookup the `gen_fields_tbl`, synchronize
the VM lock, etc... -
05:53 PM Revision 10aa4134 (git): imemo_fields: store owner object in RBasic.klass
- It is much more convenient than storing the klass, especially
when dealing with `object_id` as it allows to update the id2ref
table without having to dereference the owner, which may be
garbage at that point. - 05:52 PM Revision ad12db4b (git): ZJIT: Only validate HIR in debug mode
-
03:40 PM Feature #21542 (Third Party's Issue): logger gem: Context API
- Proposal done as a [github issue](https://github.com/ruby/logger/issues/131) with [WIP implementation](https://github.com/ruby/logger/pull/132) for discussion purposes.
-
03:24 PM Revision 31ff07ed (git): Add link to Ruby options doc in help text
- Adds link to https://docs.ruby-lang.org/en/master/ruby/options_md.html in
Ruby help text (-h and --help). -
02:53 PM Revision 7595ac9a (git): [DOC] Tweaks for GC.count
-
02:45 AM Revision 40d07f26 (git): [DOC] Move Therad#join under Thread in NEWS-3.0.0.md
- 12:39 AM Revision df7d9812 (git): ZJIT: Prepare non-leaf calls for SetGlobal (#14197)
- When trace_var is used, setting a global variable can cause exceptions
to be raised. We need to prepare for that.
08/12/2025
- 10:19 PM Revision 1afc07e8 (git): Allow encodings to be autoloaded through transcoding functions
- Make sure VM lock is not held when calling `load_transcoder_entry`, as
that causes deadlock inside ractors. `String#encode` now works inside
ractors, among others.
Atomic load the rb_encoding_list
Without this, wbcheck would sometimes ... -
09:06 PM Revision 31e8a9fc (git): [DOC] Tweaks for GC.latest_gc_info
-
09:04 PM Revision 8b530e12 (git): [DOC] Tweaks for GC.enable
-
09:04 PM Revision b934f989 (git): [DOC] Tweaks for GC.disable
- 08:40 PM Revision 231407c2 (git): ZJIT: Avoid compiling failed ISEQs repeatedly (#14195)
-
07:57 PM Revision 360be94d (git): RTypedData: keep direct reference to IMEMO/fields
- Similar to f3206cc79bec2fd852e81ec56de59f0a67ab32b7 but for TypedData.
It's quite common for TypedData objects to have a mix of reference in
their struct and some ivars.
Since we do happen to have 8B free in the RtypedData struct, we co... -
07:56 PM Revision 85c52079 (git): set.c: Store `set_table->bins` at the end of `set_table->entries`
- This saves one pointer in `struct set_table`, which would allow
`Set` objects to still fit in 80B TypedData slots even if RTypedData
goes from 32B to 40B large.
The existing set benchmark seem to show this doesn't have a very
significan... -
07:49 PM Feature #17316: On memoization
- ixti (Alexey Zapparov) wrote in #note-14:
> Firstly, rbocop is totally optional. Secondly, even rubocop is suggesting something more elegant than the above example:
Ah yes you're right. I read "The new rule enforces this syntax" and ... -
04:30 PM Feature #17316: On memoization
- > > ```
> ...
Firstly, rbocop is totally optional. Secondly, even rubocop is suggesting something more elegant than the above example:
```
def current_user
return @current_user if defined?(@current_user)
@current_user = User... -
06:08 PM Revision 507b1e4b (git): [ruby/openssl] pkey: skip tests using invalid keys in the FIPS mode
- In OpenSSL's master branch, importing/loading a key in the FIPS mode
automatically performs a pair-wise consistency check. This breaks tests
for OpenSSL::PKey::EC#check_key and DH#params_ok? as they use
deliberately invalid keys. These m... -
05:38 PM Revision 4cf05ea7 (git): Replace stdatomic ops with explicit mem order
- My previous pass missed these atomic operations using operators.
-
05:38 PM Revision cb360b0b (git): Implement rbimpl_atomic_value_load
- This only adds the rbimpl_ version to include/ruby/atomic.h so that it
is not a new public interface.
We were already using RUBY_ATOMIC_VALUE_LOAD in a few locations. This
will allow us to use other memory orders internally when desired. -
05:38 PM Revision 77d29ef7 (git): Convert ATOMIC_LOAD_RELAXED to use new rbimpl_*
-
05:38 PM Revision 1d9f7609 (git): Update rbimpl_atomic_* to all take a memory order
-
05:38 PM Revision 2f95eb4e (git): Rename rbimpl_atomic.*_set to _store
- "store" is the terminology the C11 standard uses, which allows us to use
this as a fallback.
This only changes the private rbimpl_ version of the method,
RUBY_ATOMIC_SET et al. keep the same name. -
05:32 PM Revision a9230e76 (git): Make Enumerator::Product write-barrier protected
-
05:32 PM Revision 3e1e2bda (git): Make Enumerator::Chain write-barrier protected
-
05:00 PM Revision 998be6b3 (git): ZJIT: Add flag to disable the HIR optimizer (#14181)
- Also add a check in the bisect script that can assign blame to the HIR
optimizer. - 04:54 PM Revision e26ab5db (git): ZJIT: Avoid splitting add_into/sub_into for x86_64 (#14177)
- * ZJIT: Avoid splitting add_into/sub_into
* Require add_into/sub_into to take a Reg -
02:43 PM Revision c5c894c6 (git): [DOC] Markup example code as ruby
-
02:43 PM Revision cefd4a23 (git): [DOC] Use backticks instead of `<tt>` except for nested markups
-
02:43 PM Revision 74b45dc3 (git): [DOC] Use backticks instead of `+` in markdown mode
-
02:43 PM Revision e07510d1 (git): [DOC] Markup constants as code
-
02:43 PM Revision 58dbfe52 (git): [DOC] Fix a typo
-
02:35 PM Revision 8f6f9e88 (git): [DOC] Try the latest RDoc
-
02:33 PM Revision 37e991b0 (git): [DOC] Use the specified revision RDoc
-
02:12 PM Revision 814eaf33 (git): Use rb_gc_mark_and_move for autoload_data
-
02:12 PM Revision 0019e7c7 (git): Use rb_gc_mark_and_move for autoload_const
- 01:24 PM Revision 9fa87a66 (git): CI: ubuntu.yml: Skip user ground id test on ppc64le and s390x
- This is a temporary workaround.
- 01:24 PM Revision 05b654b4 (git): CI: ubuntu.yml: Set HOME env on ppc64le and s390x
- This is a temporary workaround.
- 01:24 PM Revision 099df0b4 (git): CI: ubuntu.yml: Add GitHub Actions s390x case
- Add the s390x case using GitHub Actions ppc64le/s390x service.
https://github.com/IBM/actionspz
We can run the ppc64le/s390x cases only in the registered upstream repositories.
https://github.com/IBM/actionspz/blob/main/docs/FAQ.md#what... -
09:54 AM Revision e2aeb7d9 (git): Use `$(SRC_FILE)` and `$(OS_DEST_FILE)`
- NMake combines VPATH and stem with a backslash. The resulting source
name is embedded verbatim, backslash included, into the generated file
using the `#line` pragma (e.g., "src\gc.rb"). This causes the warning
"C4129: Unrecognized char... -
09:19 AM Revision 401932c1 (git): NMake needs caret to escape a hash sign
-
08:24 AM Bug #21540: prism allows `foo && return bar` when parse.y doesn't
- Right, I understand. `foo && (return bar)` would be allowed, thanks for clarifying (works as expected in prism and parse.y)
-
08:00 AM Bug #21540: prism allows `foo && return bar` when parse.y doesn't
- It is because of the precedence, and has been since 1.x at least.
-
06:53 AM Bug #21540 (Closed): prism allows `foo && return bar` when parse.y doesn't
- Code such as `foo && return bar` has been disallowed in ruby since at least Ruby 2.0. Prism allows it though:
```
$ ruby -cve "a && return foo"
ruby 3.5.0dev (2025-08-08T02:57:23Z master 3ad26d0501) +PRISM [x86_64-linux]
Syntax OK
... -
07:04 AM Revision 6b2d9ed2 (git): Handle preperly comments in middle of lines in gems/bundled_gems
-
05:11 AM Bug #21111: RbConfig::CONFIG['CXX'] quietly set to "false" when Ruby cannot build C++ programs
- > RbConfig::CONFIG['CXX'] to c++
I like that, a reasonable default. I think that's half the battle. Going the rest of the mile, would involve helping people understand the system when it fails.
Do we have any ability to annotate a ... -
02:14 AM Revision 428937a5 (git): [DOC] Fix docs for GC.config
- After commit 61fff8a, GC.config now returns the same hash for getting and
setting. -
02:02 AM Revision 306df129 (git): [DOC] New .md file to replace doc/globals.rdoc
- 01:16 AM Revision f2c7968a (git): [ruby/stringio] Fix test name
- (https://github.com/ruby/stringio/pull/139)
https://github.com/ruby/stringio/commit/0edc8e22da -
12:12 AM Revision 8b1afbc6 (git): CI: Surface Rust warnings on PRs that touch any Rust code
- Rust PRs will have a failed CI step if they trigger any warnings.
This helps us stay on top of warnings from new Rust releases and
also ones we accidentally write.
Fix a typo for demo, since this only runs when Rust files are changed.
08/11/2025
-
10:53 PM Revision 0070c26a (git): ZJIT: CI: Use Rust version built into GitHub Actions image
- Saves the work of installing Rust for most jobs. Keep a job on each
platform that tests 1.85.0, the minimum supported version, though. - 10:37 PM Revision 4da569b5 (git): [DOC] YJIT: Add YJIT to autolink_excluded_words
- 10:37 PM Revision 39effad4 (git): [DOC] ZJIT: Add ZJIT to autolink_excluded_words
- This tells RDoc to not automatically link to the `ZJIT` module so we
don't need to keep escaping the word ZJIT in the documentation/comments. - 10:36 PM Revision 9fb34f4f (git): ZJIT: Add --zjit-exec-mem-size (#14175)
- * ZJIT: Add --zjit-exec-mem-size
* Add a comment about the limit - 10:07 PM Revision e29d3334 (git): ZJIT: Implement `concatstrings` insn (#14154)
- Co-authored-by: Alexander Momchilov <[email protected]>
-
09:43 PM Feature #17316: On memoization
- marksiemers (Mark Siemers) wrote in #note-12:
> A big motivation for this comes from a recent change to rubocop-rails, which is now enforcing "Rails/FindByOrAssignmentMemoization" (see: https://rails.rubystyle.guide/\#find-by-memoizatio... -
07:37 PM Feature #17316: On memoization
- I agree with Sebastian that an operator is the best way to keep this code elegant. My proposal is to:
**Introduce a new operator `@||` that does instance variable aware memoization succinctly**
```ruby
# Allow this syntax
def result
... - 09:35 PM Revision 4f34eddb (git): YJIT, ZJIT: Fix JITs compiling prelude (#14171)
-
08:27 PM Bug #21151: IO and StringIO raise FrozenError even for read-only methods
- Edit: previously I referred to non-writable state, but in actuality any state of `StringIO` or `IO` should be safe to read even if the object itself is frozen. There's no need for either type to be mutable just to read `sync` or `externa...
-
08:21 PM Bug #21151: IO and StringIO raise FrozenError even for read-only methods
- > for an IO to be read it has to be writable
In order to read data out of an IO, sure. But the methods I mentioned do not require write access to the IO; they just return non-writable state.
> ...
The non-writeable state could be p... - 08:21 PM Revision 31955052 (git): ZJIT: Add compile/profile/GC/invalidation time stats (#14158)
- Co-authored-by: Stan Lo <[email protected]>
- 08:18 PM Revision 69686685 (git): ZJIT: Add RubyVM::ZJIT.enabled? (#14159)
- Co-authored-by: Max Bernstein <[email protected]>
-
07:49 PM Revision 6e3790b1 (git): YJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0
-
07:49 PM Revision 5b956fbf (git): ZJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0
-
07:21 PM Revision c6614d4c (git): YJIT: Fix `mismatched_lifetime_syntaxes`, new in Rust 1.89.0
-
05:07 PM Feature #21539 (Open): Facilitate walking native and interpreter (and jit?) stacks from outside of the ruby process
- While ruby does have a great API for getting stack traces within the ruby processes, as used by profilers like vernier and stackprof, there are some projects which aim to profile ruby from outside of the process.
Some examples include... -
04:20 PM Bug #21534: ppc64le bootstraptest/test_ractor.rb aborted (core dumped) on configure cppflags=-DRUBY_DEBUG and -O3
- I am also seeing the following test failures in the `make test-all` below on GitHub Actions ppc64le 24.04. It seems that the first 2 failing tests are related to ractor.
https://github.com/ruby/ruby/actions/runs/16884291029/job/478279... -
02:20 PM Revision 61fff8a9 (git): Fix return value of setting in GC.config
- gc_config_set returned rb_gc_impl_config_get, but gc_config_get also added
the implementation key to the return value. This caused the return value
of GC.config to differ depending on whether the optional hash argument is
provided or not. -
01:26 PM Bug #21538 (Closed): initialize_dup not called when duping class/module
- Not sure whether this is expected behaviour or not, but just leaving it here to start the debate on whether callbacks like `initialize_dup` are supposed to be called when a module or class is duped (the same happens with `initialize_copy...
-
01:25 PM Revision 4775d1ff (git): Add NODE IN locations
- Add locations to struct `RNode_IN`.
memo:
```bash
> ruby -e 'case 1; in 2 then 3; end' --parser=prism --dump=parsetree
@ ProgramNode (location: (1,0)-(1,24))
+-- locals: []
+-- statements:
@ StatementsNode (location: (1,0)-(1,24))
... -
01:25 PM Revision e0b72ad2 (git): [DOC] Update JIT options
-
01:24 PM Revision ad146320 (git): [DOC] Tweaks for GC.config
-
01:24 PM Revision 62b5fe89 (git): [DOC] Tweaks for GC.config
- 01:22 PM Revision c914389a (git): Update string_casecmp.yml
- 01:22 PM Revision 09d6cfc5 (git): Update test_string.rb
- 01:22 PM Revision 5e324ac1 (git): Optimize `str_casecmp` length check using pointer end
-
11:29 AM Revision df11c073 (git): [DOC] Fix `vssetup.cmd` arguments
-
11:29 AM Revision b0a4e239 (git): CI: mingw: Use the official actions for msys2
- Because ruby/setup-ruby is affected to test result.
-
11:29 AM Revision 4adb6f69 (git): CI: mingw: Set up msys2 environment variables
-
11:29 AM Revision a443cd01 (git): CI: mingw: Set `cmd` as the default shell
- It is used in more steps than `sh`.
-
11:29 AM Revision cc4eba00 (git): Win: Use `@` instead of `echo off` in `vssetup.cmd`
- `echo off` affects the batch files called from this file as well.
-
11:29 AM Revision c1f9f0a7 (git): CI: windows: Windows-2019 or earlier no longer used
-
11:29 AM Revision 90f81994 (git): CI: mingw: Tweak misc system & package info
08/10/2025
-
08:57 PM Feature #20205: Enable `frozen_string_literal` by default
- byroot (Jean Boussier) wrote in #note-73:
> it probably doesn't make a huge difference, but your regexp is a bit too strict
It probably makes even less of a difference, but magic comments are also indentable, case-insensitive, and ca... -
05:31 PM Bug #21537 (Open): rb_ractor_sched_barrier_start() hangs on Windows
- The following script hangs at `GC.start` indefinitely. Pressing Ctrl+C on the terminal interrupts the `sleep` and it appears to resume and prints "in_ractor".
```ruby
Ractor.new {
sleep 1
GC.start
puts "in_ractor"
}
sleep
... -
07:46 AM Bug #21535: `NoMethodError` becomes `NameError`when using `...` delegation and method call indirection
- I ran a bisect and as suspected this regression was caused by the forward call optimization in https://github.com/ruby/ruby/commit/cdf33ed5f37f9649c482c3ba1d245f0d80ac01ce
FYI: @tenderlovemaking
08/09/2025
-
11:32 AM Revision 2a6345e9 (git): time.c: fix time_mark_and_move when WIDEVALUE_IS_WIDER
- In such case the pointer need to be casted.
-
11:16 AM Revision 77b3495e (git): [ruby/stringio] Adjust indent [ci skip]
- https://github.com/ruby/stringio/commit/ac6292c17f
-
11:12 AM Revision b4d5ebcd (git): [ruby/stringio] Fix SEGV at eof? on null StringIO
- https://github.com/ruby/stringio/commit/29b9133332
-
11:12 AM Revision 31f2d899 (git): [ruby/stringio] Fix SEGV at read/pread on null StringIO
- https://github.com/ruby/stringio/commit/113dd5a55e
- 09:30 AM Revision 23c01139 (git): [ruby/stringio] fix: prevent segfault in StringIO#seek with SEEK_END
- on null device
(https://github.com/ruby/stringio/pull/137)
Fixes segmentation fault when calling `seek` with `SEEK_END` on null
device StringIO created by
`StringIO.new(nil)`.
```bash
ruby -e "require 'stringio'; StringIO.new(nil).se... -
03:49 AM Bug #21536 (Closed): ERROR: Error installing tk:
- The tk extension hasn't shipped with Ruby since Ruby 2.4. The correct place to report this would be https://github.com/ruby/tk/issues.
That being said, you could try compiling with `CFLAGS=-std=c99` and/or `CC=c99` and see if that fix... -
12:57 AM Bug #21536 (Closed): ERROR: Error installing tk:
- ``` shell
kkar4 :: ~ » pacman -Ss tcl | grep install
extra/tcl 8.6.16-1 [installed]
extra/tk 8.6.16-1 [installed]
```
``` shell
kkar4 :: ~ » CFLAGS="-Wold-style-definition" gem install tk
Building native extensions. This co... -
02:10 AM Revision 60ca525f (git): [DOC] Array#map! fix to indicate return is self
-
02:10 AM Revision 4209ebb1 (git): [DOC] Array#fill fix to indicate return is self
- doc currently indicates the return value as `new_array` but then in the first sentence explains "always returns +self+ (never a new array)".
- 02:02 AM Revision 22fe80f2 (git): Fix Typo in Regular Expressions docs (_regexp.rdoc)
- Small fix for a typo in the regular expression docs. The line of code above this change does not produce the output shown in the docs. With this change the docs will show the correct output for this example of using regex quantifiers.
-
01:39 AM Feature #21533: Introduce `Time#am?` and `Time#pm?`
- Using 12pm for noon is indeed bad practice. Using 12am for midnight is even worse practice, because without context it's unclear whether it's at the beginning or the end of a certain date.
But it is practice, at least in certain parts... -
12:13 AM Revision d80c03d2 (git): Fix id2ref table build when GC in progress
- Previously, if GC was in progress when we're initially building the
id2ref table, it could see the empty table and then crash when trying to
remove ids from it. This commit fixes the bug by only publishing the
table after GC is done.
Co...