Project

General

Profile

Activity

From 07/27/2023 to 08/02/2023

08/02/2023

11:43 PM Revision 29fd0503 (git): * remove trailing spaces. [ci skip]
git[bot]
11:43 PM Revision 192ed8e7 (git): gdb.py: Add -a option to dump all frames [ci skip]
k0kubun (Takashi Kokubun)
11:25 PM Bug #19828 (Closed): Segfault when `OpenSSL::X509::Certificate#public_key=` is given a `OpenSSL::PKey::DH` object
The OpenSSL bindings cause a SegFault when creating a new OpenSSL::X509::Certificate object and setting it's `public_key` to the `public_key` of a new `OpenSSL::PKey::DH` key-pair.
### Steps To Reproduce
```ruby
#!/usr/bin/env rub...
postmodern (Hal Brodigan)
11:23 PM Revision 5f5cc22b (git): gdb.py: Print Env based on EP instead of BP
because EP could be escaped. k0kubun (Takashi Kokubun)
09:26 PM Feature #19572: Add a new TracePoint event for rescued exceptions
@ko1 Thank you! st0012 (Stan Lo)
06:35 PM Revision 32e828bb (git): [ruby/irb] Deprecate multi-irb commands
(https://github.com/ruby/irb/pull/654)
* Deprecate multi-irb commands
- Print deprecated message when any of the commands are used
- Put related commands under `Multi-irb` category with a deprecated
label
* Update readme
https://gi...
st0012 (Stan Lo)
06:33 PM Revision 8ecd300e (git): [ruby/irb] Extract integration testing helpers out of debug command
tests
(https://github.com/ruby/irb/pull/660)
The ability to run a test case in a subprocess is useful for testing
many other features, like nested IRB sessions. So I think it's worth
extracting them into a new test case class.
https://...
st0012 (Stan Lo)
04:53 PM Revision dc54574a (git): Update to ruby/spec@9e278f5
Eregon (Benoit Daloze)
03:33 PM Revision e20f1e44 (git): YJIT: Fallback setivar if the receiver isn't T_OBJECT (#8160)
Followup: https://github.com/ruby/ruby/pull/8152
If the receiver is a T_MODULE or T_CLASS and has a lot of
ivars, `get_next_shape_internal` will return `NULL`.
Co-authored-by: Jean Boussier <byroot@ruby-lang.org>
Jean byroot Boussier
03:13 PM Revision 3c41a04b (git): Fix encoding switches when RUBYOPT is empty or only spaces
* Follow-up of dbbc3583ba432c279f07b1fa0afb0a8a9ba50c91 which broke this. Eregon (Benoit Daloze)
02:55 PM Revision a502cd80 (git): Fix wrong assignment
nobu (Nobuyoshi Nakada)
02:19 PM Revision 81c198b5 (git): YJIT: Distinguish exit and fallback reasons for send (#8159)
k0kubun (Takashi Kokubun)
02:16 PM Revision 452debba (git): YJIT: Fix --yjit-dump-disasm coloring on less(1) (#8158)
k0kubun (Takashi Kokubun)
02:15 PM Revision d405410e (git): YJIT: Move ROBJECT_OFFSET_* to yjit.c (#8157)
k0kubun (Takashi Kokubun)
01:32 PM Bug #19795: attr_accessor leading to nil values for re-assignment
I got it in the end thanks to a peer. I misunderstood wrongly how this was working:
Running the following snippet helped me understand:
```ruby
# attr_accessor_nil.rb
class A
attr_accessor :a
def initialize
@a = 0
...
francktrouillez (Franck Trouillez)
12:55 PM Bug #19795: attr_accessor leading to nil values for re-assignment
I guess that it is a local variable, but is it the expected behavior?
As a developer, I expect that I can access `a` without the `self.a`.
Since the following code works as expected without `self`:
```ruby
# attr_accessor_nil.rb
class...
francktrouillez (Franck Trouillez)
12:42 PM Bug #19795 (Closed): attr_accessor leading to nil values for re-assignment
This is an assignment to the local variable, not the accessor.
```ruby
a += 1
```
You have to write:
```ruby
self.a += 1
```
nobu (Nobuyoshi Nakada)
12:21 PM Bug #19795 (Closed): attr_accessor leading to nil values for re-assignment
### Steps to reproduce:
- Create a class with an `attr_accessor` for an instance variable
- Create an instance method that reassign this variable using the current value stored in the variable
- Show that the variable is set to nil du...
francktrouillez (Franck Trouillez)
01:08 PM Bug #19793 (Closed): Segmentation fault when requiring files after defining Object#method_missing
Applied in changeset commit:git|1d096c1e53581ed9fe94694c9760babd1e12e580.
----------
Fix crash in NoMethodError for dummy frames
[Bug #19793]
Dummy frames are created at the top level when requiring another file.
While requiring a fil...
peterzhu2118 (Peter Zhu)
01:08 PM Revision 1d096c1e (git): Fix crash in NoMethodError for dummy frames
[Bug #19793]
Dummy frames are created at the top level when requiring another file.
While requiring a file, it will try to convert using encodings. Some of
these encodings will not respond to to_str. If method_missing is
redefined on Ob...
peterzhu2118 (Peter Zhu)
10:55 AM Revision 85ee4a65 (git): Allow to override environment variables for debug
nobu (Nobuyoshi Nakada)
10:55 AM Revision ffe0f9eb (git): `EnvUtil.invoke_ruby` also passes ASAN options
nobu (Nobuyoshi Nakada)
09:56 AM Revision 28c21367 (git): [rubygems/rubygems] Replaced remained local to lockfile
https://github.com/rubygems/rubygems/commit/6ed69223d4 hsbt (Hiroshi SHIBATA)
09:18 AM Revision fd8dd719 (git): Implement StringIO#pread (#56)
Both for being closer to real IOs and also because it's a convenient API
in multithreaded scenarios.
Co-authored-by: Jean Boussier <jean.boussier@gmail.com>
Jean byroot Boussier
09:17 AM Revision 201fd575 (git): [ruby/irb] Drop src_encoding.rb
(https://github.com/ruby/irb/pull/634)
Its method `IRB.default_src_encoding` was only used in `magic-file.rb`,
which has been removed.
https://github.com/ruby/irb/commit/ed98983b1f
st0012 (Stan Lo)
09:17 AM Revision fe255277 (git): [ruby/fiddle] Include stdbool.h explicitly
https://github.com/ruby/fiddle/commit/c313a74632 Sutou Kouhei
09:17 AM Revision 673f4493 (git): [ruby/fiddle] Include stdbool.h explicitly
https://github.com/ruby/fiddle/commit/69ff680bf6 Sutou Kouhei
09:17 AM Revision 15e8cf7a (git): [ruby/fiddle] Add support for bool
GitHub: fix https://github.com/ruby/fiddle/pull/130
Reported by Benoit Daloze. Thanks!!!
https://github.com/ruby/fiddle/commit/bc6c66bbb9
Sutou Kouhei
09:17 AM Revision 10588fa1 (git): [ruby/fiddle] Use ifdef
https://github.com/ruby/fiddle/commit/6cdf53726d Sutou Kouhei
05:25 AM Revision fd782dcd (git): Revert "YJIT: implement `expandarray_rhs_too_small` case (#8153)"
This reverts commit 3b88a0bee841aee77bee306d9d34e587561515cf.
This commit break aarch64 platform and Apple Silicon
hsbt (Hiroshi SHIBATA)
05:19 AM Revision c5abe0d0 (git): Tests to move between size pools are flaky on Windows too [ci skip]
Needs more investigations. nobu (Nobuyoshi Nakada)
05:08 AM Bug #19794 (Assigned): Ruby 3.2.2 fails to build on macOS Sonoma betas
With Big Sur, Apple deprecated putting dylibs in /usr/local/lib. In Sonoma (beta 4), this directory has disappeared completely. However, ruby's configure script depends on its existence. So, virtually every ruby installer (RVM, rbenv, as... jhaungs (Jim Haungs)
04:48 AM Revision e4fcac42 (git): Find paths of tools [ci skip]
Recent GitHub Actions Windows containers seem having Strawberry tools. nobu (Nobuyoshi Nakada)
04:21 AM Revision 15b2e912 (git): Remove `kprintf` in addr2line.c
According to @naruse, this `kprintf` was to avoid some segfaults, but
turned out it seemed another issue after all.
nobu (Nobuyoshi Nakada)
04:21 AM Revision 31d12267 (git): Avoid aborting inside addr2line.c
nobu (Nobuyoshi Nakada)

08/01/2023

11:22 PM Bug #19793: Segmentation fault when requiring files after defining Object#method_missing
thanks, you all are fast :) sczimmer (Scott Zimmermann)
09:03 PM Bug #19793: Segmentation fault when requiring files after defining Object#method_missing
Thank you for reporting this bug.
The following script is a minimal reproduction:
```ruby
GC.stress = true
class Object
public :method_missing
end
File.write("/tmp/empty.rb", "")
require "/tmp/empty.rb"
```
I have a...
peterzhu2118 (Peter Zhu)
06:32 PM Bug #19793: Segmentation fault when requiring files after defining Object#method_missing
So instead of `99130.times { array << "a string"}` you can just add `GC.start` and it will also crash.
I also tested it's still failing on master. I'll see if this can be reduced.
byroot (Jean Boussier)
04:08 PM Bug #19793 (Closed): Segmentation fault when requiring files after defining Object#method_missing
I was doing ruby koans to learn ruby and I got a segmentation fault when it gets to the part where it uses `Symbol.all_symbols`. I realized it happens with any large Array, but I cannot reproduce in a small test script, just when it runs... sczimmer (Scott Zimmermann)
10:36 PM Revision df6071c4 (git): Do not auto-cancel builds on pull requests
For some reason, there was a pull request that contains a YJIT change
but did not run Cirrus CI, which ended up failing Cirrus CI on master.
This `auto_cancellation` config seems suspicious. Now that we have
`only_if`, I don't think we ...
k0kubun (Takashi Kokubun)
09:46 PM Revision 5ff1c00e (git): YJIT: Let local yjit-bindgen exit successfully (#8156)
k0kubun (Takashi Kokubun)
07:58 PM Revision 3b88a0be (git): YJIT: implement `expandarray_rhs_too_small` case (#8153)
* YJIT: handle expandarray_rhs_too_small case
* YJIT: fix csel bug in x86 backend, add test
* Remove commented out lines
maximecb (Maxime Chevalier-Boisvert)
06:43 PM Revision 16b91a34 (git): YJIT: Fallback setivar if the next shape is too complex (#8152)
k0kubun (Takashi Kokubun)
03:31 PM Bug #19791: Debugger does not handle delete key correctly
I just did `gem install reline` and upgraded it to 0.3.7, but the problem persists. stuartb (Stuart Bury)
03:29 PM Bug #19791: Debugger does not handle delete key correctly
`gem list` gives the following output:
```
*** LOCAL GEMS ***
abbrev (default: 0.1.1)
addressable (2.8.4)
angelo (0.5.1)
base64 (default: 0.1.1)
benchmark (default: 0.2.1)
bigdecimal (default: 3.1.3)
bundler (default: 2.4.17)
byebug (1...
stuartb (Stuart Bury)
02:52 PM Bug #19791: Debugger does not handle delete key correctly
Can you tell me what version of `debug` and `Reline` you are using? Using the latest version of `Reline` may solve the problem. ima1zumi (Mari Imaizumi)
01:49 PM Revision 1642e0c3 (git): Remove unnecessarily copied document [ci skip]
nobu (Nobuyoshi Nakada)
01:46 PM Feature #19572 (Closed): Add a new TracePoint event for rescued exceptions
Applied in changeset commit:git|d68c01fd314ebd6dc1d89c95a2734fad4f0953b0.
----------
support `rescue` event for TracePoint
fix [Feature #19572]
ko1 (Koichi Sasada)
01:46 PM Revision d68c01fd (git): support `rescue` event for TracePoint
fix [Feature #19572] ko1 (Koichi Sasada)
12:51 PM Revision f11ac063 (git): [ruby/irb] Add workspace category
(https://github.com/ruby/irb/pull/661)
* Create a new Workspace command category
* Update readme
https://github.com/ruby/irb/commit/310650c213
st0012 (Stan Lo)
10:00 AM Bug #19788 (Closed): Ripper returns a symbol instead of a token as operator for "::"
Applied in changeset commit:git|382678d4112f4afc6272244c22924d2b004274b1.
----------
[Bug #19788] Use the result of `tCOLON2` event
nobu (Nobuyoshi Nakada)
10:00 AM Revision 382678d4 (git): [Bug #19788] Use the result of `tCOLON2` event
nobu (Nobuyoshi Nakada)
09:06 AM Revision 6a5c5482 (git): remove strange line event
```ruby
def helper_cant_rescue
begin
raise SyntaxError
rescue
cant_rescue # here
end
end
```
on this case, a line event is reported on `cant_rescue` line
because of node structure. it should not be reported.
ko1 (Koichi Sasada)
05:54 AM Revision 0622c788 (git): [DOC] Update warning categories
- Fix indentations of labeled lists.
- Mention performance category.
nobu (Nobuyoshi Nakada)
05:24 AM Bug #19792: arm の alpine 上でネストしたハッシュに長い文字列を入れると segmentation fault が発生する
k0kubun (Takashi Kokubun) wrote in #note-1:
> 私の手元の環境では再現させられないのですが、 `[BUG]` の出力を全行、最初から最後まで省略しないで投稿していただくことは可能でしょうか? `c:0001 p:0000 s:0003 E:000da0 DUMMY [FINISH]` で出力が停止してしまっていた場合は、そのように明示していただけると助かります。
早速ご確認いただきありがとうございます。
下記が出力...
koke2y (優樹 纐纈)
04:58 AM Bug #19792: arm の alpine 上でネストしたハッシュに長い文字列を入れると segmentation fault が発生する
私の手元の環境では再現させられないのですが、 `[BUG]` の出力を全行、最初から最後まで省略しないで投稿していただくことは可能でしょうか? `c:0001 p:0000 s:0003 E:000da0 DUMMY [FINISH]` で出力が停止してしまっていた場合は、そのように明示していただけると助かります。 k0kubun (Takashi Kokubun)
04:52 AM Bug #19792 (Closed): arm の alpine 上でネストしたハッシュに長い文字列を入れると segmentation fault が発生する
## 実行環境
Docker version: Docker version 24.0.2, build cb74dfc
Docker image: ruby:3.2.2-alpine3.18
ホスト環境
- chip: Apple M2 Max
- OS version: Version 13.4
## 発生した事象
上記の環境で下記のスクリプトを実行すると、segmentation faultが発生しました。
```
str = 'a'...
koke2y (優樹 纐纈)
01:44 AM Revision 533dcb8e (git): RDoc for module Process (#8141)
burdettelamar (Burdette Lamar)
12:48 AM Revision 0b8045c9 (git): Supress warnings by Refinement#refined_class in test code
shugo (Shugo Maeda)
12:31 AM Revision de91ce98 (git): [rubygems/rubygems] Use Kernel.singleton_class
https://github.com/rubygems/rubygems/commit/9be984f281 hsbt (Hiroshi SHIBATA)
12:27 AM Revision 3f010d48 (git): [DOC] Fix a link [ci skip]
znz (Kazuhiro NISHIYAMA)
12:27 AM Bug #19789 (Closed): YJIT + rustc 1.71.0 is broken with macOS
Thanks. I confirmed to work with https://github.com/ruby/ruby/pull/8146 hsbt (Hiroshi SHIBATA)
12:02 AM Revision ec0e6809 (git): Skip flaky test on Solaris
This test is flaky on "SPARC Solaris 10 (gcc)" CI with this message:
TestGCCompact#test_moving_objects_between_size_pools [test/ruby/test_gc_compact.rb:378]:
Expected 499 to be >= 500.
peterzhu2118 (Peter Zhu)

07/31/2023

08:15 PM Bug #19791 (Closed): Debugger does not handle delete key correctly
When entering the debugger using `binding.debugger` or the `rdbg` command, pressing the delete key on the keyboard to delete characters at the REPL merely prints "^[[3~" to the console, and does not actually delete anything. This is **ve... stuartb (Stuart Bury)
08:10 PM Revision 04f4e0ae (git): [ruby/yarp] Document building, more macro changes
https://github.com/ruby/yarp/commit/4214f262d2 kddnewton (Kevin Newton)
07:57 PM Revision 5d78ec8a (git): [ruby/irb] Decouple `edit` and `show_source` commands
(https://github.com/ruby/irb/pull/658)
* Decouple `edit` command from `show_source`
2 commands should not depend on each other. If `edit` command also needs
to find a source, the source finding logic should be extracted into a
separate...
st0012 (Stan Lo)
07:12 PM Revision c01b17f7 (git): Fix default value of global_init_slots
Not setting a value to global_init_slots causes get_envparam_size to
output a broken default value.
peterzhu2118 (Peter Zhu)
06:56 PM Revision 954b7ac8 (git): addr2line.c: fix `DW_FORM_ref_addr` parsing for DWARF 2 (#8146)
addr2line.c: fix DW_FORM_ref_addr parsing for DWARF 2
This fixes a crash when retrieving backtrace info with YJIT enabled on
macOS with Rust 1.71.0. Since Rust 1.71.0, the DWARF info generated by
the Rust compiler uses DW_FORM_ref_addr ...
katei (Yuta Saito)
06:52 PM Revision 36d669b7 (git): Fix test_gc_parameter_init_slots
If the stack is not cleared (e.g. compiling with -O0), then `ary` could
remain on the stack, which would be marked. Clear the array first to
make sure all the objects can be GC'd.
peterzhu2118 (Peter Zhu)
04:47 PM Revision 8b390a45 (git): [DOC] Update description of `Process.daemon` arguments
These arguments can only be `true` or `false` now. Also add markups. nobu (Nobuyoshi Nakada)
03:46 PM Revision 547d2378 (git): Assert that at least one element has been embedded
It's not guaranteed that the first element will always be embedded. peterzhu2118 (Peter Zhu)
03:46 PM Revision b98838b6 (git): Store initial slots per size pool
This commit stores the initial slots per size pool, configured with
the environment variables `RUBY_GC_HEAP_INIT_SIZE_%d_SLOTS`. This
ensures that the configured initial slots remains a low bound for the
number of slots in the heap, whic...
peterzhu2118 (Peter Zhu)
03:17 PM Bug #19789: YJIT + rustc 1.71.0 is broken with macOS
I made a fix for this issue: https://github.com/ruby/ruby/pull/8146 katei (Yuta Saito)
11:03 AM Bug #19789 (Closed): YJIT + rustc 1.71.0 is broken with macOS
I got some segmentation fault on macOS.
```
1) Failure:
TestVMDump#test_darwin_invalid_call [/Users/hsbt/Documents/github.com/ruby/ruby/test/ruby/test_vm_dump.rb:11]:
pid 35071 exit 1
| -e:1: [BUG] Bus Error at 0x0000000000000001
...
hsbt (Hiroshi SHIBATA)
02:50 PM Feature #19787: Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
joshuay03 wrote:
> What is the usual process for deciding on whether or not to accept a feature?
Ultimately you only have to convince matz. :)
However had, matz may also request additional information and/or use case and
"usefu...
rubyFeedback (robert heiler)
02:22 PM Feature #19787: Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
joshuay03 (Joshua Young) wrote in #note-4:
> > Is `.map { ... }.uniq` such a very frequent idiom?
> ...
Wouldn’t it make more sense, then, to do `uniq { … }.map { … }`? Yes, there’s a *small* bit of extra code, but it means that you’re i...
austin (Austin Ziegler)
10:13 AM Feature #19787: Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
mame (Yusuke Endoh) wrote in #note-3:
> Is `.map { ... }.uniq` such a very frequent idiom?
I work on a Rails codebase and it's most commonly used to iterate through foreign keys / associated records and get the unique values (quite oft...
joshuay03 (Joshua Young)
08:40 AM Feature #19787: Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
It does not make sense to me to provide `.foo_map { ... }` for all patterns like `.map { ... }.foo`.
`flat_map` was introduced for some reasons: https://blade.ruby-lang.org/ruby-core/26287
Is `.map { ... }.uniq` such a very frequen...
mame (Yusuke Endoh)
02:23 PM Revision 1bda22f5 (git): `Refinement#refined_class` is now deprecated
nobu (Nobuyoshi Nakada)
02:05 PM Feature #19790 (Closed): Optionally write Ruby crash reports into a file rather than STDERR
### Use case
On our servers we set [`/proc/sys/kernel/core_pattern`](https://man7.org/linux/man-pages/man5/core.5.html) to point to a small utility that report all the crashes happening in production with the associated core dump into...
byroot (Jean Boussier)
01:17 PM Revision d42b9ffb (git): Reuse Regexp ptr when recompiling
When matching an incompatible encoding, the Regexp needs to recompile.
If `usecnt == 0`, then we can reuse the `ptr` because nothing else is
using it. This avoids allocating another `regex_t`.
This speeds up matches that switch to incom...
peterzhu2118 (Peter Zhu)
12:30 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
> 36023d5cb751d62fca0c27901c07527b20170f4d - mark cc->cme_ if it is for super
for this SEGV. But other patches can be required.
ko1 (Koichi Sasada)
11:57 AM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
@ko1 I don't see any more failures, thank you very much.
So overall the patch is all these commits?
```
c330037c1a38cc257dbe21022fcc7b13159c2821 - cc->cme should not be marked.
6391132c03ac08da0483adb986ff9a54e41f9e14 - fix typo...
byroot (Jean Boussier)
11:07 AM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
Thanks,
Could you try current master (I hope it was fixed).
ko1 (Koichi Sasada)
08:36 AM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
@ko1 of course, here you go:
```
Assertion Failed: vm_callinfo.h:339:vm_cc_class_check:cc->klass == 0 || RB_TYPE_P(cc->klass, T_CLASS) || RB_TYPE_P(cc->klass, T_ICLASS)
ruby 3.3.0dev (2023-07-30T08:05:58Z shopify b5c74d5488) [x86_64...
byroot (Jean Boussier)
08:23 AM Feature #19714 (Closed): Add Refinement#refined_module
Applied in changeset commit:git|a542512b7c394847a488e9b94d9defebe26003ce.
----------
Add Refinement#target and deprecate Refinement#refined_class
[Feature #19714]
shugo (Shugo Maeda)
08:23 AM Revision a542512b (git): Add Refinement#target and deprecate Refinement#refined_class
[Feature #19714] shugo (Shugo Maeda)
08:13 AM Bug #18572 (Closed): Performance regression when invoking refined methods
Applied in changeset commit:git|cfd7729ce7a31c8b6ec5dd0e99c67b2932de4732.
----------
use inline cache for refinements
From Ruby 3.0, refined method invocations are slow because
resolved methods are not cached by inline cache because of...
ko1 (Koichi Sasada)
08:13 AM Revision cfd7729c (git): use inline cache for refinements
From Ruby 3.0, refined method invocations are slow because
resolved methods are not cached by inline cache because of
conservertive strategy. However, `using` clears all caches
so that it seems safe to cache resolved method entries.
Thi...
ko1 (Koichi Sasada)
08:13 AM Revision 280419d0 (git): `calling->cd` instead of `calling->ci`
`struct rb_calling_info::cd` is introduced and `rb_calling_info::ci`
is replaced with it to manipulate the inline cache of iseq while
method invocation process. So that `ci` can be acessed with
`calling->cd->ci`. It adds one indirection ...
ko1 (Koichi Sasada)
06:59 AM Revision e40f8bbd (git): Update bundled gems list at 2023-07-31
git[bot]
06:25 AM Revision a3c0e9d9 (git): [rubygems/rubygems] update Magnus library in Rust extension gem template
https://github.com/rubygems/rubygems/commit/19a92a3367 Mat Sadler
05:04 AM Revision 36023d5c (git): mark `cc->cme_` if it is for `super`
`vm_search_super_method()` makes orphan CCs (they are not connected
from ccs) and `cc->cme_` can be collected before without marking.
ko1 (Koichi Sasada)
03:26 AM Revision 60ac719a (git): [ruby/optparse] [DOC] Corrections to tutorial
https://github.com/ruby/optparse/commit/2940dbb65a burdettelamar (Burdette Lamar)
02:46 AM Bug #19788: Ripper returns a symbol instead of a token as operator for "::"
https://github.com/ruby/ruby/pull/8144 nobu (Nobuyoshi Nakada)

07/30/2023

06:13 PM Bug #19788 (Closed): Ripper returns a symbol instead of a token as operator for "::"
```ruby
require 'ripper'
class BasicParser < Ripper
EVENTS.each do |event|
module_eval(<<~RUBY, __FILE__, __LINE__ + 1)
def on_#{event}(*args)
puts "#{event}(\#{args.inspect})"
args.unshift :#{event}
...
thyresias (Thierry Lambert)
10:38 AM Revision 52722ea3 (git): Extract common variables
nobu (Nobuyoshi Nakada)
06:13 AM Revision b5c74d54 (git): Ease the `Encoding::CompatibilityError` test failure
At the time this test first started using `assert_raise_with_message`,
it did not touch `Encoding.default_internal`.
nobu (Nobuyoshi Nakada)
02:35 AM Revision dfad14d8 (git): [ruby/optparse] [DOC] Mark up constant and method names as code
https://github.com/ruby/optparse/commit/e8bee0be8f nobu (Nobuyoshi Nakada)
01:37 AM Revision 67be453d (git): [rubygems/rubygems] Set thread configurations inside block in the thread local manner
https://github.com/rubygems/rubygems/commit/965e54b8f1 nobu (Nobuyoshi Nakada)
01:36 AM Revision 0d86cc4c (git): [rubygems/rubygems] Use the dedicated method to convert file path
The dedicated method `File.path` to deal with pathname-like objects
has been provided since ruby 1.9.0.
Also adds a test for rubygems/rubygems#6837.
https://github.com/rubygems/rubygems/commit/258c6eda80
nobu (Nobuyoshi Nakada)
01:14 AM Revision bde4080b (git): YJIT: Drop Copy trait from Context (#8138)
k0kubun (Takashi Kokubun)

07/29/2023

11:11 PM Revision 087a2dec (git): check `cc->*` liveness strictly
to fix SEGV like
http://ci.rvm.jp/results/trunk-repeat20-asserts@ruby-sp2-docker/4664004
```
/tmp/ruby/build/trunk-repeat20-asserts/libruby.so.3.3(sigsegv+0x4f) [0x7fcb0343e7df] /tmp/ruby/src/trunk-repeat20-asserts/signal.c:920
/lib/x86_...
ko1 (Koichi Sasada)
04:02 PM Revision 4bdb61b6 (git): [DOC] Fix missing word in a comment
joshuay03 (Joshua Young)
03:44 PM Revision 3d87eec9 (git): Add examples of `return` in `eval`
nobu (Nobuyoshi Nakada)
03:31 PM Revision df5330b0 (git): [ruby/rdoc] Use a more portable way to check if code is parseable
* The same as used in irb: https://github.com/ruby/irb/pull/134/files
* This works on all Ruby implementations, unlike `return` in BEGIN which
can be quite difficult to support.
https://github.com/ruby/rdoc/commit/d19f7c66fe
Eregon (Benoit Daloze)
02:13 PM Feature #19787 (Open): Add Enumerable#uniq_map, Enumerable::Lazy#uniq_map, Array#uniq_map and Array#uniq_map!
I would like to propose a collection of new methods, `Enumerable#uniq_map`, `Enumerable::Lazy#uniq_map`, `Array#uniq_map` and `Array#uniq_map!`.
TL;DR: It's a drop in replacement for `.map { ... }.uniq`, with (hopefully) better perfor...
joshuay03 (Joshua Young)
11:02 AM Revision 628cc7e1 (git): Change `HOME` too when testing sync_default_gems.rb
As well as `GIT_CONFIG_GLOBAL`, which is supported since git 2.32. nobu (Nobuyoshi Nakada)
11:02 AM Revision 4b91d6ab (git): Revert "Test sync_default_gems.rb only when git 2.32 is available"
This reverts commit b0f44cfa5da53b90817732cb25b4d3a1cddecb89. nobu (Nobuyoshi Nakada)
09:01 AM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
I have reverted the backport at https://github.com/ruby/ruby/commit/1c7624469880bcb964be09a49e4907873f45b026.
It seems break CI on MinGW.
https://github.com/ruby/ruby/actions/runs/5698775895/job/15447455988
nagachika (Tomoyuki Chikanaga)
05:28 AM Bug #19246: Rebuilding the loaded feature index much slower in Ruby 3.1
Thank you for creating a backport patch and pull request. Merged into ruby_3_2. nagachika (Tomoyuki Chikanaga)
08:58 AM Revision 1c762446 (git): Revert "Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)"
This reverts commit 8346d1630b8193eef1ec9dd537b16de74afdc2e8.
It seems break CI on MinGW.
https://github.com/ruby/ruby/actions/runs/5698775895/job/15447455988
nagachika (Tomoyuki Chikanaga)
05:29 AM Bug #19771 (Closed): Backport Speed up rebuilding the loaded feature index and realpath cache - 79a4484, abfac22
Thank you for creating a backport patch and pull request. Merged into ruby_3_2. nagachika (Tomoyuki Chikanaga)
05:27 AM Revision 8346d163 (git): Ruby 3.2 - Speed up rebuilding the loaded feature index and realpath cache (#8023)
* Speed up rebuilding the loaded feature index
Rebuilding the loaded feature index slowed down with the bug fix
for #17885 in 79a4484a072e9769b603e7b4fbdb15b1d7eccb15. The
slowdown was extreme if realpath emulation was used, but even w...
krk (Kerem Kat)
05:25 AM Revision 7a7aba75 (git): check liveness of cc->klass and cc->cme_
`cc->klass` and `cc->cme_` can be free'ed while last marking
so that it should be checked bofore updating the pointers.
Note that `T_MOVED` is living, but `is_live_object()` returns false.
ko1 (Koichi Sasada)
05:05 AM Bug #19786: Data::define() does not work as documented
ruby_3_2 19a3466a1460924058ca16a259601bb753293d43 merged revision(s) cada537040743cbe49aac6740816d648ca0d3fb. nagachika (Tomoyuki Chikanaga)
05:05 AM Bug #19751: Ruby 3.2.2 Fails to Compile from Source
ruby_3_2 9f5c32ce85db830459768c588b82a6d07f5d22dc merged revision(s) 99162dee7aa478d8a65f028b098bdaa69e1ecad5. nagachika (Tomoyuki Chikanaga)
05:04 AM Revision 19a3466a (git): merge revision(s) cada537040743cbe49aac6740816d648ca0d3fb: [Backport #19786]
[DOC] Fix call-seq for Data.define
---
struct.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
nagachika (Tomoyuki Chikanaga)
04:54 AM Revision 9f5c32ce (git): merge revision(s) 99162dee7aa478d8a65f028b098bdaa69e1ecad5: [Backport #19751]
[Bug #19751] Remove linemarkers in middle
---
template/fake.rb.in | 1 +
1 file changed, 1 insertion(+)
nagachika (Tomoyuki Chikanaga)
02:49 AM Revision b0f44cfa (git): Test sync_default_gems.rb only when git 2.32 is available
With older git, as `GIT_CONFIG_GLOBAL` environment variable is not
supported, these tests clobber user's configurations.
nobu (Nobuyoshi Nakada)
12:06 AM Revision 6dc15cc8 (git): do not clear cme but invalidate cc
To invalidate a cc, we need to clear cc->klass by `vm_cc_invalidate()`.
I hope this patch fix the CI failures.
ko1 (Koichi Sasada)

07/28/2023

10:39 PM Revision bcf823fd (git): Revert "[rubygems/rubygems] Set thread configurations inside block"
This reverts commit db80e947a382a6a9ef2295e81f5b97c6a8ecbce7.
This patch uses `Thread.abort_on_exception = true` and it affects
all of threads. This is why CI systems fails.
How to modify:
- use `thread.abort_on_exception = true` for ...
ko1 (Koichi Sasada)
10:20 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
Thanks.
Could you give some more lines of C backtrace?
ko1 (Koichi Sasada)
12:43 PM Bug #19436: Call Cache for singleton methods can lead to "memory leaks"
@ko1 thanks for the patch, however we're running into some assertion failures on our CI:
```
Assertion Failed: vm_callinfo.h:339:vm_cc_class_check:cc->klass == 0 || RB_TYPE_P(cc->klass, T_CLASS) || RB_TYPE_P(cc->klass, T_ICLASS)
/...
byroot (Jean Boussier)
04:15 AM Bug #19436 (Closed): Call Cache for singleton methods can lead to "memory leaks"
Applied in changeset commit:git|c330037c1a38cc257dbe21022fcc7b13159c2821.
----------
`cc->cme` should not be marked.
cc is callcache.
cc->klass (klass) should not be marked because if the klass is
free'ed, the cc->klass will be cleare...
Ruby (Elena Mangano)
04:08 PM Revision 17b50cdb (git): [rubygems/rubygems] Add charset to Webauthn response content-type
https://github.com/rubygems/rubygems/commit/442a3e8f37 Jenny Shen
04:08 PM Revision db80e947 (git): [rubygems/rubygems] Set thread configurations inside block
https://github.com/rubygems/rubygems/commit/860b145359 Jenny Shen
04:08 PM Revision afca1a31 (git): [rubygems/rubygems] Create MockServer object to test WebAuthn logic to prevent real TCPServers from being created and be leaked into other tests
https://github.com/rubygems/rubygems/commit/96d6cb33a2 Jenny Shen
04:08 PM Revision 3954a87d (git): [rubygems/rubygems] Create MultifactorAuthFetcher to reduce duplication among tests
https://github.com/rubygems/rubygems/commit/dead211206 Jenny Shen
04:08 PM Revision e96b3138 (git): [rubygems/rubygems] Use assert_raise in webauthn poller tests
https://github.com/rubygems/rubygems/commit/0969ad330e Jenny Shen
04:08 PM Revision 24913e3d (git): [rubygems/rubygems] Move Webauthn listener thread to WebauthnListener class
https://github.com/rubygems/rubygems/commit/6ec474975e Jenny Shen
04:08 PM Revision fce04f9a (git): [rubygems/rubygems] Move WebauthnListener into the Gem::GemcutterUtilities namespace
https://github.com/rubygems/rubygems/commit/3080394f81 Jenny Shen
04:08 PM Revision 108cc38a (git): [rubygems/rubygems] Extract polling logic into its own class
https://github.com/rubygems/rubygems/commit/218b83abed Jenny Shen
04:08 PM Revision 023d0f66 (git): [rubygems/rubygems] Add Webauthn verification poller to fetch OTP
https://github.com/rubygems/rubygems/commit/39c5e86a67 Jenny Shen
04:08 PM Revision 836e4eb3 (git): [rubygems/rubygems] Remove fetcher login in util_sign_in
https://github.com/rubygems/rubygems/commit/8e6bc4485a Jenny Shen
04:08 PM Revision 812dbe79 (git): [rubygems/rubygems] Create SignInFetcher
https://github.com/rubygems/rubygems/commit/38afc47899 Jenny Shen
02:12 PM Revision 91e13a52 (git): [ruby/strscan] Fix indentation in strscan.c
[ci skip] peterzhu2118 (Peter Zhu)
01:22 PM Revision 49b76e57 (git): Test `SHARABLE_MIDDLE_SUBSTRING` [ci skip]
nobu (Nobuyoshi Nakada)
01:17 PM Revision 9f059d90 (git): Freeze test string to be shared for sharable-middle-substring
nobu (Nobuyoshi Nakada)
01:17 PM Revision af04e269 (git): Fill terminator properly
nobu (Nobuyoshi Nakada)
10:39 AM Revision 7cfabe1a (git): Preserve `ec` argument across `longjmp`
Fix segfault on icc 2023.2.
An optimizer may allocate this argument to a register, and it may be
clobbered by `longjmp`, e.g. exceptions.
nobu (Nobuyoshi Nakada)
09:01 AM Revision 6391132c (git): fix typo (CACH_ -> CACHE_)
Ruby (Elena Mangano)
06:59 AM Revision 5de82ed4 (git): Update bundled gems list at 2023-07-28
git[bot]
05:57 AM Revision 2deeb0e0 (git): Removed unnecessary methods
hsbt (Hiroshi SHIBATA)
05:57 AM Revision 35517baa (git): Use Gem::BUNDLED_GEMS::SINCE
hsbt (Hiroshi SHIBATA)
05:57 AM Revision 989f3add (git): Warn default gems which will be gemified in future
nobu (Nobuyoshi Nakada)
05:49 AM Revision b9c2f4a4 (git): Fixed gemfile path for upstream of bundler
hsbt (Hiroshi SHIBATA)
04:15 AM Revision ce6c6c7c (git): Exclude lockfile from sync target
hsbt (Hiroshi SHIBATA)
03:49 AM Revision 93f57dbc (git): Update description for test-bundler on gitignore
hsbt (Hiroshi SHIBATA)
03:47 AM Revision 42643455 (git): Removed lockfile for test-bundler
hsbt (Hiroshi SHIBATA)
01:51 AM Revision c330037c (git): `cc->cme` should not be marked.
cc is callcache.
cc->klass (klass) should not be marked because if the klass is
free'ed, the cc->klass will be cleared by `vm_cc_invalidate()`.
cc->cme (cme) should not be marked because if cc is invalidated
when cme is free'ed.
- klas...
Ruby (Elena Mangano)
12:36 AM Revision 44b19b01 (git): Remove an obsoleted initialization from Wasm
k0kubun (Takashi Kokubun)
12:31 AM Revision 8c7cf2de (git): Remove an unused argument in vm_exec_core
k0kubun (Takashi Kokubun)
12:27 AM Revision 38be9a9b (git): Clean up OPT_STACK_CACHING (#8132)
k0kubun (Takashi Kokubun)

07/27/2023

11:50 PM Revision bf4d64d8 (git): Remove an unused macro
We've deleted opt_call_c_function instruction before. k0kubun (Takashi Kokubun)
11:35 PM Revision cf0c907b (git): YJIT: Count setivar too-complex exits (#8131)
k0kubun (Takashi Kokubun)
11:07 PM Revision 437a4ccb (git): [rubygems/rubygems] Restore support for Pathname objects in the replaced require
https://github.com/rubygems/rubygems/commit/f7b4282ef7 fxn (Xavier Noria)
10:30 PM Revision 97219721 (git): Resurrect rb_reg_prepare_re C API
Existing strscan releases rely on this C API. It means that the current
Ruby master doesn't work if your Gemfile.lock has strscan unless it's
locked to 3.0.7, which is not released yet.
To fix it, let's not remove the C API we've expose...
k0kubun (Takashi Kokubun)
09:47 PM Revision 5669a28f (git): YJIT: implement missing `asm.jg` instruction in backend (#8130)
YJIT: implement missing jg instruction in backend
While trying to implement a specialize integer left shift, I ran
into a problem where we have no way to do a greater-than comparison
at the moment. Surprising we went this far without ev...
maximecb (Maxime Chevalier-Boisvert)
09:09 PM Revision 83f9d80c (git): downloader.rb: unlink broken symlink before caching to fix ENOENT
On GitHub CI, the downloader's cache is shared across different jobs.
For some systems, the cached config.guess ends up being a symlink to
/usr/share/autoconf/build-aux/config.guess and containers that don't
have that file end up consumi...
alanwu (Alan Wu)
07:43 PM Misc #19766: DevMeeting-2023-08-24
- [Misc #19772] API Naming for YARP compiler
- How should we expose the public API for YARP's compile method?
- Potential options: `YARP.compile`, `RubyVM::InstructionSequence.compile(yarp: true)`, `RubyVM::InstructionSequence.comp...
jemmai (Jemma Issroff)
02:07 PM Misc #19766: DevMeeting-2023-08-24
* [Feature #19783] Weak References in the GC (peterzhu2118)
* Native support for weak references in the GC. Overwrites dead objects with `Qundef`.
* Implemented for CME of CC, `ObjectSpace::WeakMap` and `ObjectSpace::WeakKeyMap`. M...
peterzhu2118 (Peter Zhu)
07:39 PM Revision f72f3ab1 (git): Use onig_new_without_alloc for onig_new
peterzhu2118 (Peter Zhu)
07:03 PM Revision 7633299c (git): YJIT: getblockparamproxy for when block is a Proc
alanwu (Alan Wu)
07:03 PM Revision 34825ed2 (git): Revert "YJIT: Fix naming for a getblockparamproxy counter"
This reverts commit e7804963f09d7df7f6cce44fbb3e37809c9a15cc.
Oops. The counter was for getblockparam, without "proxy", so
it was aptly named.
alanwu (Alan Wu)
06:41 PM Revision 69b20d11 (git): Don't load RREGEXP_PTR twice
peterzhu2118 (Peter Zhu)
06:04 PM Revision 511c51e1 (git): Refactor err string in rb_reg_prepare_re
peterzhu2118 (Peter Zhu)
05:33 PM Revision 7193b404 (git): Add function rb_reg_onig_match
rb_reg_onig_match performs preparation, error handling, and cleanup for
matching a regex against a string. This reduces repetitive code and
removes the need for StringScanner to access internal data of regex.
peterzhu2118 (Peter Zhu)
05:09 PM Revision e5effa4b (git): YJIT: Use dynamic dispatch for megamorphic send (#8125)
k0kubun (Takashi Kokubun)
01:42 PM Revision e27eab2f (git): [ruby/strscan] Sync missed commit
Syncs commit ruby/strscan@76b377a5d875ec77282d9319d62d8f24fe283b40. peterzhu2118 (Peter Zhu)
09:08 AM Revision ccca097c (git): [ruby/reline] Add `kill-word` and `backward-kill-word` keymapping
support.
(https://github.com/ruby/reline/pull/570)
Fix it
https://github.com/ruby/reline/issues/558
https://github.com/ruby/reline/commit/0f8000443e
Co-authored-by: Stan Lo <stan001212@gmail.com>
osyo (manga osyo)
08:24 AM Revision e78af6b8 (git): Update default gems list at b201ac0bc037e460d96673f1d7386f [ci skip]
git[bot]
08:23 AM Revision b201ac0b (git): [ruby/reline] Bump version to 0.3.7
(https://github.com/ruby/reline/pull/578)
https://github.com/ruby/reline/commit/dc5a1b7c48
st0012 (Stan Lo)
07:00 AM Revision 46ca0e1c (git): Update bundled gems list at 2023-07-27
git[bot]
 

Also available in: Atom