Project

General

Profile

Activity

From 04/24/2024 to 04/30/2024

04/30/2024

11:31 PM Revision 0c135966 (git): [ruby/delegate] test: remove needless mu_pp
It's for minitest. We don't need it with test-unit.
https://github.com/ruby/delegate/commit/447cd43973
Sutou Kouhei
09:51 PM Bug #20457: Final `return` is eliminated from the AST
Eregon (Benoit Daloze) wrote in #note-2:
> I want to add for context that naturally Prism already provides this information (and much more) and has a much better API.
> ...
From what I understand, lrama intends to eventually provide th...
tenderlovemaking (Aaron Patterson)
05:57 PM Revision ade22339 (git): YJIT: print msg to stderr when RubyVM::YJIT.disasm not available (#10688)
* YJIT: print msg to stderr when RubyVM::YJIT.disasm not available
Print a more useful error message when people try to use this
feature without YJIT dev.
Also fix an issue with .gitignore file on macOS
* Update yjit.rb
Co-authored-b...
maximecb (Maxime Chevalier-Boisvert)
05:11 PM Misc #20441 (Closed): Should passing keyword args to method_name(*) be an error?
alanwu (Alan Wu)
05:09 PM Bug #20454 (Third Party's Issue): IRB echoes excessive input in dumb terminal
IRB has its own release cycles and bug tracker at https://github.com/ruby/irb/issues
Sorry for the redirection, but please file this issue there.
alanwu (Alan Wu)
05:04 PM Revision bd419a65 (git): Removed unused TICK_TYPE 2
TICK_TYPE of 2 can never be used because we hard code TICK_TYPE to 1. peterzhu2118 (Peter Zhu)
04:51 PM Revision 614187f8 (git): [ruby/reline] Fix completion dialog position when completed part is
wordwrapped
(https://github.com/ruby/reline/pull/692)
https://github.com/ruby/reline/commit/2d9acd16fe
tompng (tomoya ishida)
03:34 PM Revision d7ba0fec (git): [rubygems/rubygems] Update lib/rubygems/package.rb
https://github.com/rubygems/rubygems/commit/c4e75b9f74 segiddins (Samuel Giddins)
03:34 PM Revision d950609e (git): [rubygems/rubygems] Add a limit to the size of the metadata and checksums files in a gem package.
This is to prevent a malicious gem from causing a denial of service by
including a very large metadata or checksums file,
which is then read into memory in its entirety just by opening the gem package.
This is guaranteed to limit the am...
segiddins (Samuel Giddins)
03:23 PM Revision e0949c3f (git): [ruby/openssl] Remove trailing space in test_ssl.rb
https://github.com/ruby/openssl/commit/911a31335f peterzhu2118 (Peter Zhu)
03:05 PM Revision 9d75d9f0 (git): [ruby/openssl] Update Cipher#name to match Digest#name explanation
https://github.com/ruby/openssl/commit/79e6dead6e Bart de Water
03:05 PM Revision cc6657e5 (git): [ruby/openssl] Add OpenSSL::Digest.digests to get a list of available digests
https://github.com/ruby/openssl/commit/08dd3c73b7 Bart de Water
02:57 PM Revision 1ca4c52b (git): Free unused_block_warning_table when RUBY_FREE_AT_EXIT
peterzhu2118 (Peter Zhu)
02:51 PM Revision 368ce075 (git): [ruby/openssl] Further clarification of documentation.
https://github.com/ruby/openssl/commit/0697f2f8b4 Samuel Williams
02:51 PM Revision f1afae24 (git): [ruby/openssl] More documentation.
https://github.com/ruby/openssl/commit/c8377eaf8d Samuel Williams
02:51 PM Revision 1699772a (git): [ruby/openssl] Introduce basic support for `close_read` and `close_write`.
https://github.com/ruby/openssl/commit/c99d24cee9 Samuel Williams
10:29 AM Revision 8fb430c1 (git): [ruby/irb] Restore MAIN_CONTEXT correctly
(https://github.com/ruby/irb/pull/937)
https://github.com/ruby/irb/commit/c41f460a70
tompng (tomoya ishida)
07:45 AM Bug #20426 (Closed): crash on aarch64 linux when using fibers (regression with 3.3)
hsbt (Hiroshi SHIBATA)
06:40 AM Bug #20461: Unreadable pipe included in the readable IO of IO.select
Using git bisect, I found that the following commit is the cause of the bug:
https://github.com/ruby/ruby/commit/49a55f28abdcf3dea1f84ec5b59cfbedc37f44bf
yamam (Masanari Yamamoto)
05:02 AM Revision 1c991f3b (git): [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.
This commit fixes the following errors in the tests.
Because the OpenSSL project changed the code to make the time string format
without second invalid. So, we drop the assertions.
```
1) Error: test_generalizedtime(OpenSSL::TestASN1): ...
Jun Aruga
05:02 AM Revision 85863f4d (git): [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3
OpenSSL 3.3.0 9 Apr 2024 is also broken.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
https://github.com/ruby/net-http/commit/ab525c956d
Xi Ruoyao
02:52 AM Revision 431711a8 (git): Bump ruby/setup-ruby from 1.175.0 to 1.175.1
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.175.0 to 1.175.1.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/70da3bbf44ac06db1b0547ce2acc9380a5...
dependabot[bot]
01:34 AM Revision 7a8882bc (git): [DOC] Fix typo: Replace `documentatation` with `documentation`
Richard Ricciardelli
12:00 AM Revision 528c4501 (git): Use `rb_parser_string_t *` as `ruby_sourcefile_string`
This reduces dependency on VALUE. yui-knk (Kaneko Yuichiro)

04/29/2024

08:54 PM Revision 0aefd2f7 (git): YJIT: Pass options to ruby/spec with `-T` (#10599)
We recently found out that `make test-spec` wasn't testing with
`--yjit-call-threshold=1` like the other test suites, and that we need
to use `-T` to pass options to it.
alanwu (Alan Wu)
08:36 PM Revision 470eceff (git): YJIT: Remove CString allocation when using `src_loc!()`
Since we often take the VM lock as the first thing we do when entering
YJIT, and that needs a `src_loc!()`, this removes a allocation from
that. The main trick here is `concat!(file!(), '\0')` to get a C string
statically baked into the ...
alanwu (Alan Wu)
08:08 PM Revision de0ad3be (git): YJIT: Take VM lock when invalidating
We need the lock to patch code safely.
This might fix some Ractor related crashes seen on CI.
alanwu (Alan Wu)
07:25 PM Revision adae813c (git): YJIT: Expand codegen for `TrueClass#===` to `FalseClass` and `NilClass` (#10679)
rwstauner (Randy Stauner)
06:32 PM Revision 845f2db1 (git): YJIT: Add specialized codegen function for `TrueClass#===` (#10640)
* YJIT: Add specialized codegen function for `TrueClass#===`
TrueClass#=== is currently number 10 in the most frequent C calls list of the lobsters benchmark.
```
require "benchmark/ips"
def wrap
true === true
true === false
tru...
Randy Stauner
06:04 PM Revision e3bfd25b (git): Fix memory leak of rb_ast_t in parser
ast_alloc uses TypedData_Make_Struct, which allocates a rb_ast_t. But it
is overwritten when we set the DATA_PTR so the original memory is leaked.
For example:
10.times do
100_000.times do
eval("")
end
pu...
peterzhu2118 (Peter Zhu)
06:04 PM Revision 95d036aa (git): Fix memory leak in ruby_parser
For example:
10.times do
100_000.times do
eval("")
end
puts `ps -o rss= -p #{$$}`
end
Before:
19872
26480
32848
39504
45904
52672
59200
65760
72128
78496
Afte...
peterzhu2118 (Peter Zhu)
05:29 PM Feature #15438 (Closed): Threads can't switch faster than TIME_QUANTUM_(NSEC|USEC|MSEC)
I think this is something we should improve more (I would like even faster switching times), but it does seem possible as of Ruby 3.3 to have threads switch faster than 100ms.
```
def test_switching(priority = 0)
done = false
s...
jhawthorn (John Hawthorn)
05:28 PM Revision d75bbba2 (git): [PRISM] Remove false positive compile warnings for branch coverage
kddnewton (Kevin Newton)
01:36 PM Revision 90db9c87 (git): Update default gems list at dbb1ba88ebb5a08ea5a856c8086aa2 [ci skip]
git[bot]
01:35 PM Revision dbb1ba88 (git): [ruby/reline] Bump version to 0.5.4
(https://github.com/ruby/reline/pull/691)
https://github.com/ruby/reline/commit/3f27286a5e
ima1zumi (Mari Imaizumi)
01:23 PM Revision 814d4b5e (git): [ruby/reline] Input with eof and no newline bugfix
(https://github.com/ruby/reline/pull/671)
https://github.com/ruby/reline/commit/0d66c335a1
tompng (tomoya ishida)
12:48 PM Bug #20451: Bad Ruby 3.1.5 backport causes fiddle to fail to build
Additional information:
From fiddle extconf:
``` ruby
case
when $mswin, $mingw, (libffi_version && (libffi_version <=> [3, 2]) >= 0)
$defs << "-DUSE_FFI_CLOSURE_ALLOC=1"
when (libffi_version && (libffi_version <=> [3, 2]) < 0...
ylecuyer (Yoann Lecuyer)
12:26 PM Revision 4c41203b (git): Remove needless header file include
yui-knk (Kaneko Yuichiro)
12:08 PM Revision ae701031 (git): [ruby/reline] Completely support full-width characters in
differential rendering
(https://github.com/ruby/reline/pull/654)
* Add a cut variation of Reline::Unicode.take_range method take_mbchar_range
* Consider fullwidth take_range in differential rendering
https://github.com/ruby/reline/com...
tompng (tomoya ishida)
12:05 PM Revision 018c5717 (git): [ruby/reline] Handle mode condition in inputrc
(https://github.com/ruby/reline/pull/687)
https://github.com/ruby/reline/commit/bed5fb3d77
ima1zumi (Mari Imaizumi)
10:29 AM Revision 435f449b (git): [rubygems/rubygems] Make sure to force latest resolvable version explicitly
To make sure we can always update to the latest resolvable version for
each gem explicitly requested for update, we first run a full update,
and then add explicit exact requirements to the resolved versions. This
may lead into conflicts,...
deivid (David Rodríguez)
10:29 AM Revision 491195af (git): [rubygems/rubygems] Keep track of gems requested for update explicitly
https://github.com/rubygems/rubygems/commit/ea43e4c6d7 deivid (David Rodríguez)
10:29 AM Revision 83933f92 (git): [rubygems/rubygems] No need to reset version promoter here
Since resolution options don't change.
https://github.com/rubygems/rubygems/commit/5c5aa38c06
deivid (David Rodríguez)
09:04 AM Revision 53571de8 (git): [rubygems/rubygems] Fix circular require warning
https://github.com/rubygems/rubygems/commit/241d0aafcd deivid (David Rodríguez)
08:57 AM Revision d6cb62a8 (git): [rubygems/rubygems] Show better error when installed gemspecs are unreadable
https://github.com/rubygems/rubygems/commit/924f87c8a9 deivid (David Rodríguez)
08:56 AM Revision 68a1867f (git): [rubygems/rubygems] Fix issue with `bundle update` with an out of sync lockfile
An old platform related bug fix made some existing lockfiles no longer
work because they included invalid platforms. So to make it backwards
compatible, code was added to remove invalid platforms from the lockfile
before resolution. This...
deivid (David Rodríguez)
08:42 AM Revision 6203307f (git): [rubygems/rubygems] Address PR feedback
https://github.com/rubygems/rubygems/commit/62be097a32 Andy Waite
08:42 AM Revision 2a683f3f (git): [rubygems/rubygems] Clarify `bundle check` behaviour in docs
https://github.com/rubygems/rubygems/commit/c438c6db2e Andy Waite
06:09 AM Revision 5ed20644 (git): Lrama v0.6.8
yui-knk (Kaneko Yuichiro)
01:09 AM Revision b7bd55cd (git): suppress -Wold-style-cast warnings
shyouhei (Shyouhei Urabe)
01:03 AM Revision 17a0e2ac (git): workaround C++ compile error
We observe compiler error on FreeBSD. Their stdckdint.h does not
understand C++. This shall be addressed on their side. Unti then we
resport to our own version.
https://rubyci.s3.amazonaws.com/freebsd14/ruby-master/log/20240427T14300...
shyouhei (Shyouhei Urabe)

04/28/2024

11:38 PM Revision a6308ca9 (git): ripper: Move DSL line pattern
nobu (Nobuyoshi Nakada)
11:38 PM Revision f9cf923a (git): Use user defined parameterizing rules
ydah (Yudai Takada)
06:59 PM Bug #20094: Inline while loop behavior changed unexpectedly in 3.3.0
It seems like the bug is still present in Ruby 3.3.1:
```ruby
(p 1) while false # 1
```
rbjl (Jan Lelis)
04:11 PM Feature #18583: Pattern-matching: API for custom unpacking strategies?
Could the match operator, `=~`, could be used as a general complement to `===`?
Example (following original sketch from @zverok):
``` ruby
class Matcher
def initialize(regexp)
@regexp = regexp
end
def ===(obj)
@regexp.ma...
ntl (Nathan Ladd)
08:58 AM Revision 29aaf4ab (git): Remove `ast_new` field from `struct rb_parser_config_struct`
`ast_new` can be embedded into `rb_ast_new`. yui-knk (Kaneko Yuichiro)
04:38 AM Revision 5c3d5c7c (git): Lrama v0.6.7
yui-knk (Kaneko Yuichiro)
03:08 AM Revision ddd8da4b (git): [Universal parser] Improve AST structure
This patch moves `ast->node_buffer->config` to `ast->config` aiming to improve readability and maintainability of the source.
## Background
We could not add the `config` field to the `rb_ast_t *` due to the five-word restriction of the...
hasumikin (hitoshi hasumi)
12:01 AM Revision 8ad0b2cd (git): Use `' '+` instead of words_sep
ydah (Yudai Takada)
12:01 AM Feature #18915: New error class: NotImplementedYetError or scope change for NotImplementedError
nithinbekal (Nithin Bekal) wrote in #note-18:
> > What name candidate do you have?
> ...
I like this as well as `AbstractMethodError`
Quintasan (Michał Zając)

04/27/2024

11:21 PM Bug #20461 (Open): Unreadable pipe included in the readable IO of IO.select
When executing the following script, pipe_r is not supposed to be readable because no writing is done to pipe_w, but pipe_r is included in the return value rs of IO.select. Since it is not possible to read from pipe_r, the IO::EAGAINWait... yamam (Masanari Yamamoto)
07:36 PM Feature #20460 (Open): Ripper `eval` option
There are a couple of differences when producing syntax trees from the parser/ripper when compiling for eval. Namely, for the eval case it does not raise a syntax error for invalid jumps. It would be nice to be able to pass an `eval: tru... kddnewton (Kevin Newton)
03:06 PM Revision 937cb117 (git): Fix regexps for abbreviated options
nobu (Nobuyoshi Nakada)
03:03 PM Revision a0b4f0bc (git): Timeout scale in bootstraptest
nobu (Nobuyoshi Nakada)
03:02 PM Revision 602193de (git): Timeout in bootstraptest
nobu (Nobuyoshi Nakada)
12:55 PM Revision c844968b (git): ruby tool/update-deps --fix
shyouhei (Shyouhei Urabe)
12:55 PM Revision bb5a5382 (git): use of stdckdint.h
C23 is going to have this header. The industry is already moving
towards accepting it; OSes and compilers started to implement theirs.
Why not detect its presence and if any, prefer over other ways.
See also:
- https://www.open-std.o...
shyouhei (Shyouhei Urabe)
08:56 AM Revision 9ea77cb3 (git): Remove unnecessary assignment to ast->body.line_count
This patch removes a code that assigns `-1` to `ast->body.line_count` because, at least as of now, it looks not necessary.
I made this commit atomically revertable if I was wrong.
## Relevant commits
- The preparation for this PR: http...
hasumikin (hitoshi hasumi)
03:47 AM Revision ef3e3e9a (git): Fixed a value specified for OPT_THREADED_CODE (#10657)
Values defined for OPT_THREADED_CODE are 0,1,2. However, 1,2,3 are set in workflow. It seems that case 3 does not exist, so 0 is specified instead.
Co-authored-by: jinroq <jinroq@users.noreply.github.com>
jinroq (Jinroq SAITOH)
03:43 AM Revision 8089faee (git): Revert "YJIT: Try splitting getlocal/setlocal blocks (#10648)"
This reverts commit ab228bd0844758a1c444e39030c153874adf9120. k0kubun (Takashi Kokubun)
03:08 AM Revision 55a402bb (git): Add line_count field to rb_ast_body_t
This patch adds `int line_count` field to `rb_ast_body_t` structure.
Instead, we no longer cast `script_lines` to Fixnum.
## Background
Ref https://github.com/ruby/ruby/pull/10618
In the PR above, we have decoupled IMEMO from `rb_ast_...
hasumikin (hitoshi hasumi)
01:47 AM Bug #20450: Ruby 3.3.1 broken with bootsnap
RVM is now patching this by default for 3.3.1 installs. https://github.com/rvm/rvm/pull/5457 shan (Shannon Skipper)
01:06 AM Revision bf1f16ef (git): Lrama v0.6.6
yui-knk (Kaneko Yuichiro)
01:03 AM Revision 2ba7c1b1 (git): YJIT: Correct signature of rb_yjit_root_mark()
Even though unused, it's supposed to take a pointer like the C side
expects.
alanwu (Alan Wu)
01:03 AM Revision 83c03cc7 (git): YJIT: Stop asserting rb_objspace_markable_object_p()
Because of the way things are sequenced, it doesn't work properly during
auto-compaction.
alanwu (Alan Wu)
01:03 AM Revision 73eeb864 (git): YJIT: Fix reference update for `Invariants::no_ep_escape_iseqs`
Previously, the update was done in the ISEQ callback. That effectively
never updated anything because the callback itself is given an intact
reference, so it could update its content, and `rb_gc_location(iseq)`
never returned a new addre...
alanwu (Alan Wu)
12:35 AM Revision c746332c (git): Revert "Use -v to investigate which test is stuck"
This reverts commit 444553b528a54a97e539de212ffc4c6466a6db20.
At least it should no longer timeout.
k0kubun (Takashi Kokubun)
12:18 AM Revision c32366ff (git): Avoid overriding GNUMAKEFLAGS's -j
.github/actions/setup/directories/action.yml sets GNUMAKEFLAGS. Having
-j here is rather harmful.
Partly reverts f8dad616c2ee2d83b3162da8d86865b0f2a782de.
k0kubun (Takashi Kokubun)

04/26/2024

09:02 PM Revision f64c9741 (git): Allow RUBY_GC_LIBRARY_PATH to be set in miniruby
miniruby is used by tool/runruby.rb, so we need to ensure we don't rb_bug
when RUBY_GC_LIBRARY_PATH is set so we can run tests using the make
commands. This commit changes it to warn instead.
peterzhu2118 (Peter Zhu)
09:01 PM Revision 392b811b (git): Update default gems list at 3872e54039f467cdab5c9a0e384d91 [ci skip]
git[bot]
09:01 PM Revision ddce8ca8 (git): [PRISM] Enable integer test
kddnewton (Kevin Newton)
09:01 PM Revision 3872e540 (git): [ruby/prism] Bump to v0.27.0
https://github.com/ruby/prism/commit/c9edeef91a kddnewton (Kevin Newton)
09:01 PM Revision bb3dd5b8 (git): [PRISM] Sync latest config.yml documentation updates
kddnewton (Kevin Newton)
08:58 PM Revision 41e17f56 (git): Fix compiler warning for ruby_external_gc_init
Fixes:
warning: old-style function definition [-Wold-style-definition]
peterzhu2118 (Peter Zhu)
08:02 PM Revision ab228bd0 (git): YJIT: Try splitting getlocal/setlocal blocks (#10648)
k0kubun (Takashi Kokubun)
07:16 PM Revision 46480e30 (git): [PRISM] Use redundant return flag
kddnewton (Kevin Newton)
07:05 PM Revision 96880931 (git): [ruby/prism] Location#slice_lines, Node#slice_lines
https://github.com/ruby/prism/commit/9b61f6fdb3 kddnewton (Kevin Newton)
06:55 PM Revision 0599184a (git): [ruby/prism] Match CRuby error messages for invalid numerics
https://github.com/ruby/prism/commit/be21a1bd1d kddnewton (Kevin Newton)
06:11 PM Revision a1db69f0 (git): Skip a flaky Ractor test for YJIT
https://github.com/ruby/ruby/actions/runs/8852277192/job/24310631888
https://github.com/ruby/ruby/actions/runs/8851325573/job/24307638329
This seems like an existing, separate issue from what we're currently
investigating. The `iseq->bo...
k0kubun (Takashi Kokubun)
06:10 PM Revision 6a296089 (git): [ruby/prism] Add a flag on returns when they are redundant
https://github.com/ruby/prism/commit/450541d2c3 kddnewton (Kevin Newton)
05:52 PM Revision 148518ba (git): [ruby/irb] Suppress command return values
(https://github.com/ruby/irb/pull/934)
Since commands can't be chained with methods, their return values are
not intended to be used. But if IRB keeps storing command return values
as the last value, and print them, users may rely on su...
st0012 (Stan Lo)
05:51 PM Misc #20272: Ambiguity around Ractor message sending FIFO semantics
The messages in that case would be guaranteed to be received in order (first "hello" then "world").
If you have 2 different ractors or 2 different threads both receiving messages from the same ractor, then there is no guarantee of the...
luke-gru (Luke Gruber)
05:21 PM Bug #20457: Final `return` is eliminated from the AST
I want to add for context that naturally Prism already provides this information (and much more) and has a much better API.
Nobody should use `RubyVM::AbstractSyntaxTree`, as its documentation pretty much already says.
Eregon (Benoit Daloze)
06:16 AM Bug #20457: Final `return` is eliminated from the AST
Optimizations in the parser such as `reduce_nodes` that are not intended for the VM will no longer be necessary.
https://github.com/ruby/ruby/pull/10642
nobu (Nobuyoshi Nakada)
04:55 PM Revision 6b120135 (git): [ruby/openssl] Only CSR version 1 (encoded as 0) is allowed by PKIX standards
RFC 2986, section 4.1 only defines version 1 for CSRs. This version
is encoded as a 0. Starting with OpenSSL 3.3, setting the CSR version
to anything but 1 fails.
Do not attempt to generate a CSR with invalid version (which now fails)
a...
Job Snijders
04:25 PM Revision 9aecff25 (git): [PRISM] Fix up if condition branch coverage location
kddnewton (Kevin Newton)
04:25 PM Revision c46e32e3 (git): [PRISM] Fix up branch coverage for &. with block
kddnewton (Kevin Newton)
04:25 PM Revision d06bbafd (git): [PRISM] Enable branch coverage for if/unless conditionals
kddnewton (Kevin Newton)
04:25 PM Revision 881c4501 (git): [PRISM] Enable branch coverage for while/until loops
kddnewton (Kevin Newton)
04:25 PM Revision 43076bf9 (git): [PRISM] Enable branch coverage for case pattern matching
kddnewton (Kevin Newton)
04:25 PM Revision e5bd4c78 (git): [PRISM] Enable branch coverage for case
kddnewton (Kevin Newton)
04:25 PM Revision 235a3f3b (git): [PRISM] Enable branch coverage for &.
kddnewton (Kevin Newton)
04:25 PM Revision 6509634e (git): [PRISM] Modify test_coverage to take prism into account
kddnewton (Kevin Newton)
04:25 PM Revision 94d6295b (git): [PRISM] Enable coverage in eval ISEQs
kddnewton (Kevin Newton)
04:25 PM Revision 49764869 (git): [PRISM] Enable coverage in top and main iseqs
kddnewton (Kevin Newton)
04:25 PM Revision af800bef (git): Remove dependency on NODE from coverage structure
kddnewton (Kevin Newton)
03:59 PM Bug #20459: Ractor.select() deadlock?
I just took a look at this and it's related to this ticket: https://redmine.ruby-lang.org/issues/20168. The linked pull request that fixes that issue also fixes this one. luke-gru (Luke Gruber)
12:27 PM Bug #20459 (Closed): Ractor.select() deadlock?
When I run this script
```
echo = Ractor.new { Ractor.receive }
Thread.new { puts Ractor.select(echo).inspect }
sleep 0.1
echo.send "test"
```
the script never terminates. If I change thread body to
```
Thread.new { puts...
esad (Esad Hajdarevic)
03:43 PM Revision 353cba49 (git): Use fprintf for error message when loading external GC
The error message is often long, so using a small buffer could cause it
to be truncated. rb_bug also has a 256 byte message buffer, so it could
also be truncated.
peterzhu2118 (Peter Zhu)
03:10 PM Revision 67b79d48 (git): Enable Ruby to run on Windows with frozen string literals
Sam Aaron
02:31 PM Revision 69c1bd90 (git): [DOC] Fix a typo in globals.rdoc
Noticed this small type while reading the docs. Diego Henrique
12:33 PM Revision dd578cf2 (git): [DOC] Enhance `Numeric#nonzero?` doc
Add `zero?` as a related method Artur
12:12 PM Revision 25a8b76c (git): [ruby/irb] Command registration should take both strings and symbols
as names
(https://github.com/ruby/irb/pull/932)
This will save users some heads scratching when they try to register a
command with a string name and found that it doesn't work.
I also rewrote converted custom command tests into integr...
st0012 (Stan Lo)
11:34 AM Revision 140c59c6 (git): Set `SCRIPT_LINES__` outside of parser
Parser should not depend on functions defiend on "ruby_parser.c". yui-knk (Kaneko Yuichiro)
10:22 AM Revision 500586b4 (git): Set executable on rdoc-srcdir [ci skip]
nobu (Nobuyoshi Nakada)
10:07 AM Feature #20444: Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
nobu (Nobuyoshi Nakada) wrote in #note-9:
> That example does not need `Ractor`.
Yes, you are right, it actually doesn't need Thread either, and is simply about calling a block in a loop and how to break the loop from the called bloc...
esad (Esad Hajdarevic)
08:28 AM Feature #20444: Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
That example does not need `Ractor`.
```ruby
class MyStop < ::StopIteration
attr_reader :result
def initialize(result)
@result = result
end
end
block = proc {raise StopIteration, 3}
p Thread.start {loop {block.call...
nobu (Nobuyoshi Nakada)
10:06 AM Bug #20456: Hash can get stuck marked as iterating through process forking
> I think we should remove [auto unlock of mutexes owned by dead thread]
I very strongly oppose that.
byroot (Jean Boussier)
09:54 AM Bug #20456: Hash can get stuck marked as iterating through process forking
> I don't think we should shy away from making it easier to use and more robust when we can.
The best way to do that IMO is warn/error on fork when there are multiple Ruby Threads alive.
> ...
It is a measurable overhead on Mutex p...
Eregon (Benoit Daloze)
08:28 AM Bug #20456: Hash can get stuck marked as iterating through process forking
> like STR_TMPLOCK.
True. That said `STR_TMPLOCK` is used to lock a string for mutation, so much less likely to be shared between threads.
But I guess sharing a mutable hash between threads isn't a great idea either, and frozen has...
byroot (Jean Boussier)
08:19 AM Bug #20456: Hash can get stuck marked as iterating through process forking
I think this problem is not limited to Hash's `iter_lev`, but potentially all states, like STR_TMPLOCK. Once you start supporting such things, it may never end. I would rather that applications that use a combination of Thread and fork ... mame (Yusuke Endoh)
07:41 AM Bug #20456: Hash can get stuck marked as iterating through process forking
> but it sounds to me like it can't.
It could, and there's precedent. For instance Ruby unlock mutexes owned by dead threads.
This would require to keep a list of the threads that incremented a hash's `iterlevel`, so definitely not fre...
byroot (Jean Boussier)
09:45 AM Misc #20436: DevMeeting at RubyKaigi 2024
* [Bug #20455] rb_errinfo() inconsistent with $! in the caller Ruby code (eregon)
* Could we make them consistent? Or completely separate?
* If not, what is the current semantics (in English) and is it something we want to keep?
Eregon (Benoit Daloze)
09:17 AM Revision 762491db (git): [DOC] Caveat about "allocate then wrap"
nobu (Nobuyoshi Nakada)
03:03 AM Revision 0907127f (git): Bump github/codeql-action from 3.25.2 to 3.25.3
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.2 to 3.25.3.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md...
dependabot[bot]
02:21 AM Revision 2244c58b (git): [Universal parser] Decouple IMEMO from rb_ast_t
This patch removes the `VALUE flags` member from the `rb_ast_t` structure making `rb_ast_t` no longer an IMEMO object.
## Background
We are trying to make the Ruby parser generated from parse.y a universal parser that can be used by ot...
hasumikin (hitoshi hasumi)

04/25/2024

10:38 PM Revision 9b5bc8e6 (git): YJIT: Relax `--yjit-verify-ctx` after singleton class creation
Types like `Type::CString` really only assert that at one point the object had
its class field equal to `String`. Once a singleton class is created for any
strings, the type makes no assertion about any class field anymore, and becomes
t...
alanwu (Alan Wu)
10:00 PM Bug #20458 (Closed): OpensSSL::SSL::SSLContext#min_version= and #max_version no longer accept Symbol values
jeremyevans0 (Jeremy Evans)
09:58 PM Bug #20458: OpensSSL::SSL::SSLContext#min_version= and #max_version no longer accept Symbol values
Also I just now noticed that `SSLContext#ssl_version=` is deprecated. This issue can be closed. postmodern (Hal Brodigan)
09:42 PM Bug #20458: OpensSSL::SSL::SSLContext#min_version= and #max_version no longer accept Symbol values
Ah I see the problem now. `OpenSSL::SSL::SSLContext#ssl_version` accepts `:TLSv1*` symbols, but `#min_version` and `#max_version` only seem to accept `:TLS1*` symbols without the `v`. This seems inconsistent and prone to causing confusion. postmodern (Hal Brodigan)
08:45 PM Bug #20458 (Closed): OpensSSL::SSL::SSLContext#min_version= and #max_version no longer accept Symbol values
It appears that `OpenSSL::SSL::SSLContext#min_version=` and `#max_version=` no longer accept Symbol values, contrary to their [documentation](https://docs.ruby-lang.org/en/master/OpenSSL/SSL/SSLContext.html#method-i-min_version-3D). Inst... postmodern (Hal Brodigan)
09:11 PM Revision 49753cd0 (git): Use xcalloc for allocating shape tree
The GC is initialized by this point, so we can use xcalloc instead of
ruby_mimcalloc.
peterzhu2118 (Peter Zhu)
08:02 PM Bug #20457 (Closed): Final `return` is eliminated from the AST
Given the following code:
```ruby
def foo
a = 1
return a
end
```
If you parse this with RubyVM::AbstractSyntaxTree, the AST will be missing the `return` node. Of course the `return` node isn't necessary for compilation, b...
tenderlovemaking (Aaron Patterson)
07:56 PM Bug #20456: Hash can get stuck marked as iterating through process forking
I would think this is a general pitfall of `fork(2)`, it can leave things in other threads in a random inconsistent and irrecoverable state.
IMO it's a mistake that `fork(2)` doesn't copy all threads to the new process, but it is what it...
Eregon (Benoit Daloze)
06:47 PM Bug #20456 (Open): Hash can get stuck marked as iterating through process forking
# Steps to Reproduce
1. Iterate over a hash
1. While that iteration is happening, fork the process
a. This should be done in a way that causes the iteration to never finish from the child process's view, e.g. fork with a block, or...
blowfishpro (Talia Wong)
07:37 PM Bug #20455: rb_errinfo() inconsistent with $! in the caller Ruby code
@ko1 (and the code) pointed me to `$!` is `rb_ec_get_errinfo`, which walks the stack to find the first `rescue`/`ensure` (does it stop at the first ensure if it's an ensure without an active exception?) and uses `ec->errinfo` if not,
wh...
Eregon (Benoit Daloze)
05:35 PM Bug #20455 (Open): rb_errinfo() inconsistent with $! in the caller Ruby code
This (slightly modified for clarity) test in ruby/spec demonstrates the unexpected result:
```ruby
describe "rb_errinfo" do
def err
$!
end
it "is cleared when entering a C method" do
begin
rais...
Eregon (Benoit Daloze)
06:59 PM Revision af24ba40 (git): [PRISM] Raise LoadError when file cannot be read
kddnewton (Kevin Newton)
06:46 PM Revision 6f4f360f (git): [rubygems/rubygems] Add auto_install support to require "bundler/setup"
We have some places that already use `bundle config auto_install true`,
ie:
https://github.com/technicalpickles/rubygems/blob/7a144f3374f6a400cc9832f072dc1fc0bca8c724/bundler/lib/bundler/cli.rb#L11
This applies the same logic (copy and...
Josh Nichols
06:00 PM Revision b6489e9f (git): [ruby/prism] Remove need for Natalie patches
https://github.com/ruby/prism/commit/7fc7e13476 kddnewton (Kevin Newton)
05:38 PM Revision 444553b5 (git): Use -v to investigate which test is stuck
k0kubun (Takashi Kokubun)
05:29 PM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
And it should also be reproducible on local environment, having 32bit user space libraries installed. And the same applies for container. Having x86_64 container with 32bit userspace libraries should be fine. You just need to use `./conf... vo.x (Vit Ondruch)
05:22 PM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
jaruga (Jun Aruga) wrote in #note-4:
> ## Mock
> ...
No emulation is needed. ```$ mock -r fedora-rawhide-i386 *.rpm``` is enough.
vo.x (Vit Ondruch)
12:31 PM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
I tried several ways to reproduce this issue on Fedora rawhide i686 environment.
## Containers
First, I don't find the Fedora rawhide i686 container. I couldn't find the i686 container image on the following Fedora's container regi...
jaruga (Jun Aruga)
04:12 PM Revision 4ff24936 (git): [ruby/reline] Fix inputrc nested $if $else $endif bug
(https://github.com/ruby/reline/pull/689)
https://github.com/ruby/reline/commit/0d8aea26ec
tompng (tomoya ishida)
03:28 PM Revision 3a5d9553 (git): Don't use assert_separately in Bug 20453 test
https://github.com/ruby/ruby/pull/10630#discussion_r1579565056
The PR was merged before I had a chance to address this feedback.
`assert_separately` is not necessary for this test if I don't use a
global timeout.
dodecadaniel (Daniel Colson)
02:50 PM Bug #20452: Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
nobu (Nobuyoshi Nakada) wrote in #note-5:
> Does this help you?
> ...
Thank you. I tried it out with your patch but something is missing still. Building with `make DEFS=-DMAINSTACKADDR_AVAILABLE=0` from your comment above works wonderf...
Earlopain (Earlopain _)
12:05 PM Bug #20452: Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
Does this help you?
https://github.com/nobu/ruby/tree/mainstackaddr
nobu (Nobuyoshi Nakada)
11:38 AM Bug #20452: Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
`make DEFS=-DMAINSTACKADDR_AVAILABLE=0 thread.o` seems working. nobu (Nobuyoshi Nakada)
02:28 PM Bug #20453 (Closed): Pointer being freed was not allocated in Regexp timeout
Applied in changeset commit:git|d292a9b98ce03c76dbe13138d20b9fbf613cc02d.
----------
[Bug #20453] segfault in Regexp timeout
https://bugs.ruby-lang.org/issues/20228 started freeing `stk_base` to
avoid a memory leak. But `stk_base` is s...
dodecadaniel (Daniel Colson)
02:51 AM Bug #20453: Pointer being freed was not allocated in Regexp timeout
I opened https://github.com/ruby/ruby/pull/10630. I'm still fairly new to all this, so please correct me if I got something wrong! dodecadaniel (Daniel Colson)
02:19 AM Bug #20453 (Closed): Pointer being freed was not allocated in Regexp timeout
https://bugs.ruby-lang.org/issues/20228 frees `stk_base` to avoid a memory leak, but `stk_base` is sometimes stack allocated ([see `xalloca`](https://github.com/ruby/ruby/blob/dde99215f2bc60c22a00fc941ff7f714f011e920/regexec.c#L1177-L118... dodecadaniel (Daniel Colson)
02:28 PM Revision d292a9b9 (git): [Bug #20453] segfault in Regexp timeout
https://bugs.ruby-lang.org/issues/20228 started freeing `stk_base` to
avoid a memory leak. But `stk_base` is sometimes stack allocated (using
`xalloca`), so the free only works if the regex stack has grown enough
to hit `stack_double` (w...
dodecadaniel (Daniel Colson)
02:04 PM Revision 7ab1a608 (git): YJIT: Optimize local variables when EP == BP (take 2) (#10607)
* Revert "Revert "YJIT: Optimize local variables when EP == BP" (#10584)"
This reverts commit c8783441952217c18e523749c821f82cd7e5d222.
* YJIT: Take care of GC references in ISEQ invariants
Co-authored-by: Alan Wu <alansi.xingwu@shopi...
k0kubun (Takashi Kokubun)
01:25 PM Revision f248e100 (git): Embed rb_gc_function_map_t in rb_vm_t
Avoids a pointer indirection and memory allocation. peterzhu2118 (Peter Zhu)
01:23 PM Bug #20454 (Third Party's Issue): IRB echoes excessive input in dumb terminal
When IRB is started on a terminal with the environment variable TERM=dumb, excessive output is generated as shown below.
A simple terminal such as Emacs shell-mode or comint-mode is assumed, but it should be possible to reproduce the ...
zonuexe (Kenta USAMI)
01:22 PM Misc #20436: DevMeeting at RubyKaigi 2024
- [Feature #20443] Allow Major GC's to be disabled
- Introduces the ability to "turn off" Major GC's, so that only minors will run. This is useful for applications that are using Out-of-band GC.
- Discussion has focussed around the...
eightbitraptor (Matt V-H)
12:14 PM Revision b50e1e68 (git): [PRISM] Enable more passing tests
kddnewton (Kevin Newton)
10:35 AM Revision 5d2fb5d7 (git): [rubygems/rubygems] Don't upcase Windows ENV when backing it up
I apparently did that to fix some issue with case insensitivity but I
didn't add a spec, and I think not upcasing should not cause issues.
https://github.com/rubygems/rubygems/commit/1b6f23275a
deivid (David Rodríguez)
10:35 AM Revision 28713765 (git): [rubygems/rubygems] Remove unnecessary workaround
All supported rubies include the fix.
https://github.com/rubygems/rubygems/commit/9d74b699f5
deivid (David Rodríguez)
10:35 AM Revision 5577f138 (git): [rubygems/rubygems] Properly resolve aliases when `bundle help` is run
https://github.com/rubygems/rubygems/commit/5d9bf03c59 deivid (David Rodríguez)
08:53 AM Bug #20450: Ruby 3.3.1 broken with bootsnap
Thanks all. I added https://github.com/ruby/ruby/pull/10619 to [backport PR](https://github.com/ruby/ruby/pull/10354).
Sorry to your inconvenient experience for new stable version. https://bugs.ruby-lang.org/issues/20450#note-6 or htt...
hsbt (Hiroshi SHIBATA)
04:29 AM Bug #20450 (Closed): Ruby 3.3.1 broken with bootsnap
Applied in changeset commit:git|67dd9af17e5c6c541a8cc84b1741deaf175fcf83.
----------
[Bug #20450] Remove rubyarchdir from bootsnap paths
eugeneius (Eugene Kenny)
08:12 AM Revision 64bd8e41 (git): false is not a pointer
This function returned VALUE before. False made sense back then.
Now that it returns a pointer. NULL should be used instead.
shyouhei (Shyouhei Urabe)
08:01 AM Revision 03f84775 (git): [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3
OpenSSL 3.3.0 9 Apr 2024 is also broken.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
https://github.com/ruby/net-http/commit/ab525c956d
Xi Ruoyao
06:15 AM Feature #20443: Allow Major GC's to be disabled
> what happens on oldgen->younggen references? points from the remembers set?
Yes.
> ...
I understand your point, but I fear it could be counter-productive. We specifically stopped doing that in [Feature #19678] because there is ma...
byroot (Jean Boussier)
03:44 AM Feature #20443: Allow Major GC's to be disabled
ko1 (Koichi Sasada) wrote in #note-8:
> Basically I like this idea. Some points.
> ...
Isn't the `gc` already very obvious from the class `GC`?
duerst (Martin Dürst)
01:12 AM Feature #20443: Allow Major GC's to be disabled
* `needs_major` "s" should not be on method name (like `File.exists` -> `File.exist`)
* can you measure the memory consumption? It is a key compared with old OOBGC.
ko1 (Koichi Sasada)
12:59 AM Feature #20443: Allow Major GC's to be disabled
Basically I like this idea. Some points.
* should not use "major" as a "major gc", so `GC.disable_major` should be `GC.disable_major_gc` and so on.
* I don't have strong opinion about `GC.disable(major_gc: true)` or `GC.disable_major...
ko1 (Koichi Sasada)
04:29 AM Revision 67dd9af1 (git): [Bug #20450] Remove rubyarchdir from bootsnap paths
eugeneius (Eugene Kenny)
03:18 AM Revision 01f6ea15 (git): Bump actions/checkout in /.github/actions/setup/directories
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]
03:04 AM Revision d1813609 (git): Bump actions/checkout from 4.1.3 to 4.1.4
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.3 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http...
dependabot[bot]
03:04 AM Revision e8bc8f60 (git): Bump dependabot/fetch-metadata from 2.0.0 to 2.1.0
Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 2.0.0 to 2.1.0.
- [Release notes](https://github.com/dependabot/fetch-metadata/releases)
- [Commits](https://github.com/dependabot/fetch-metadata/compar...
dependabot[bot]

04/24/2024

10:40 PM Bug #20450: Ruby 3.3.1 broken with bootsnap
For what it's worth, here are some untested install scripts using a minimalist version of @eugeneius's patch for ruby-install, RVM, rbenv and asdf.
```sh
ruby-install --patch https://gist.githubusercontent.com/havenwood/57ef01e562bc5ac2...
shan (Shannon Skipper)
07:20 PM Bug #20450: Ruby 3.3.1 broken with bootsnap
Thank you for fixing this. I confirmed that making this change fixed Ruby 3.3.1 for gusto professor (Todd Sedano)
11:14 AM Bug #20450: Ruby 3.3.1 broken with bootsnap
I submitted a fix for this issue at https://github.com/ruby/ruby/pull/10619. eugeneius (Eugene Kenny)
10:36 AM Bug #20450: Ruby 3.3.1 broken with bootsnap
hsbt (Hiroshi SHIBATA) wrote in #note-1:
> Can you provide your `Gemfile`? I did confirm to work that with bootsnap and zeitwerk at https://github.com/ruby/ruby/pull/10347#issuecomment-2017204802
```
$ cat Gemfile
source 'https://r...
philippe.bs.noel@tutanota.com (Philippe Noel)
09:34 AM Bug #20450 (Assigned): Ruby 3.3.1 broken with bootsnap
Can you provide your `Gemfile`? I did confirm to work that with bootsnap and zeitwerk at https://github.com/ruby/ruby/pull/10347#issuecomment-2017204802
hsbt (Hiroshi SHIBATA)
09:25 AM Bug #20450 (Closed): Ruby 3.3.1 broken with bootsnap
The issue looks like https://bugs.ruby-lang.org/issues/20060
With the new release of ruby 3.1.1, bootsnap does not work anymore.
```
bin/rails aborted!
ArgumentError: comparison of String with nil failed (ArgumentError)
ms...
philippe.bs.noel@tutanota.com (Philippe Noel)
10:21 PM Bug #20186: Ripper does not generate AST for some keywords in Ruby 3.3
Another case of this causing a problem https://github.com/davidwessman/syntax_tree-erb/issues/81
Relevant commits, I believe:
https://github.com/ruby/ruby/commit/e1250a5f9778f463a541bc1ee5a951f64c131bbf
https://github.com/ruby/ruby/...
rdimartino (Robert DiMartino)
10:16 PM Bug #20452 (Feedback): Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue...
hsbt (Hiroshi SHIBATA)
02:24 PM Bug #20452: Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
nobu (Nobuyoshi Nakada) wrote in #note-1:
> Does `configure` with `ac_cv_func_pthread_get_stackaddr_np=no` change something?
Thank you for your reply. I modified `export ac_cv_func_isnan=yes ac_cv_func_isinf=yes` to `export ac_cv_fun...
Earlopain (Earlopain _)
02:07 PM Bug #20452: Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
Does `configure` with `ac_cv_func_pthread_get_stackaddr_np=no` change something? nobu (Nobuyoshi Nakada)
01:41 PM Bug #20452 (Open): Ruby 3.3 on Alpine Linux results in a relatively shallow SystemStackError exception
This is a redo of https://bugs.ruby-lang.org/issues/14387, reported against a non-eol version. The same issue still applies on recent rubies, though I personally only have tested 3.3 and 3.2:
```rb
n = 100000
res = {}
1.upto(n).to_...
Earlopain (Earlopain _)
10:09 PM Revision 0434dfb7 (git): We don't need to check if the ci is markable anymore
It doesn't matter if CI's are stack allocated or not. tenderlovemaking (Aaron Patterson)
07:45 PM Revision d3a7e555 (git): Update common.mk dependencies
kddnewton (Kevin Newton)
07:39 PM Revision 4c431744 (git): [ruby/prism] Warn for nested hashes as well
https://github.com/ruby/prism/commit/76e802f59e kddnewton (Kevin Newton)
07:39 PM Revision 7d64fbda (git): [ruby/prism] Remove static literals dependence on parser definition
https://github.com/ruby/prism/commit/b3e104e8a2 kddnewton (Kevin Newton)
07:30 PM Revision 21481197 (git): Add ruby_mimcalloc
Many places call ruby_mimmalloc then MEMZERO. This can be reduced by
using ruby_mimcalloc instead.
peterzhu2118 (Peter Zhu)
07:05 PM Misc #20432: Proposal for workflow changes related to teeny releases
Thank you for looking into this!
I saw the minutes of the discussion at https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-04-17.md#misc-20422-bugfix-release-processhsbt--misc-20432-proposal-for-workflow-changes-re...
jrochkind (jonathan rochkind)
06:32 PM Revision 4349c790 (git): [ruby/irb] Memoize helper method instances with Singleton module
(https://github.com/ruby/irb/pull/931)
Some helpers, like Rails console's `app`, requires memoization of the
helper's ivars. To support it IRB needs to memoize helper method instances
as well.
https://github.com/ruby/irb/commit/a96c7a6668
st0012 (Stan Lo)
06:21 PM Revision 73a7e515 (git): Pass a callinfo object to global call cache search
Global call cache can be used with only a CI tenderlovemaking (Aaron Patterson)
06:21 PM Revision 2cc59c1b (git): pass CI to gccct_method_search_slowpath
Also the slow path only needs to look up the method once: via
vm_search_method_slowpath0. gccct just returns whatever cc normal
method lookup does.
tenderlovemaking (Aaron Patterson)
06:16 PM Revision 58847b7d (git): [PRISM] Generate inspect_visitor in common.mk
kddnewton (Kevin Newton)
06:16 PM Revision 6d9ba1e0 (git): [ruby/prism] Change inspect from recursive to a queue
We would previously cause a stack overflow if we parsed a file that
was too deeply nested when we were calling inspect. Instead, we now
use a queue of commands to do it linearly so we don't.
https://github.com/ruby/prism/commit/0f21f5bfe1
kddnewton (Kevin Newton)
05:33 PM Revision cf24a048 (git): [ruby/reline] Long line performance
(https://github.com/ruby/reline/pull/688)
* Improve C-e (ed_move_to_end) performance for long line
* Reline::Unicode.split_by_width optimization for RESET_SGR
https://github.com/ruby/reline/commit/0c8d3c827a
tompng (tomoya ishida)
05:10 PM Revision 5c32a150 (git): Change dln_open in dmydln.c to return error instead of raise
peterzhu2118 (Peter Zhu)
05:10 PM Revision 057b69cf (git): Pass string error buffer into dln_open
On Windows, the error exists on the stack so we should pass an error
buffer from the caller.
peterzhu2118 (Peter Zhu)
04:30 PM Revision 853c0b1a (git): Reuse slow path method search for gccct
This way all code paths use the same search code for finding call caches
for a particular method.
tenderlovemaking (Aaron Patterson)
04:01 PM Revision 9bba999b (git): [ruby/irb] Revert "Memoize helper method instances with Singleton module"
This reverts commit https://github.com/ruby/irb/commit/169a9a2c3097.
https://github.com/ruby/irb/commit/221b0a4928
st0012 (Stan Lo)
04:01 PM Revision e5ca3d07 (git): [ruby/irb] Memoize helper method instances with Singleton module
Some helpers, like Rails console's `app`, requires memoization of the
helper's ivars. To support it IRB needs to memoize helper method instances
as well.
https://github.com/ruby/irb/commit/169a9a2c30
st0012 (Stan Lo)
03:57 PM Feature #20448: Make coverage event hooking C API public
Oh, this API does not allow to get information of branch_from and branch_to for branches that are never fired. It is insufficient to reimplement coverage.so on TracePoint. We have to actually create a patch and identify the appropriate API. mame (Yusuke Endoh)
03:48 PM Feature #20448: Make coverage event hooking C API public
> I just need a hook for BRANCH events.
It's a hard mode ;-)
> ...
I guess that the tracer script is always the same (except the file name of the test harness). If so, you may want to make it a library like `ruzzy/tracer.rb`. A use...
mame (Yusuke Endoh)
12:07 PM Feature #20448: Make coverage event hooking C API public
> I understand that what you need is a hook for LINE and BRANCH events. Am I correct?
I just need a hook for BRANCH events. You can find that C extension code here:
https://github.com/trailofbits/ruzzy/blob/v0.7.0/ext/cruzzy/cruzzy...
ms-tob (Matt S)
02:56 PM Feature #20443: Allow Major GC's to be disabled
I wonder if "full_sweep" would be worth considering as an alternative to "major" to align with the existing `GC.start(full_sweep: true)` keyword argument? Or they could be aliased, but it seems nice to be consistent if I'm understanding ... shan (Shannon Skipper)
11:57 AM Feature #20443: Allow Major GC's to be disabled
> I slightly prefer having a new method pair for this
Same. it makes it easy to test for existence with `respond_to?` and alternative implementations can make them undefined methods like for `Process.fork` etc.
byroot (Jean Boussier)
10:17 AM Feature #20443: Allow Major GC's to be disabled
nateberkopec (Nate Berkopec) wrote in #note-4:
> Regarding the interface:
> ...
I slightly prefer having a new method pair for this, however I don't object to changing it.
I do have a slight concern that `GC.disable(major: true)` co...
eightbitraptor (Matt V-H)
02:31 PM Revision afc7799c (git): YJIT: Add a specialized codegen function for `Class#superclass`. (#10613)
Add a specialized codegen function for `Class#superclass`.
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authored-by: Takashi Kokubun (k0kubun) <takashikkbn@gmail.com>
Co-authored-by: Randy Stauner ...
Kevin Menard
02:31 PM Revision 480287d1 (git): Add macro load_external_gc_func for loading functions from external GC
peterzhu2118 (Peter Zhu)
11:12 AM Bug #20451 (Closed): Bad Ruby 3.1.5 backport causes fiddle to fail to build
Ruby 3.1.5 shipped with the following backport: https://github.com/ruby/ruby/commit/84f2aabd272a54e79979795d2d405090704a1d07
However this backport directly breaks the build:
```
closure.c:279:60: error: use of undeclared identifi...
Bo98 (Bo Anderson)
11:00 AM Feature #20444: Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
ufuk (Ufuk Kayserilioglu) wrote in #note-7:
> @esad If you just want to return a result from the `loop`, you can use `break <value>` to do that:
> ...
Calling break from a block passed to a ractor will raise an exception. I think some sa...
esad (Esad Hajdarevic)
10:40 AM Feature #20444: Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
@esad If you just want to return a result from the `loop`, you can use `break <value>` to do that:
```
$ ruby -e "puts loop { break 3 }"
3
```
You shouldn't have to deal with anything low level like `StopIteration` to do that.
ufuk (Ufuk Kayserilioglu)
09:07 AM Feature #20444: Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
nobu (Nobuyoshi Nakada) wrote in #note-3:
> I'm curious what your use case is.
> ...
I think my use case is a bit of an edge case - I am passing a block into a Ractor where it runs in a loop. This way I can control exit from the loop, ...
esad (Esad Hajdarevic)
03:33 AM Feature #20444 (Feedback): Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
nobu (Nobuyoshi Nakada)
02:40 AM Feature #20444: Kernel#loop: returning the "result" value of StopIteration doesn't work when raised directly
I'm curious what your use case is.
Although I don't know the reason why `StopIteration#initialize` does not have the argument for `result`, it would be difficult to change it now because of the backward compatibility.
nobu (Nobuyoshi Nakada)
09:02 AM Revision 91ff2fd9 (git): Fix dllimport warnings
From Visual C:
```
../../../../../src/ext/-test-/load/resolve_symbol_target/resolve_symbol_target.c(5): warning C4273: 'rst_any_method': inconsistent dll linkage
D:\a\ruby\ruby\src\ext\-test-\load\resolve_symbol_target\resolve_symbol_tar...
nobu (Nobuyoshi Nakada)
08:19 AM Revision 7e8d8f25 (git): Removed obsoleted section because make docs is removed from default make task
hsbt (Hiroshi SHIBATA)
08:12 AM Bug #20262 (Closed): Regex mismatch between Ruby 3.2.2 and 3.3.0
Maybe the same issue as https://bugs.ruby-lang.org/issues/20083. Fixed at 3.3.1.
```
$ RBENV_VERSION=3.2.2 ruby -e 'str = "------------abcdefg------------#3895912"
re = /\b\w*[a-zA-Z-]*\d+[\w-]{3,}\w+\b/
p re.match?(str)'
true
...
mame (Yusuke Endoh)
07:15 AM Bug #20446 (Closed): Outdated https://cache.ruby-lang.org/pub/ruby/index.txt
byroot (Jean Boussier)
04:36 AM Bug #20446: Outdated https://cache.ruby-lang.org/pub/ruby/index.txt
mame (Yusuke Endoh) wrote in #note-3:
> I recommend monitoring https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml.
Nice. I did not know about that file. I'll update the release-monitoring.
> ...
No worries. T...
vo.x (Vit Ondruch)
02:24 AM Bug #20446: Outdated https://cache.ruby-lang.org/pub/ruby/index.txt
I recommend monitoring https://github.com/ruby/www.ruby-lang.org/blob/master/_data/releases.yml.
However, the release process can change without notice. Sorry in advance if that happens.
mame (Yusuke Endoh)
07:13 AM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
i686 container or just 32bit user space could do the job. @jaruga any chance you would have cycles to look at that? vo.x (Vit Ondruch)
12:12 AM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
Unfortunately, we no longer test with i686 arch. Because AWS that is our main test infrastructure didn't provide i686 VMs. hsbt (Hiroshi SHIBATA)
06:35 AM Feature #15554 (Assigned): warn/error passing a block to a method which never use a block
BTW on our application I found the following issue on RSpec tests on strict mode.
```
it ... do
subject do ... end # this subject ignores the block
end
```
This kind of issue can not be checked with current relax mode (becau...
ko1 (Koichi Sasada)
06:19 AM Feature #15554: warn/error passing a block to a method which never use a block
> Acceptable for a codebase as big as Rails?
IMO:
- Rails isn't a big code base. Perhaps when compared to the average gem, but not when compared to the average **application** people work on.
- Adding a warnings that most peop...
byroot (Jean Boussier)
03:22 AM Revision 0b3bc723 (git): Bump ruby/setup-ruby from 1.174.0 to 1.175.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.174.0 to 1.175.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Commits](https://github.com/ruby/setup-ruby/compare/6bd3d993c602f6b675728ebaecb2b569ff...
dependabot[bot]
03:06 AM Revision 66edc33f (git): [DOC] Wait for `docs` to complete before installing all
The document directories may be incomplete or empty before `docs` is
completed.
nobu (Nobuyoshi Nakada)
 

Also available in: Atom