Project

General

Profile

Activity

From 07/15/2023 to 07/21/2023

07/21/2023

07:44 PM Revision 11deab79 (git): Remove unused code in darray.h
peterzhu2118 (Peter Zhu)
05:50 PM Revision 83605bb6 (git): Just assume rustc is in the container
k0kubun (Takashi Kokubun)
05:41 PM Bug #19779 (Closed): `eval "return"` at top level raises `LocalJumpError`
Wondering whether it's intentional behaviour. It seems it's the only difference I've noticed between calling `return` with and without `eval`:
```
ruby -e 'return'
ruby -e 'eval "return"'
(eval):1:in `<main>': unexpected return (Lo...
andrykonchin (Andrew Konchin)
05:19 PM Bug #19778 (Closed): mkmf.rb pkg_config() interaction with RbConfig::CONFIG["cflags"]
(This was first reported at https://github.com/ruby/openssl/issues/650: The extension's build breaks in a strange way if `RbConfig::CONFIG["*flags"]` contains the path of an OpenSSL installation but `pkg-config` returns the path of a dif... rhenium (Kazuki Yamaguchi)
04:42 PM Feature #19777 (Closed): Make `Kernel#lambda` raise when called without a literal block
Since 3.0.0, released in 2020, calling `Kernel#lambda` without a literal block
has been issuing a deprecation warning:
```ruby
Warning[:deprecated] = true
def foo(&b) lambda(&b) end
foo {}
# => test.rb:2: warning: lambda without ...
alanwu (Alan Wu)
03:48 PM Revision 25267fdd (git): [ruby/yarp] Exclude heredoc_nested test for Rubies < 3.3
Ripper's lexemes were slightly different in Ruby 3.2 for Heredocs.
We ignored this complex heredoc test in this case because
Ripper's output has changed
https://github.com/ruby/yarp/commit/59d3d4a899
jemmai (Jemma Issroff)
10:28 AM Feature #19744: Namespace on read
Just a quick comment to Jeremy's statement:
> In regards to the feature in general, looking at my large libraries, all of them use absolute :: references at least occasionally
I use :: quite a lot in my gems as well so I can relate to ...
rubyFeedback (robert heiler)
09:38 AM Revision 22f97355 (git): Use already installed `rustc` if available [ci skip]
nobu (Nobuyoshi Nakada)
08:47 AM Revision 7fdf98ef (git): [rubygems/rubygems] Deprecate Gem::Platform.match
https://github.com/rubygems/rubygems/commit/e3ba3e2225 hsbt (Hiroshi SHIBATA)
07:48 AM Revision f602cb55 (git): [rubygems/rubygems] Boundary check in `Gem::StreamUI#choose_from_list`
https://github.com/rubygems/rubygems/commit/abacb0cb34 nobu (Nobuyoshi Nakada)
05:52 AM Revision 47c7c188 (git): Add comments to id.h and undef finished macros
nobu (Nobuyoshi Nakada)
04:22 AM Feature #19776: Warn bundled gems when it called from `require`
I submit https://github.com/rubygems/rubygems/pull/6831 to RubyGems upstream. hsbt (Hiroshi SHIBATA)

07/20/2023

10:04 PM Revision 8d9a25a6 (git): misc/gdb.py: Allow overriding stack_size [ci skip]
k0kubun (Takashi Kokubun)
08:50 PM Revision 210caa77 (git): More RDoc for Dir.glob (#8088)
burdettelamar (Burdette Lamar)
07:54 PM Revision c4ef3d76 (git): YJIT: Rename exec_instruction to yjit_insns_count (#8102)
k0kubun (Takashi Kokubun)
07:52 PM Revision b71f79dd (git): Add a missing *
Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> k0kubun (Takashi Kokubun)
07:04 PM Revision 1129488f (git): Ignore win32/file.o on update-deps
This job has been so flaky:
https://github.com/ruby/ruby/actions/runs/5614842978/job/15213840097
k0kubun (Takashi Kokubun)
06:55 PM Revision a7127745 (git): Get rid of obsoleted __bp__ references
k0kubun (Takashi Kokubun)
06:52 PM Revision bbf059fb (git): Update default gems list at 134d8741731101b4b115e3d92ac008 [ci skip]
git[bot]
06:51 PM Revision 134d8741 (git): Sync YARP gemspec (#8101)
* Sync YARP gemspec
We were previously not syncing the YARP gemspec over which meant
that the Ruby YARP gem was out of sync.
* Sync YARP node / lex_compat files
jemmai (Jemma Issroff)
06:17 PM Revision 639aa76e (git): Embed struct rmatch into GC slot (#8097)
wks (Kunshan Wang)
06:01 PM Feature #19755: Module#class_eval and Binding#eval use caller location by default
I've merged the PR. Thanks for your work here! schneems (Richard Schneeman)
05:58 PM Revision 460c27dc (git): [ruby/syntax_suggest] Handle new eval source location
See https://bugs.ruby-lang.org/issues/19755
In Ruby 3.3, using `eval` without providing a source location
will now default to `"(eval at #{__FILE__}:#{__LINE__})"`.
https://github.com/ruby/syntax_suggest/commit/8e5076472e
byroot (Jean Boussier)
05:14 PM Revision b41fc9b9 (git): YJIT: Avoid undercounting retired_in_yjit (#8038)
* YJIT: Count the number of failed instructions
* Rename yjit_insns_count to exec_instructions instead
* Hoist out the exec_instruction counter
k0kubun (Takashi Kokubun)
02:58 PM Revision abce8583 (git): [ruby/yarp] Fix heredocs inside %W and %w lists
The problem was that we were treating heredoc bodies as part of the %W
list because we didn't push the scanning cursor past the heredoc after
lexing out the here doc. To fix this, we changed the whitespace
scanning function to quit scan...
tenderlovemaking (Aaron Patterson)
02:53 PM Revision 5c219c1b (git): proc.c: Remove unused parameter [ci skip]
alanwu (Alan Wu)
12:55 PM Revision 76ea8ecb (git): Supress warning that variable may be used uninitialized with ripper building
S_H_ (Shun Hiraoka)
12:38 PM Revision dd8372b3 (git): cvc table entries can move
eightbitraptor (Matt V-H)
09:24 AM Feature #19720: Warning for non-linear Regexps
@matz Given ReDoS are AFAIK the most common (by far) security vulnerability in Ruby, it warrants a reliable way to detect it, fix it and avoid it.
This way seems the best to me.
In fact I think only this approach or something very simi...
Eregon (Benoit Daloze)
07:27 AM Feature #19776: Warn bundled gems when it called from `require`
Isn't it time that upstream should start to encourage that every part of the StdLib should be listed in Gemfile? How long it is the URI gem fixing MEDIUM rated CVE was released and who uses it? Who added it into their Gemfile? Who even n... vo.x (Vit Ondruch)
07:00 AM Revision 62cb739b (git): Update bundled gems list at 2023-07-20
git[bot]

07/19/2023

11:20 PM Revision 419fbc77 (git): [rubygems/rubygems] Clear `YAML` constant if it was undefined previously
https://github.com/rubygems/rubygems/commit/31d0311258 nobu (Nobuyoshi Nakada)
08:15 PM Revision 84b52741 (git): [ruby/yarp] Resync YARP (#8098)
jemmai (Jemma Issroff)
01:31 PM Revision 7380c73a (git): [ruby/reline] Add assertion to auto_indent_proc's parameter, add
Ctrl-d exit test
(https://github.com/ruby/reline/pull/574)
* Add auto_indent_proc's parameter assertion in multiline_repl
* Add rendering test for Ctrl-d exit
https://github.com/ruby/reline/commit/46db71132a
tompng (tomoya ishida)
01:25 PM Revision ca561480 (git): [ruby/reline] Always set ANSI CSI keybindings for Home, End, and
Arrow.
(https://github.com/ruby/reline/pull/569)
https://github.com/ruby/reline/commit/f363a43a45
tompng (tomoya ishida)
10:29 AM Revision ea2fc58d (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
09:03 AM Feature #19351 (Closed): Promote bundled gems at Ruby 3.3
I filed new issue for warning feature: https://bugs.ruby-lang.org/issues/19776
hsbt (Hiroshi SHIBATA)
09:02 AM Feature #19776 (Closed): Warn bundled gems when it called from `require`
We should warn when users try to load default gems that will be promoted bundled gems at next version. We will warn them only under the bundler environment without Gemfile.
* Ruby 3.3:
* Warn for adding bundled gems to be addressed...
hsbt (Hiroshi SHIBATA)
07:12 AM Misc #19772: API naming for YARP compiler
I don't think "YA-" names nice in general, unless for development code name.
As for `YARP.compile`, "a parser compiles code" sounds strange a little to me.
It might be better that `YARP.parse` will return AST and the AST has `compile...
nobu (Nobuyoshi Nakada)
07:03 AM Feature #19775 (Closed): Use the callback `main::const_added`
Since top-level constants are defined under Object, their definition can be hooked by defining `Object.const_added`.
```ruby
def Object.const_added(name)
p name
end
Foo = 1 #=> :Foo
```
mame (Yusuke Endoh)
06:43 AM Feature #19775 (Closed): Use the callback `main::const_added`
In #17881, it was accepted that `Module#const_added` is called when there is a new constant added to the namespace of the module.
Since `main` can also serve as a namespace, it should also be able to use this callback.
```ruby
def c...
UlyssesZhan (Ulysses Zhan)
06:01 AM Feature #19744: Namespace on read
Thanks for providing your ideas.
tagomoris (Satoshi Tagomori) wrote in #note-10:
> a. Lift up all functions to Ruby level method calls on the `glib2` side, then use them on `gobject-introspection`
It's impossible for the `glib2`...
kou (Kouhei Sutou)
05:35 AM Revision 0765b890 (git): Fix `USE_THREAD_CACHE=0`
nobu (Nobuyoshi Nakada)
03:42 AM Revision a3a74771 (git): Add a corner case for `return`
nobu (Nobuyoshi Nakada)
02:50 AM Misc #19679: Migrate Wiki from bugs.ruby-lang.org to ruby/ruby GitHub repository
Thanks Jemma,
I disabled wiki feature of Redmine at last week.
hsbt (Hiroshi SHIBATA)

07/18/2023

09:52 PM Revision 3211b705 (git): Fix off-by-one in comment [ci skip]
alanwu (Alan Wu)
08:33 PM Revision 45fd0061 (git): [ruby/reline] Fix [nil] is passed to auto_indent_proc when exit with
CTRL+d
(https://github.com/ruby/reline/pull/571)
* Fix [nil] is passed to auto_indent_proc when exit with CTRL+d
Fix it https://github.com/ruby/reline/issues/556
* not call auto_indent_proc when Ctrl+d.
see: https://github.com/ruby/r...
osyo (manga osyo)
08:31 PM Revision b4003079 (git): [ruby/reline] Add missing `close` to test_rendering.rb
(https://github.com/ruby/reline/pull/573)
https://github.com/ruby/reline/commit/7cd817036e
tompng (tomoya ishida)
06:52 PM Bug #19774 (Closed): `END {return}` segfaults since in 3.2
Applied in changeset commit:git|fe4d906f5fbacbe6e9267af3bd3503339bad63a9.
----------
[Bug #19774] Fix segfault at `return` in `END`
nobu (Nobuyoshi Nakada)
04:26 PM Bug #19774 (Closed): `END {return}` segfaults since in 3.2
```
$ ruby3.2 -e 'END{return}'
-e: unexpected return
-e: [BUG] Segmentation fault at 0x0000000000000048
ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x86_64-darwin22]
```
nobu (Nobuyoshi Nakada)
06:52 PM Revision ecbedf9b (git): Remove assumption about object order
The address of objects can't be assumed since a later object may be
allocate in a swept slot.
peterzhu2118 (Peter Zhu)
06:52 PM Revision 4c03eab1 (git): Lazily allocate pages at boot
We can just set alloctable pages for the first size pool rather than
eagerly allocating pages.
peterzhu2118 (Peter Zhu)
06:47 PM Misc #19772: API naming for YARP compiler
I believe YARP.compile() is a bit of a strange name since it is
so specific to YARP.
If possible I would perhaps recommend something like the other
suggestion:
RubyVM::InstructionSequence.compile(yarp: true)
Or perhaps ano...
rubyFeedback (robert heiler)
10:19 AM Misc #19772: API naming for YARP compiler
And also option 1. seems very confusing, because it would imply the `YARP` module is always defined, but only has the `compile` method and not `parse`, etc until `require "yarp"`. Eregon (Benoit Daloze)
10:12 AM Misc #19772: API naming for YARP compiler
FWIW I don't think renaming YARP at this point makes sense, now that the `yarp` gem [is owned](https://rubygems.org/gems/yarp) by @kddnewton and after the [detailed blog post](https://railsatscale.com/2023-06-12-rewriting-the-ruby-parser... Eregon (Benoit Daloze)
06:40 PM Revision fe4d906f (git): [Bug #19774] Fix segfault at `return` in `END`
nobu (Nobuyoshi Nakada)
04:53 PM Revision ac7d3402 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.58 to 0.9.79.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.58...v0.9.79)
---
updated-depende...
dependabot[bot]
03:43 PM Revision 9c94db7c (git): Add tests for `return` in `BEGIN` and `END` blocks
nobu (Nobuyoshi Nakada)
03:18 PM Revision d6ad334d (git): [ruby/irb] Reduce boilerplate code in RubyLexTest
(https://github.com/ruby/irb/pull/644)
* Avoid initialising Row at every test input
* Extract common assertion patterns into methods
* Remove unnecessary PromptRow strcut and boilerplate code
https://github.com/ruby/irb/commit/1ba586...
st0012 (Stan Lo)
03:06 PM Revision d1992d6d (git): Reset signal handler before aborting due to sanitizer
When aborting by a sanitizer, `SIGILL` or something is raised and
often results in raising the same signal infinitely.
nobu (Nobuyoshi Nakada)
03:06 PM Revision ebeecbd5 (git): Unify `writev` and `write` operations in `check_reserved_signal_`
nobu (Nobuyoshi Nakada)
03:02 PM Revision 19486ebd (git): [flori/json] Re-generate parser.c
https://github.com/flori/json/commit/82a75ba98e nobu (Nobuyoshi Nakada)
03:02 PM Revision 768668a4 (git): [flori/json] Remove unnecessary code
In `JSON#generate` and `JSON#fast_generate`:
- When the given `opts` is a `JSON::State` the variable is set to
`nil`.
- But it will be never used as the next `if` blocks will not be
executed.
- `JSON::State#configure` does the conve...
nobu (Nobuyoshi Nakada)
03:02 PM Revision 104089ce (git): [flori/json] [DOC] Remove duplicate sentence
https://github.com/flori/json/commit/ed242667b4 nobu (Nobuyoshi Nakada)
03:02 PM Revision f1f84ca7 (git): [flori/json] Remove `HAVE_RB_SCAN_ARGS_OPTIONAL_HASH` check
This macro is defined since ruby 2.1, which is older than the required
ruby version.
https://github.com/flori/json/commit/dd1d54e78a
nobu (Nobuyoshi Nakada)
01:53 PM Revision 0db58dd0 (git): [ruby/irb] Declare rdoc as dependency
(https://github.com/ruby/irb/pull/648)
IRB already has several features that rely on rdoc, such as:
- Autocompletion's document dialog
- Autocompletion's `PerfectMatchedProc`
- The `show_doc` command
- Easter egg
And we could use its ...
st0012 (Stan Lo)
12:10 PM Bug #19577: Backport commit 537183cd2ac0163851277b46a2f21ea5914c11c0
ruby_3_1 2698b68ae86df333ff8bc8c4655f8012ee619257 merged revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0. usa (Usaku NAKAMURA)
12:10 PM Revision 2698b68a (git): merge revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0: [Backport #19577]
Fix write barrier order for `klass` to `cme` edge
Previously, the following crashes with
`CFLAGS=-DRGENGC_CHECK_MODE=2 -DRUBY_DEBUG=1 -fno-inline`:
$ ./miniruby -e 'GC.stress = true; Marshal.dump({})'
...
U.Nakamura
12:04 PM Bug #19580: Ensure ruby_xfree won't segfault if called after ruby_vm_destruct
ruby_3_1 3eea678b069aeec7f3a97437be204f65d5193e00 merged revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d. usa (Usaku NAKAMURA)
12:04 PM Revision 3eea678b (git): merge revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d: [Backport #19580]
Ensure ruby_xfree won't segfault if called after vm_destruct
[Bug #19580]
The real-world scenario motivating this change is libxml2's pthread
code which uses `pthread_key_create` to set up a destructor that is
...
U.Nakamura
11:50 AM Bug #19593: Crash due to throw data set as cause
ruby_3_1 c96ef4eee6b27796bb15ba161ef936998acbcf96 merged revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe. usa (Usaku NAKAMURA)
11:50 AM Revision c96ef4ee (git): merge revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe: [Backport #19593]
Ensure throw data is not set as cause
[Bug #19593]
rb_ec_setup_exception did not check if errinfo is a throw_data. This can
cause crashes in code since it is assumed that id_cause is an object.
We saw a...
U.Nakamura
10:23 AM Feature #19755: Module#class_eval and Binding#eval use caller location by default
> we need to handle `__dir__`
So the way it was handled until now was simply:
```c
if (path == eval_default_path) {
return Qnil;
}
```
So how I'm handling it right now is basically `path.start_with?("(eval at ") && path.en...
byroot (Jean Boussier)
10:23 AM Revision b89b7d8f (git): [DOC] Fix a magic comment in the section for `experimental_copy`
Ivanov-Anton
07:30 AM Bug #19773 (Closed): Intermittent SIGSEGV during marking of Ripper parser
eightbitraptor (Matt V-H)
07:29 AM Bug #19773: Intermittent SIGSEGV during marking of Ripper parser
It looks like 3 of us have independently fixed this issue (in [#8084](https://github.com/ruby/ruby/pull/8084), [#8085](https://github.com/ruby/ruby/pull/8085), and [#8089](https://github.com/ruby/ruby/pull/8089)).
Nobu's fix in 8085 h...
eightbitraptor (Matt V-H)
05:48 AM Feature #19764: Introduce defp keyword for defining overloadable, pattern matched methods
Going to go through a few points here, sorry for the long reply.
### Taking - A gem implementation
I had hacked this behavior together at one point with `Taking`: https://github.com/baweaver/taking
```ruby
Point = Struct.new(:x...
baweaver (Brandon Weaver)
02:57 AM Feature #19764: Introduce defp keyword for defining overloadable, pattern matched methods
zeke (Zeke Gabrielse) wrote:
> ```ruby
> ...
BTW, I found this would be able to extend.
```ruby
def call(...)
in String => s unless s in /foo/
puts "string: #{s.inspect} (not foo)"
in String => s
puts "string: #{s.inspect}"...
nobu (Nobuyoshi Nakada)
03:25 AM Revision 56c8dab4 (git): [flori/json] Skip BigDecimal tests when it's missing to load
https://github.com/flori/json/commit/3dd36c6077 hsbt (Hiroshi SHIBATA)
03:25 AM Revision 9f51810f (git): [flori/json] Skip unsupported test on JRuby
https://github.com/flori/json/commit/7138bf32c7 nobu (Nobuyoshi Nakada)
03:25 AM Revision 9977462f (git): [flori/json] Rename JSON::ParseError to JSON:ParserError
https://github.com/flori/json/commit/20b80ca317 Dimitar Haralanov
02:55 AM Revision b368990c (git): [ruby/psych] Skip BigDecimal tests when it's missing to load
https://github.com/ruby/psych/commit/e1dbfae7a6 hsbt (Hiroshi SHIBATA)

07/17/2023

10:11 PM Bug #19773 (Closed): Intermittent SIGSEGV during marking of Ripper parser
[Github PR 8089](https://github.com/ruby/ruby/pull/8089)
Intermittent SIGSEGV during marking of the Ripper parser. A failing build [can be seen on ci.rvm.jp (build 4643684)](http://ci.rvm.jp/results/trunk-random2@ruby-sp2-docker/46436...
eightbitraptor (Matt V-H)
06:01 PM Feature #19351: Promote bundled gems at Ruby 3.3
Yeah, it probably makes sense to mention both possibilities and let the user figure out which one applies to her. deivid (David Rodríguez)
09:31 AM Feature #19351: Promote bundled gems at Ruby 3.3
I think it's best to just mention both possibilities in the warning message.
Detecting this is inherently brittle.
Eregon (Benoit Daloze)
05:57 PM Revision f302e725 (git): Remove __bp__ and speed-up bmethod calls (#8060)
Remove rb_control_frame_t::__bp__ and optimize bmethod calls
This commit removes the __bp__ field from rb_control_frame_t. It was
introduced to help MJIT, but since MJIT was replaced by RJIT, we can use
vm_base_ptr() to compute it from ...
alanwu (Alan Wu)
04:09 PM Misc #19772 (Closed): API naming for YARP compiler
We are working on the YARP compiler, and have [the first PR ready](https://github.com/ruby/ruby/pull/8042) which introduces the YARP compile method. Our only outstanding question before merging it is about naming. How should we expose th... jemmai (Jemma Issroff)
02:57 PM Revision 105bdba8 (git): Fix logarithm of 0 with base
nobu (Nobuyoshi Nakada)
02:41 PM Revision d70484f0 (git): YJIT: refactoring to allow for fancier call threshold logic (#8078)
* YJIT: refactoring to allow for fancier call threshold logic
* Avoid potentially compiling functions multiple times.
* Update vm.c
Co-authored-by: Alan Wu <XrXr@users.noreply.github.com>
---------
Co-authored-by: Alan Wu <XrXr@user...
maximecb (Maxime Chevalier-Boisvert)
02:20 PM Bug #19771 (Closed): Backport Speed up rebuilding the loaded feature index and realpath cache - 79a4484, abfac22
* https://github.com/ruby/ruby/commit/79a4484a072e9769b603e7b4fbdb15b1d7eccb15
* https://github.com/ruby/ruby/commit/abfac2222bd51a03ec11b64f4770179cb6d06515
Related backport PR: https://github.com/ruby/ruby/pull/8023
krk (Kerem Kat)
12:31 PM Revision 1c4a5230 (git): Move `posix_signal` declaration internal with prefix `ruby_`
nobu (Nobuyoshi Nakada)
12:00 PM Bug #19770: TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
In that case, the hostname is a human readable IP: 192.168.55.11
Schachi65 (Joachim Schachermayer)
11:07 AM Bug #19770: TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
The document of `IPAddr#initialize` says:
```
Creates a new ipaddr object either from a human readable IP
address representation in string, or from a packed in_addr value
followed by an address family.
```
and
```
In the fo...
nobu (Nobuyoshi Nakada)
10:30 AM Bug #19770 (Third Party's Issue): TLS / Certificate Hostname Verification against IP fails with "address family must be specified"
I dont't use Ruby directly but indirectly via Fluentd-1.16.1 (https://www.fluentd.org/). Fluentd uses Ruby 3.1.4.
The problem is, that a TLS connection from a Fluentd Client to a Fluentd Server fails, if the connection is established ...
Schachi65 (Joachim Schachermayer)
11:44 AM Revision 2476b1ee (git): objspace is not used in parent process [ci skip]
nobu (Nobuyoshi Nakada)
10:50 AM Revision f1adc586 (git): Fix up to require objspace
nobu (Nobuyoshi Nakada)
10:49 AM Revision b998e6b7 (git): Run `Process.warmup` tests in separate processes
nobu (Nobuyoshi Nakada)
09:21 AM Bug #19750: Ruby hangs when parsing Regexp with unterminated unicode "/\u{"
ruby_3_2 3f6187a94797d3c4a7db00563a885e4e613b51cf merged revision(s) 1bc8838d60ef3fc6812d3b64ed87caaf0ae943d9. nagachika (Tomoyuki Chikanaga)
09:20 AM Feature #18885 (Closed): End of boot advisory API for RubyVM
Applied in changeset commit:git|fa30b99c34291cde7b17cc709552bc5681729a12.
----------
Implement Process.warmup
[Feature #18885]
For now, the optimizations performed are:
- Run a major GC
- Compact the heap
- Promote all survivin...
byroot (Jean Boussier)
09:20 AM Revision fa30b99c (git): Implement Process.warmup
[Feature #18885]
For now, the optimizations performed are:
- Run a major GC
- Compact the heap
- Promote all surviving objects to oldgen
Other optimizations may follow.
byroot (Jean Boussier)
09:04 AM Revision 3f6187a9 (git): merge revision(s) 1bc8838d60ef3fc6812d3b64ed87caaf0ae943d9: [Backport #19750]
Handle unterminated unicode escapes in regexps
This fixes an infinite loop possible after ec3542229b29ec93062e9d90e877ea29d3c19472.
For \u{} escapes in regexps, skip validation in the parser, and rely on the regexp
...
nagachika (Tomoyuki Chikanaga)
08:30 AM Revision aef53162 (git): Fixup be09d77b966c7bcc77957927f16cefe66b365495.
nagachika (Tomoyuki Chikanaga)
08:27 AM Bug #19601: YJIT `try to mark T_NONE object` stemming from object shape transition on `self`
ruby_3_2 5fbd72764e020c6b165604e9cdcc932a1c5d2a93 merged revision(s) 31e67a476f2262e01a0829e8ab5e6d8a97e0724e,0b95cbcbde8875effdbcbb676cb0a7f751a1d4c1. nagachika (Tomoyuki Chikanaga)
08:26 AM Bug #19455: Ruby 3.2: wrong Regexp encoding with non-ASCII comments
ruby_3_2 be09d77b966c7bcc77957927f16cefe66b365495 merged revision(s) a8ba1ddd78544b4bda749051d44f7b2a8a0ec5ff. nagachika (Tomoyuki Chikanaga)
08:23 AM Revision be09d77b (git): merge revision(s) a8ba1ddd78544b4bda749051d44f7b2a8a0ec5ff: [Backport #19455]
Use UTF-8 encoding for literal extended regexps with UTF-8 characters
in comments
Fixes [Bug #19455]
---
re.c | 9 ++++++++-
test/ruby/test_regexp.rb | 7 +++++++
2 f...
nagachika (Tomoyuki Chikanaga)
08:21 AM Revision 5fbd7276 (git): merge revision(s) 31e67a476f2262e01a0829e8ab5e6d8a97e0724e,0b95cbcbde8875effdbcbb676cb0a7f751a1d4c1: [Backport #19601]
YJIT: Fix false object collection when setting ivar
Previously, setinstancevariable could generate code that calls
`rb_ensure_iv_list_size()` without first updating `cfp->sp`. This means
in the event that a GC st...
nagachika (Tomoyuki Chikanaga)
07:44 AM Feature #19744: Namespace on read
tagomoris (Satoshi Tagomori) wrote in #note-13:
> Naruse suggested me another way to call the C function of different shared objects in different gems (https://twitter.com/nalsh/status/1679060154262913024). I'll take time to understand ...
tagomoris (Satoshi Tagomori)
07:10 AM Bug #19533: Behavior of ===/include? on a beginless/endless range (nil..nil) changed in ruby 3.2
ruby_3_2 5328c58c7d00540f4f56749aaeefb68761bd7eba merged revision(s) 1a149aab776aa6741628eb35482eff1ded197fd2,fb17c833f542222afdf482924877d43aa577782d,60f22ebf86248388b41b4ec751d16700f2b4b621. nagachika (Tomoyuki Chikanaga)
07:09 AM Bug #19593: Crash due to throw data set as cause
ruby_3_2 5fc9825ccf651664c547b1822c7f753464e27f06 merged revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe. nagachika (Tomoyuki Chikanaga)
07:09 AM Revision 5fc9825c (git): merge revision(s) 02a7e12b80823919fb614ad3ea6241d5115d14fe: [Backport #19593]
Ensure throw data is not set as cause
[Bug #19593]
rb_ec_setup_exception did not check if errinfo is a throw_data. This can
cause crashes in code since it is assumed that id_cause is an object.
We saw a...
nagachika (Tomoyuki Chikanaga)
07:07 AM Revision 5328c58c (git): merge revision(s) 1a149aab776aa6741628eb35482eff1ded197fd2,fb17c833f542222afdf482924877d43aa577782d,60f22ebf86248388b41b4ec751d16700f2b4b621: [Backport #19533]
Extract range type check functions
---
range.c | 55 ++++++++++++++++++++++++++++++++++++-------------------
1 file changed, 36 insertions(+), 19 deletions(-)
[Bug #19533] Fix infinite range inclusion w...
nagachika (Tomoyuki Chikanaga)
06:12 AM Bug #19589: Expecting system stack error but crashing
ruby_3_2 8165db0f4666f90fe0df5cdd466f73c6de1f6cea merged revision(s) 8c360ce713f57d4177de833297364f6f6d950420. nagachika (Tomoyuki Chikanaga)
06:11 AM Bug #19587: Segmentation fault with ruby 3.2.0 - when running rspec suit.
ruby_3_2 a7b0d3c9db9afeccf6e0962bb1cdcbea5bf04cae merged revision(s) 0ac3f2c20e50c22d298238f602f25f84248ac7a5. nagachika (Tomoyuki Chikanaga)
05:21 AM Revision 8165db0f (git): merge revision(s) 8c360ce713f57d4177de833297364f6f6d950420: [Backport #19589]
hash.c: Fix hash_iter_lev_dec corrupting shape
[Bug #19589]
When decrementing `iter_lev` from `65` to `64` the flags would be
corrupted, causing the shape_id to be invalid.
---
hash.c ...
nagachika (Tomoyuki Chikanaga)
05:20 AM Revision a7b0d3c9 (git): merge revision(s) 0ac3f2c20e50c22d298238f602f25f84248ac7a5: [Backport #19587]
[Bug #19587] Fix `reset_match_cache` arguments
---
regexec.c | 2 +-
test/ruby/test_regexp.rb | 8 ++++++++
2 files changed, 9 insertions(+), 1 deletion(-)
nagachika (Tomoyuki Chikanaga)
05:09 AM Revision 0c5d5394 (git): Fixup the latest commits.
nagachika (Tomoyuki Chikanaga)
04:59 AM Bug #19595: YJIT: Crash from missing argc check in known cfuncs
ruby_3_2 8852b4b2deea20f488208dc4730ef149f67d7594 merged revision(s) 0ce2bdc76dd17aa3d42a352a6244c87a51e7606d. nagachika (Tomoyuki Chikanaga)
04:59 AM Revision 8852b4b2 (git): merge revision(s) 0ce2bdc76dd17aa3d42a352a6244c87a51e7606d: [Backport #19595]
YJIT: Fix missing argc check in known cfuncs
Previously we were missing a compile-time check that the known cfuncs
receive the correct number of arguments.
We noticied this because in particular when using ARGS_...
nagachika (Tomoyuki Chikanaga)
02:33 AM Bug #19582: Segmentation fault when running the tests for Ruby 3.2.2
ruby_3_2 9d8d0585ec35070099e4fdeef5ee18f6fbf339b6 merged revision(s) f6adc5be94a9f70a5b9897b81dabdeb49b573393,bccdc041665032b819fab1c04ed4dbdfeeeb366b. nagachika (Tomoyuki Chikanaga)
02:32 AM Bug #19580: Ensure ruby_xfree won't segfault if called after ruby_vm_destruct
ruby_3_2 62763658d53a66ad624e1c730742cb3811d18329 merged revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d. nagachika (Tomoyuki Chikanaga)
02:32 AM Bug #19577: Backport commit 537183cd2ac0163851277b46a2f21ea5914c11c0
ruby_3_2 98b4ac7287928c202c90e9de1ae02c0707ec68b8 merged revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0. nagachika (Tomoyuki Chikanaga)
02:32 AM Bug #19575: Crash in Time on 32-bit systems
ruby_3_2 cb8d656100659eaee44042ca680886c30892df04 merged revision(s) a84c99468f26a9f79fec57926d561ed906505eac. nagachika (Tomoyuki Chikanaga)
02:32 AM Bug #19550: Memory leak in iclass for 32 bit systems
ruby_3_2 9fb94407b97bb85ea344e67606f8ae9ba0bdbd48 merged revision(s) 417b1a36447cb2c650de55b433ba623541fb8bb3. nagachika (Tomoyuki Chikanaga)
12:54 AM Revision 9d8d0585 (git): merge revision(s) f6adc5be94a9f70a5b9897b81dabdeb49b573393,bccdc041665032b819fab1c04ed4dbdfeeeb366b: [Backport #19582]
Check if Bundler is defined
---
tool/lib/leakchecker.rb | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Check if `Bundler::EnvironmentPreserver` is defined
Only `Bundler` might be defined...
nagachika (Tomoyuki Chikanaga)
12:51 AM Revision 62763658 (git): merge revision(s) 52e571fa72debcd764765775bd1b76ee87e36d2d: [Backport #19580]
Ensure ruby_xfree won't segfault if called after vm_destruct
[Bug #19580]
The real-world scenario motivating this change is libxml2's pthread
code which uses `pthread_key_create` to set up a destructor that is
...
nagachika (Tomoyuki Chikanaga)
12:50 AM Revision 98b4ac72 (git): merge revision(s) 537183cd2ac0163851277b46a2f21ea5914c11c0: [Backport #19577]
Fix write barrier order for `klass` to `cme` edge
Previously, the following crashes with
`CFLAGS=-DRGENGC_CHECK_MODE=2 -DRUBY_DEBUG=1 -fno-inline`:
$ ./miniruby -e 'GC.stress = true; Marshal.dump({})'
...
nagachika (Tomoyuki Chikanaga)
12:45 AM Revision cb8d6561 (git): merge revision(s) a84c99468f26a9f79fec57926d561ed906505eac: [Backport #19575]
Fix crash in Time on 32-bit systems
[Bug #19575]
struct vtm is packed causing it to have a size that is not aligned on
32-bit systems. When allocating it on the stack, it will have unaligned
addresses wh...
nagachika (Tomoyuki Chikanaga)
12:29 AM Revision 9fb94407 (git): merge revision(s) 417b1a36447cb2c650de55b433ba623541fb8bb3: [Backport #19550]
Fix memory leak for iclass
[Bug #19550]
If !RCLASS_EXT_EMBEDDED (e.g. 32 bit systems) then the rb_classext_t is
allocated throug malloc so it must be freed.
The issue can be seen in the following script...
nagachika (Tomoyuki Chikanaga)

07/16/2023

03:15 PM Revision d3bcff01 (git): Fix a typo [ci skip]
nobu (Nobuyoshi Nakada)
02:30 PM Revision 45b14ef5 (git): merge revision(s) 7c9ce38cdb781958c52a89b910ee83d5fea99048:
Remove duplicated Rust installation
---
.cirrus.yml | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)
nagachika (Tomoyuki Chikanaga)
02:30 PM Revision 6a323c3d (git): merge revision(s) 6f4c8d1dcffe859442d857b4a6b4bcd7537b7797:
[Cirrus] Run only when YJIT sources change [skip appveyor]
[ci skip] on other CIs.
Our tasks very often reach a concurrency limit on Cirrus-CI, and get
delayed. Submitting new tasks during the delay seems to ma...
nagachika (Tomoyuki Chikanaga)
02:28 PM Revision 6feef620 (git): merge revision(s) 4bfa4433830a4e48bc4ca43aef861d213affdd84:
[Cirrus] Set up cargo environments just once at first
---
.cirrus.yml | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
nagachika (Tomoyuki Chikanaga)
02:27 PM Revision 35b0f105 (git): merge revision(s) 3a761dcc91fcbed828699fcc38017f14a1a2db65,d2ffd0ad3d225b6b9e121278146eae8500e9f259:
[Cirrus] Show CPU and memory info
---
.cirrus.yml | 6 ++++++
1 file changed, 6 insertions(+)
[Cirrus] Share configuration using YAML aliases
https://cirrus-ci.org/guide/tips-and-tricks/#sharin...
nagachika (Tomoyuki Chikanaga)
02:20 PM Revision e14280fa (git): merge revision(s) bde3b98a6040800e05c9cf448228f094f80b8fed:
[Cirrus] Make gem download non-verbose
---
.cirrus.yml | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
nagachika (Tomoyuki Chikanaga)
10:27 AM Revision 0a570a00 (git): Fix `#line` directive filename of ripper.c
Before:
```c
/* First part of user prologue. */
#line 14 "parse.y"
```
After:
```c
/* First part of user prologue. */
#line 14 "ripper.y"
```
yui-knk (Kaneko Yuichiro)
09:59 AM Revision 88cd1399 (git): merge revision(s) 37513490442322e82961bf6d06c1c86d55cb3830:
[Cirrus] Cache the bundled gems in advance
---
.cirrus.yml | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
nagachika (Tomoyuki Chikanaga)
09:57 AM Revision bfa04c03 (git): merge revision(s) 72f07f0a5f882e87e305d668587152fa209a0568:
Reduce concurrency of Cirrus-CI [ci skip]
clang-12 takes 2-3 times longer than gcc-11.
---
.cirrus.yml | 4 ----
1 file changed, 4 deletions(-)
nagachika (Tomoyuki Chikanaga)
08:10 AM Bug #19084: Using `IO::Buffer` to change an extended String affects other Strings sharing the same buffer
ruby_3_2 c911cbd6c3dcc80def61ab48be1815cd910fc91b merged revision(s) bd786e78969f9d4a8699376ceafe10934b6ad533. nagachika (Tomoyuki Chikanaga)
08:10 AM Bug #19546: IO::Buffer is incorrectly invoking fiber scheduler interface.
ruby_3_2 5ad2390b551f4a28ea3d4db78c21863489fdd681 merged revision(s) 466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf. nagachika (Tomoyuki Chikanaga)
08:10 AM Bug #19543: Resizing IO::Buffer to zero bytes fails
ruby_3_2 c13757ed9ae02a2d03aea91bb852397aa920f3fd merged revision(s) 09295ea796900fb7b05d29e93364090e21598566. nagachika (Tomoyuki Chikanaga)
07:50 AM Revision c911cbd6 (git): merge revision(s) bd786e78969f9d4a8699376ceafe10934b6ad533: [Backport #19084]
Fix mutation on shared strings. (#7837)
---
io_buffer.c | 19 ++++++++++++-------
test/ruby/test_io_buffer.rb | 4 ----
2 files changed, 12 insertions(+), 11 deletions(-)
nagachika (Tomoyuki Chikanaga)
07:44 AM Revision 5ad2390b (git): merge revision(s) 466aa8010fb49f9ec6c78ea1de4e8ca0965f4fdf: [Backport #19546]
Fix incorrect usage of `rb_fiber_scheduler_io_(p)(read|write)`.
(#7593)
---
io_buffer.c | 8 ++++----
scheduler.c | 48 ++++++++++++++++++++++----------------------
...
nagachika (Tomoyuki Chikanaga)
07:42 AM Revision c13757ed (git): merge revision(s) 09295ea796900fb7b05d29e93364090e21598566: [Backport #19543]
IO::Buffer#resize: Free internal buffer if new size is zero (#7569)
`#resize(0)` on an IO::Buffer with internal buffer allocated will
result in calling `realloc(data->base, 0)`. The behavior of `realloc`
with siz...
nagachika (Tomoyuki Chikanaga)
06:41 AM Revision 5c77402d (git): Fix null pointer access in Ripper#initialize
In `rb_ruby_ripper_parser_allocate`, `r->p` is NULL between creating
`self` and `parser_params` assignment. As GC can happen there, the
typed-data functions for it need to consider the case.
nobu (Nobuyoshi Nakada)
03:59 AM Bug #19482: Fix crash when allocating classes with newobj hook
ruby_3_2 141402d11c09fa641eebd8f4841f81e7bbf3518c merged revision(s) e1bd45624c85e8a80991bda20801f50967ac77a1. nagachika (Tomoyuki Chikanaga)
03:58 AM Revision 141402d1 (git): merge revision(s) e1bd45624c85e8a80991bda20801f50967ac77a1: [Backport #19482]
Fix crash when allocating classes with newobj hook
We need to zero out the whole slot when running the newobj hook for a
newly allocated class because the slot could be filled with garbage,
which would cause a cr...
nagachika (Tomoyuki Chikanaga)
03:52 AM Bug #19483: rubyzip not behaving well with YJIT
ruby_3_2 293a00e622da077cd6fad2e4055eb15b081fc2a6 merged revision(s) 33edcc112081f96856d52e73253d73c97a5c4a3c,b4e438d8aabaf4bba2b27f374c787543fae07c58. nagachika (Tomoyuki Chikanaga)
03:52 AM Bug #19463: YJIT `[BUG] Stack consistency error` under certain invalidation scenarios
ruby_3_2 0ba10fd8508b1a2bf7488649ee90622de9bef04a merged revision(s) 132934b82baad97107fe754d60f9a68a1db7ecda. nagachika (Tomoyuki Chikanaga)
02:46 AM Revision 44a8e5e6 (git): merge revision(s) 833b32f503abb9712dbb3a6825b1730c8ee1e912,1dde9d726099fc4e4b06b8c848c85eac195c521b:
also disable yjit for clang < 10
They don't compile. I guess nobody actively maintain such old
compilers. Chances are the situation won't improve. Let's stop
testing yjit on them.
---
.github/...
nagachika (Tomoyuki Chikanaga)
02:46 AM Revision b13db31c (git): merge revision(s) fe42d88ad28df395111cfb9f2f67e21910083df1:
Pass -Werror=lto-type-mismatch for GCC LTO jobs
This helps to find possible LTO miscompilations earlier. See also
https://github.com/ruby/ruby/pull/7695.
---
.github/workflows/compilers.yml | 12 ++++++--...
nagachika (Tomoyuki Chikanaga)
02:43 AM Revision 3e664c58 (git): merge revision(s) 27a21ad201b04f9af6c206836b4c7543fb69a1e7:
give up checking old compilers
These old compilers needed old OSes, which are getting EODed. We
cannot maintain healthy binary of them (building compilers on our
own is quite haed). Let us just retire them. Fi...
nagachika (Tomoyuki Chikanaga)
02:36 AM Revision eeb4fc2c (git): merge revision(s) dd7c590f8a4dafbc0d659d07645aea59586b0f70,6a871baa3cd759c0eba361b4937eeca531513a09:
disable yjit when for non-flonum
YJIT does not interface with this flag.
---
.github/workflows/compilers.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Note that YJIT requires FLONUM ...
nagachika (Tomoyuki Chikanaga)
02:25 AM Revision 293a00e6 (git): merge revision(s) 33edcc112081f96856d52e73253d73c97a5c4a3c,b4e438d8aabaf4bba2b27f374c787543fae07c58: [Backport #19483]
YJIT: Protect strings from GC on String#<< (#7466)
Fix https://github.com/Shopify/yjit/issues/310
[Bug #19483]
Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com>
Co-authore...
nagachika (Tomoyuki Chikanaga)
02:25 AM Revision 0ba10fd8 (git): merge revision(s) 132934b82baad97107fe754d60f9a68a1db7ecda: [Backport #19463]
YJIT: Generate Block::entry_exit with block entry PC
Previously, when Block::entry_exit is requested from any instruction
that is not the first one in the block, we generated the exit with an
incorrect PC. We sho...
nagachika (Tomoyuki Chikanaga)
01:49 AM Bug #19318: Float#round rounds incorrectly for some cases
I don't think the fixes for this kind of long standing bugs should not be backported to stable branches.
usa-san, what is your opinion?
nagachika (Tomoyuki Chikanaga)

07/15/2023

06:12 PM Revision be98bfc4 (git): [ruby/irb] Indent multiline percent literals
(https://github.com/ruby/irb/pull/643)
https://github.com/ruby/irb/commit/18bb4022a9
tompng (tomoya ishida)
04:24 PM Revision da39936c (git): Prefer integer as base of intermediate logarithms
As long as "floating point numbers" cannot accurately represent an
irrational number, the result of the natural logarithm cannot be
accurate. Logarithms with an integer base may have the possibility to
represent more accurately.
nobu (Nobuyoshi Nakada)
03:59 PM Revision baf70c7d (git): Update default gems list at 7ffb995f5e3b6d749adb700e014f80 [ci skip]
git[bot]
03:59 PM Revision 7ffb995f (git): [ruby/irb] Bump 1.7.4 (https://github.com/ruby/irb/pull/645)
https://github.com/ruby/irb/commit/b0f650a766 ima1zumi (Mari Imaizumi)
03:39 PM Revision c32b608e (git): Add `--backtrace-limit` option to the man page
tomstuart (Tom Stuart)
03:39 PM Revision de68e240 (git): Allow -1 as the value of `--backtrace-limit` option
-1 is a legitimate backtrace limit — in fact, it’s the default — so it
should be possible to provide it with the `--backtrace-limit` option.
tomstuart (Tom Stuart)
03:39 PM Revision 125b4461 (git): Test that command line `--backtrace-limit` overrides RUBYOPT
Co-authored-by: Tom Stuart <hi@tomstu.art> nobu (Nobuyoshi Nakada)
03:39 PM Revision 72a3bb7e (git): Allow `--backtrace-limit` option to appear in RUBYOPT
There’s no reason to prevent RUBYOPT from controlling the backtrace
limit. In fact, Matz said [0] he was expecting this to be possible.
[0] https://bugs.ruby-lang.org/issues/8661#note-27
tomstuart (Tom Stuart)
07:37 AM Bug #19769 (Closed): Range of size 1 in String#tr causes unexpected behavior
Applied in changeset commit:git|e5825de7c9f07e4f7bd2b83ce8973e19a4652916.
----------
[Bug #19769] Fix range of size 1 in `String#tr`
Anonymous
07:36 AM Revision e5825de7 (git): [Bug #19769] Fix range of size 1 in `String#tr`
alexandre184
06:24 AM Revision f15123c3 (git): Fix stack trace for rescued StopIteration
Marcelo Pereira
03:50 AM Revision 82cd70ef (git): Use functions defined by parser_st.c to reduce dependency on st.c
yui-knk (Kaneko Yuichiro)
02:56 AM Feature #19714: Add Refinement#refined_module
Eregon (Benoit Daloze) wrote in #note-6:
> Make obsolete = deprecate it, right? (sounds OK)
I mean to add a warning in 3.3 and remove refined_class in 3.4:
https://github.com/ruby/ruby/pull/8075/files
shugo (Shugo Maeda)
 

Also available in: Atom