Project

General

Profile

Activity

From 07/10/2024 to 07/16/2024

07/16/2024

10:47 PM Misc #20639 (Closed): Request to host C API docs on docs.ruby-lang.org
Having a first-party documentation site benefits readers and helps
contributors improve the contents. The Ruby standard library API benefits from
being hosted on <https://docs.ruby-lang.org> and it would be nice if the C API
documenta...
alanwu (Alan Wu)
07:50 PM Revision c083a3ff (git): Fix memory leak reported in main ractor when RUBY_FREE_AT_EXIT
STACK OF 1 INSTANCE OF 'ROOT LEAK: <calloc in rb_ractor_main_alloc>':
6 dyld 0x1840e20e0 start + 2360
5 miniruby 0x1006796c8 main + 88 main.c:62
4 miniruby ...
peterzhu2118 (Peter Zhu)
07:26 PM Revision c4a021ef (git): [ruby/prism] Move sample files under sample/prism
https://github.com/ruby/prism/commit/9e9b069404 kddnewton (Kevin Newton)
06:41 PM Revision e3c5d73e (git): [PRISM] Omit two more ast tests that will not work without RubyVM::Ast
kddnewton (Kevin Newton)
06:40 PM Revision b0a99d0d (git): [PRISM] Properly compile branch conditions in their own sequence
kddnewton (Kevin Newton)
06:40 PM Revision 90e945a7 (git): [PRISM] Fix up ensure+loop+break
kddnewton (Kevin Newton)
06:31 PM Bug #20638 (Closed): Threads not collected by GC under RUBY_MN_THREADS=1
When running with `RUBY_MN_THREADS=1` I noticed increased memory usage when creating many threads. It seems like Threads aren't able to be collected when run concurrently.
```
$ ruby -e '500.times { 50.times.map { Thread.new{} }.map(...
jhawthorn (John Hawthorn)
05:37 PM Bug #20587: dir.c calls blocking filesystem APIs/system calls while holding the GVL
I submitted https://github.com/ruby/ruby/pull/11176 for the `getattrlist` and `fgetattrlist` changes. jeremyevans0 (Jeremy Evans)
03:58 PM Revision 4a4e1bf3 (git): [ruby/irb] Group class methods under `class << self`
(https://github.com/ruby/irb/pull/981)
https://github.com/ruby/irb/commit/cdaa356df2
st0012 (Stan Lo)
01:55 PM Revision 4fe3082b (git): [DOC] Fix typo in gc/default.c
peterzhu2118 (Peter Zhu)
01:11 PM Revision 60d3ed50 (git): [Bug #20457] Drop unreachable `return` at end of method
nobu (Nobuyoshi Nakada)
01:09 PM Revision 93489d53 (git): Remove dependency on dtrace when building shared GC
peterzhu2118 (Peter Zhu)
01:09 PM Revision db3472d8 (git): Set `BUILDING_SHARED_GC` when building shared GC
peterzhu2118 (Peter Zhu)
12:38 PM Bug #20637: SyntaxError class definition in method body can be bypassed
dynamic constant assignment (SyntaxError) can be also bypassed
~~~ruby
def f
class << Object.new
::A = 1
end
end
~~~
tompng (tomoya ishida)
12:14 PM Bug #20637: SyntaxError class definition in method body can be bypassed
As far as I understand, that’s legitimate code that works and might be useful for some metaprogramming:
```ruby
def f(o)
class << o
class ::A; end # Syntax OK
module B; end # Syntax OK
end
end
o = Object.new
f(o)...
zverok (Victor Shepelev)
12:02 PM Bug #20637 (Closed): SyntaxError class definition in method body can be bypassed
Class definition in method body is prohibited in Ruby
~~~ruby
def f
class ::A; end # class definition in method body (SyntaxError)
module B; end # module definition in method body (SyntaxError)
end
~~~
But it can be bypassed...
tompng (tomoya ishida)
10:02 AM Revision d6a718e9 (git): * 2024-07-16 [ci skip]
git[bot]
10:02 AM Revision 97c3ed78 (git): Skip old compilers
https://github.com/ruby/ruby/actions/runs/9950835382/job/27489339598?pr=11172#step:6:31 hsbt (Hiroshi SHIBATA)
10:02 AM Revision c168f0cd (git): Bump up REXML-3.3.2
hsbt (Hiroshi SHIBATA)
09:41 AM Revision e722f4c5 (git): Stop using `sigsetjmp` to hijack SIGCHLD handler
It already has been dead code.
Follow up of 65d3eacc80bbefb29e5cd0f3f9661d886f2e4cee.
nobu (Nobuyoshi Nakada)
06:59 AM Revision 6dd1ab0f (git): Update bundled gems list as of 2024-07-16
git[bot]
05:48 AM Feature #20576 (Closed): Add MatchData#bytebegin and MatchData#byteend
Applied in changeset commit:git|e048a073a3cba04576b8f6a1673c283e4e20cd90.
----------
Add MatchData#bytebegin and MatchData#byteend
These methods return the byte-based offset of the beginning or end of the specified match.
[Feature #20...
shugo (Shugo Maeda)
05:48 AM Revision e048a073 (git): Add MatchData#bytebegin and MatchData#byteend
These methods return the byte-based offset of the beginning or end of the specified match.
[Feature #20576]
shugo (Shugo Maeda)
04:09 AM Revision a887b418 (git): static const char *type_name() implemented
The function body was missing. shyouhei (Shyouhei Urabe)
04:09 AM Revision 963059a8 (git): fix compile error
shyouhei (Shyouhei Urabe)
03:48 AM Misc #20600: @ruby-lang.org has been migrated to Cloudflare
It seems that verification mails have been expired.
If you'd like to activate an e-mail address at ruby-lang.org, please contact me or Shibata-san (@hsbt).
shugo (Shugo Maeda)
03:12 AM Revision 7a0e6f1d (git): Follow-up resolv and win32 integration
https://github.com/ruby/resolv/pull/54 hsbt (Hiroshi SHIBATA)
02:41 AM Misc #20636 (Closed): typo in `configure` script
Applied in changeset commit:git|b01cf8ccdec705c09b90a6e6a9923c8bf87fca5a.
----------
Fix a typo
[Misc #20636]
znz (Kazuhiro NISHIYAMA)
12:34 AM Misc #20636 (Closed): typo in `configure` script
At lines 20276-20277, the `configure` script misspells "deprecated" as "depreacted". This appears to be purely cosmetic, but is still mildly astonishing. gsteemso (Gordon Steemson)
02:40 AM Revision b01cf8cc (git): Fix a typo
[Misc #20636] znz (Kazuhiro NISHIYAMA)
02:19 AM Bug #19266 (Assigned): URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER
hsbt (Hiroshi SHIBATA)
02:18 AM Bug #19266: URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER
Since the use case sounds reasonable, let's try the new version.
@hsbt could you change it?
naruse (Yui NARUSE)
01:08 AM Revision a1435981 (git): [DOC] Document RbConfig::SIZEOF
alanwu (Alan Wu)
01:08 AM Revision 3531d229 (git): [DOC] Document RbConfig::LIMITS
alanwu (Alan Wu)
01:08 AM Revision 9bf1049d (git): Refactor so RDoc picks up RbConfig::{SIZEOF,LIMITS}
alanwu (Alan Wu)
12:25 AM Bug #20635 (Feedback): Can't build fat binaries on Darwin (Mac OS X)
[background: I'm attempting to build the latest versioned release of Ruby (3.3.4) on a 2005-vintage dual-processor Power Mac G5 – that's a 64-bit big-endian machine. I'm using the newest Mac OS available for it, which is version 10.5.8 ... gsteemso (Gordon Steemson)

07/15/2024

10:22 PM Revision e165d92d (git): [ruby/rdoc] Drop reimplementation of Ripper lex state
(https://github.com/ruby/rdoc/pull/1118)
* Drop reimplementation of Ripper lex state
This code was for ruby 2.4 compatibility, but rdoc dropped support for
ruby 2.4 about three years ago, in f480b970c. This code was almost half
of the...
nicholas a. evans
08:17 PM Revision 3f679c02 (git): [rubygems/rubygems] Bump rb-sys
Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.97 to 0.9.98.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.97...v0.9.98)
---
updated-depende...
dependabot[bot]
07:03 PM Revision 2911578e (git): [PRISM] Add missing rescue tracepoint for rescue modifier
kddnewton (Kevin Newton)
06:45 PM Revision d989bc54 (git): YJIT: split chain_depth and flag booleans in context (#11169)
Split these values to avoid using a bit mask in the context
Use variable length encoding to save a few bits on chain depth
maximecb (Maxime Chevalier-Boisvert)
06:12 PM Revision c06f79c5 (git): [ruby/prism] Fix up implicit flags
https://github.com/ruby/prism/commit/f4152c1f50 kddnewton (Kevin Newton)
06:04 PM Revision 8080de04 (git): [PRISM] Optimize inner static literal hashes
kddnewton (Kevin Newton)
06:04 PM Revision c1e53584 (git): [PRISM] Optimize pushing large hash literals
kddnewton (Kevin Newton)
06:04 PM Revision b38493c5 (git): [PRISM] Chunk sub-arrays of static literals in array literals
Co-authored-by: Adam Hess <HParker@github.com> kddnewton (Kevin Newton)
06:04 PM Revision fb6d5414 (git): [PRISM] Optimizations for compiling large arrays
kddnewton (Kevin Newton)
05:37 PM Bug #14582: Unable to use `method__entry` and `method_return` tracing probes since 2.5
In Fedora / RHEL, we would still be interested in re-enabling this functionality. @jaruga are there by a chance upstream SystemTap tests? I think that something similar to `annocheck` test coverage would be cool. vo.x (Vit Ondruch)
04:08 PM Revision 425e468d (git): [Backport #20633] Fix the condition for `atomic_signal_fence` (#11166)
[Bug #20633] Fix the condition for `atomic_signal_fence`
`AC_CHECK_DECLS` defines `HAVE_DECL_SYMBOL` to 1 if declared, 0
otherwise, not undefined.
Co-authored-by: kimuraw (Wataru Kimura) <kimuraw@i.nifty.jp>
ivoanjo (Ivo Anjo)
03:28 PM Revision 2245f278 (git): Remove unused ruby_initial_gc_stress
peterzhu2118 (Peter Zhu)
02:56 PM Revision ec773e15 (git): YJIT: Local variable register allocation (#11157)
* YJIT: Local variable register allocation
* locals are not stack temps
* Rename RegTemps to RegMappings
* Rename RegMapping to RegOpnd
* Rename local_size to num_locals
* s/stack value/operand/
* Rename spill_temps() to spill_regs...
k0kubun (Takashi Kokubun)
01:11 PM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
commit:fc5b9ffad1b0710bd999521d0bf9631af6b762c2 cause compilation failures like `gcc: error: incflags@: No such file or directory`.
cf. https://github.com/ruby/ruby/actions/runs/9939895651/job/27455409440
Reverted it for a while.
nagachika (Tomoyuki Chikanaga)
01:02 PM Bug #20500: Non-system directories are not searched when checking for jemalloc headers and libs, and building `enc`
ruby_3_2 commit:fc5b9ffad1b0710bd999521d0bf9631af6b762c2 merged revision(s) commit:5fa6ba9568e87e43e08a4daeba1572254c589fb1. nagachika (Tomoyuki Chikanaga)
01:09 PM Revision db5201ff (git): Revert "merge revision(s) 5fa6ba9568e87e43e08a4daeba1572254c589fb1: [Backport #20500]"
This reverts commit fc5b9ffad1b0710bd999521d0bf9631af6b762c2. nagachika (Tomoyuki Chikanaga)
01:02 PM Bug #20517: `Ripper.tokenize('"\\M-あ"')` separates encoding valid string to encoding invalid string.
ruby_3_2 commit:96a82418b2efe98a92f239a9a1cbf30dd396d335 merged revision(s) commit:05553cf22d43dd78b8f30cc4591230b5c000c538. nagachika (Tomoyuki Chikanaga)
01:02 PM Bug #20030: `Ripper.tokenize('"\\C-あ"')` separates encoding valid string to encoding invalid string.
ruby_3_2 commit:a804d5514c7c0608b9fb52426ec3ec738420ad29 merged revision(s) commit:d503e1b95a40e45d7767e0175de60092de4ba54e. nagachika (Tomoyuki Chikanaga)
01:01 PM Revision 96a82418 (git): merge revision(s) 05553cf22d43dd78b8f30cc4591230b5c000c538: [Backport #20517]
[Bug #20517] Make a multibyte character one token at meta escape nagachika (Tomoyuki Chikanaga)
12:57 PM Revision 461a7b83 (git): Add gc/gc.h for functions in gc.c and used by GC implementations
peterzhu2118 (Peter Zhu)
12:57 PM Revision 4b0244a1 (git): Rename GC_IMPL_H macro to GC_GC_IMPL_H
peterzhu2118 (Peter Zhu)
12:51 PM Revision a804d551 (git): merge revision(s) d503e1b95a40e45d7767e0175de60092de4ba54e: [Backport #20030]
[Bug #20030] dispatch invalid escaped character without ignoring it nagachika (Tomoyuki Chikanaga)
12:31 PM Revision fc5b9ffa (git): merge revision(s) 5fa6ba9568e87e43e08a4daeba1572254c589fb1: [Backport #20500]
[Bug #20500] Search non-default directories for jemalloc
Co-Authored-by: lish82 (Hiroki Katagiri)
nagachika (Tomoyuki Chikanaga)
11:45 AM Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
Thank you for reporting and kindly create backport pull requests!
merged into ruby_3_2.
nagachika (Tomoyuki Chikanaga)
08:19 AM Bug #20633: compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
Thanks @kimuraw for fixing my mistake 😅
I've also opened the PRs to backport your fix to the Ruby 3.3 and 3.2 branches:
* https://github.com/ruby/ruby/pull/11167
* https://github.com/ruby/ruby/pull/11166
ivoanjo (Ivo Anjo)
11:44 AM Revision 958adb5b (git): [Bug #20633] Fix the condition for `atomic_signal_fence`
`AC_CHECK_DECLS` defines `HAVE_DECL_SYMBOL` to 1 if declared, 0
otherwise, not undefined.
kimuraw (Wataru Kimura)
09:45 AM Bug #20505: Reassigning the block argument in method body keeps old block when calling super with implicit arguments
Keep the assignment to the block argument as it is; If we want to discuss `super`'s behavior, let's discuss it in another issue.
Matz.
matz (Yukihiro Matsumoto)
09:10 AM Bug #20342: Top level `public`, `private` and `ruby2_keywords` do not work in wrapped load
ruby_3_2 commit:b72deb7ca1198f8c799cd5e7e44635cf50abd7ec merged revision(s) commit:58918788abd63901588e4aa1e39b5c057321c10a. nagachika (Tomoyuki Chikanaga)
09:09 AM Bug #20453: Pointer being freed was not allocated in Regexp timeout
Since I have marked https://bugs.ruby-lang.org/issues/20228 as Backport: "3.2 WONTFIX", I believe the issue is not present in the ruby_3_2 branch now. Therefore, I will mark this ticket as "3.2: WONTFIX" as well.
I have partially back...
nagachika (Tomoyuki Chikanaga)
09:03 AM Revision c22398f9 (git): merge partially d292a9b98ce03c76dbe13138d20b9fbf613cc02d. Just add the test to ensure the issue doesn't exit in ruby_3_2 branch.
nagachika (Tomoyuki Chikanaga)
08:56 AM Revision b72deb7c (git): merge revision(s) 58918788abd63901588e4aa1e39b5c057321c10a: [Backport #20342]
[Bug #20342] Consider wrapped load in `main` methods nagachika (Tomoyuki Chikanaga)
08:10 AM Feature #20576: Add MatchData#bytebegin and MatchData#byteend
OK. I didn't like the names (especially byteend), but after looking at them for a while I got used to it and was ready to compromise.
Matz.
matz (Yukihiro Matsumoto)
07:47 AM Revision bfdb6d5a (git): update GitHub Action spec_guards workflow.
nagachika (Tomoyuki Chikanaga)
07:34 AM Revision 3219ecf4 (git): Win32: Skip check for VS2022 FP BUG by default
nobu (Nobuyoshi Nakada)
05:37 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
Eregon (Benoit Daloze) wrote in #note-31:
> mame (Yusuke Endoh) wrote in #note-23:
> ...
`Kernel#exec` is not implemented on Windows.
> Did you mean `Kernel#spawn`/`Kernel#system` maybe?
Argument passing is same for them.
Ereg...
nobu (Nobuyoshi Nakada)
05:03 AM Revision 8200325e (git): follow-up for a6b7aad954680e23e7db81d69a7e8e44583bf8b4. suppress compiler warning.
nagachika (Tomoyuki Chikanaga)
04:40 AM Bug #20304: Memory leak when setting Encoding.default_internal
ruby_3_2 commit:519d164b6682a8b9fde2b1d5ab7d74f54c4f0224 merged revision(s) commit:c7ce2f537f96ab2cf2f5fc2982d6147866ff5340. nagachika (Tomoyuki Chikanaga)
04:40 AM Bug #20322: rb_enc_interned_str_cstr doesn't accept null pointer for encoding
ruby_3_2 commit:a6b7aad954680e23e7db81d69a7e8e44583bf8b4 merged revision(s) commit:7e4b1f8e1935a10df3c41ee60ca0987d73281126. nagachika (Tomoyuki Chikanaga)
04:40 AM Revision a6b7aad9 (git): merge revision(s) 7e4b1f8e1935a10df3c41ee60ca0987d73281126: [Backport #20322]
[Bug #20322] Fix rb_enc_interned_str_cstr null encoding
The documentation for `rb_enc_interned_str_cstr` notes that `enc` can be
a null pointer, but this currently causes a segmentation fault when
trying to autol...
nagachika (Tomoyuki Chikanaga)
04:24 AM Revision 519d164b (git): merge revision(s) c7ce2f537f96ab2cf2f5fc2982d6147866ff5340: [Backport #20304]
Fix memory leak in setting encodings
There is a memory leak in Encoding.default_external= and
Encoding.default_internal= because the duplicated name is not freed
when overwriting.
10.times do
...
nagachika (Tomoyuki Chikanaga)
03:06 AM Bug #20431: Ruby 3.3.0 build fail with make: *** [io_buffer.o] Error 1
ruby_3_2 commit:db45554fef4c8e1b0ba494965449db13068e6051 merged revision(s) commit:1faeb44dfcf777ace28321e80d0ebf942161a0a7, commit:7f87ad9fc4bc45faf8cd33602a025f27c094b2fd. nagachika (Tomoyuki Chikanaga)
03:00 AM Revision db45554f (git): merge revision(s) 1faeb44dfcf777ace28321e80d0ebf942161a0a7, 7f87ad9fc4bc45faf8cd33602a025f27c094b2fd: [Backport #20431]
Check if macros are defined before using
Assume macros with the same prefix would be defined together.
Refer autoconfigured endian macro (#10572)
Remove the case `RB_IO_BUFFER_HOST_ENDIAN` is not defined.
nagachika (Tomoyuki Chikanaga)
02:57 AM Bug #20169: `GC.compact` can raises `EFAULT` on IO
Reverted 6b73406833dd22e489114fa77c1c80c4b7af2ed0. It introduce failures on build condition with USE_RVARGC=0. nagachika (Tomoyuki Chikanaga)
12:51 AM Bug #20169: `GC.compact` can raises `EFAULT` on IO
ruby_3_2 commit:6b73406833dd22e489114fa77c1c80c4b7af2ed0 merged revision(s) commit:5e0c17145131e073814c7e5b15227d0b4e73cabe. nagachika (Tomoyuki Chikanaga)
02:55 AM Revision 0cb1e753 (git): Revert "merge revision(s) 5e0c17145131e073814c7e5b15227d0b4e73cabe: [Backport #20169]"
This reverts commit 6b73406833dd22e489114fa77c1c80c4b7af2ed0. nagachika (Tomoyuki Chikanaga)
02:41 AM Revision 727f2bd3 (git): Bump github/codeql-action from 3.25.11 to 3.25.12
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.11 to 3.25.12.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG....
dependabot[bot]
02:10 AM Bug #20292: Abort ruby by `String#initialize`
Reverted backport commits to ruby_3_2. They introduce failures on build condition with USE_RVARGC=0. nagachika (Tomoyuki Chikanaga)
12:50 AM Bug #20292: Abort ruby by `String#initialize`
ruby_3_2 commit:a54c717c7a74b91a3cdf20742c355e3ea42052d1 merged revision(s) commit:e04146129ec6898dd6a9739dad2983c6e9b68056, commit:d5080f6e8b77364483ff6727b1065e45e180f05d. nagachika (Tomoyuki Chikanaga)
02:08 AM Revision b5e554d0 (git): Revert "merge revision(s) e04146129ec6898dd6a9739dad2983c6e9b68056, d5080f6e8b77364483ff6727b1065e45e180f05d: [Backport #20292]"
This reverts commit a54c717c7a74b91a3cdf20742c355e3ea42052d1. nagachika (Tomoyuki Chikanaga)
02:07 AM Revision 8051a6d3 (git): Revert "follow-up for a54c717c7a74b91a3cdf20742c355e3ea42052d1."
This reverts commit 715633ba6e982dc5404abeafc5246c31af92ac10. nagachika (Tomoyuki Chikanaga)
01:41 AM Revision 715633ba (git): follow-up for a54c717c7a74b91a3cdf20742c355e3ea42052d1.
nagachika (Tomoyuki Chikanaga)
12:50 AM Bug #20296: Complex(:sym, exception: false) generate exception with weird timing
ruby_3_2 commit:90f4c5dc73af3fff76500dd4223792a6d9f58636 merged revision(s) commit:dc146babf47a84bbd1f176d766637d4a40327019, commit:f23d5028059078a346efc977287b669d494a5a3f, commit:a0f7de814ae5c299d6ce99bed5fb308a05d50ba0. nagachika (Tomoyuki Chikanaga)
12:50 AM Revision 90f4c5dc (git): merge revision(s) dc146babf47a84bbd1f176d766637d4a40327019, f23d5028059078a346efc977287b669d494a5a3f, a0f7de814ae5c299d6ce99bed5fb308a05d50ba0: [Backport #20296]
[Bug #20296] Clear errinfo when `exception: false`
[Bug #20296] Refine the test
[Bug #20296] Fix the default assertion message
nagachika (Tomoyuki Chikanaga)
12:26 AM Revision a54c717c (git): merge revision(s) e04146129ec6898dd6a9739dad2983c6e9b68056, d5080f6e8b77364483ff6727b1065e45e180f05d: [Backport #20292]
[Bug #20292] Truncate embedded string to new capacity
Fix -Wsign-compare on String#initialize
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
../string.c...
nagachika (Tomoyuki Chikanaga)

07/14/2024

11:50 PM Revision 6b734068 (git): merge revision(s) 5e0c17145131e073814c7e5b15227d0b4e73cabe: [Backport #20169]
Make io_fwrite safe for compaction
[Bug #20169]
Embedded strings are not safe for system calls without the GVL because
compaction can cause pages to be locked causing the operation to fail
with EFAULT. T...
nagachika (Tomoyuki Chikanaga)
07:07 PM Bug #20587: dir.c calls blocking filesystem APIs/system calls while holding the GVL
I merged https://github.com/ruby/ruby/pull/11147 . I'll work on `getattrlist` and `fgetattrlist` next, and then I'll work on similar GVL-releasing work in `process.c` and `ext/ext/etc.c`. jeremyevans0 (Jeremy Evans)
07:02 PM Revision 8ade9994 (git): Release GVL around system calls in dir.c
* Release GVL for fdopendir calls
* Release GVL for readdir calls
* Release GVL for chdir call in dir_chdir0
* Release GVL for fchdir call in dir_fchdir
* Release GVL for chroot calls
* Release GVL for lstat calls
* Release GVL for stat ...
jeremyevans (Jeremy Evans)
11:33 AM Feature #17279: Allow a negative step in Range#step with a block
FWIW, my PR with adjusting `Range#step` behavior fixes this, too: https://github.com/ruby/ruby/pull/7444 (as part of the unificatioin/simplification process):
From the PR description:
> Consistent support for negative step:
```r...
zverok (Victor Shepelev)
10:18 AM Revision 94957302 (git): Win32: OpenSSL 1.1 DLLs are no longer used
We are already using OpenSSL 3.3 and have no possibility to use system
provided DLLs.
nobu (Nobuyoshi Nakada)
10:09 AM Revision 880b7f15 (git): Win32: Pass triplet option to vcpkg
nobu (Nobuyoshi Nakada)
01:44 AM Bug #20633 (Closed): compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
Applied in changeset commit:git|7472fff7f1b5296fbfcde0e2b7411a1d87781f3f.
----------
[Bug #20633] Fix the condition for `atomic_signal_fence`
`AC_CHECK_DECLS` defines `HAVE_DECL_SYMBOL` to 1 if declared, 0
otherwise, not undefined.
kimuraw (Wataru Kimura)
01:36 AM Revision 7472fff7 (git): [Bug #20633] Fix the condition for `atomic_signal_fence`
`AC_CHECK_DECLS` defines `HAVE_DECL_SYMBOL` to 1 if declared, 0
otherwise, not undefined.
kimuraw (Wataru Kimura)

07/13/2024

09:09 PM Bug #20634 (Closed): ruby uses 1/2 (7 out of 16) cores for 16 ractors with RUBY_MAX_CPU=16 environment variable set
It's a cont for #20618, feel free to close this one and reopen the original bug.
According to `top`, the below code uses 7/16 cores (700%) of my AMD Ryzen 7 5800HS:
```
#!/usr/bin/env ruby
16.times {
Ractor.new {
10_000.d...
skorobogatydmitry (Dmitry Skorobogaty)
10:43 AM Bug #20633 (Closed): compile error at vm_insnhelper.c when HAVE_DECL_ATOMIC_SIGNAL_FENCE is 0
木村といいます。
最近導入された、vm_insnhelper.c 中での atomic_signal_fence()の呼び出し[1]が
config.hで ”#define HAVE_DECL_ATOMIC_SIGNAL_FENCE 0” のときコンパイルエラーになります。
おそらくコードの意図と異なると思うのでパッチ送ります。
```
compiling array.c
compiling vm.c
In file included from...
kimuraw (Wataru Kimura)
09:48 AM Revision 9f1e18a1 (git): follow-up for 3faef1d40dc1d6eea8ffcd624528f431ccaf0a5b.
nagachika (Tomoyuki Chikanaga)
07:35 AM Bug #20307: `Hash#update` from compare_by_identity hash can have unfrozen string keys
ruby_3_2 commit:90a44bcd39c569d851f73d167955c83f3ff2384f merged revision(s) commit:f36a71e26995b69ff72bc132bbcf40ad89571414. nagachika (Tomoyuki Chikanaga)
06:43 AM Revision 90a44bcd (git): merge revision(s) f36a71e26995b69ff72bc132bbcf40ad89571414: [Backport #20307]
[Bug #20307] Fix `Hash#update` to make frozen copy of string keys nagachika (Tomoyuki Chikanaga)
06:42 AM Revision d802b612 (git): Extract `RHASH_STRING_KEY_P`
nobu (Nobuyoshi Nakada)
06:40 AM Revision 3faef1d4 (git): Extract `RHASH_IDENTHASH_P`
nobu (Nobuyoshi Nakada)
06:18 AM Bug #20250: Crash with "Object ID seen, but not in mapping table: proc" error
ruby_3_2 commit:584a02aaafda74c21d24dc4c5e223a2482c7fde3 merged revision(s) commit:d19d683a354530a27b4cbb049223f8dc70c75849. nagachika (Tomoyuki Chikanaga)
06:17 AM Revision 584a02aa (git): merge revision(s) d19d683a354530a27b4cbb049223f8dc70c75849: [Backport #20250]
rb_obj_setup: do not copy RUBY_FL_SEEN_OBJ_ID
[Bug #20250]
We're seting up a new instance, so it never had an associated
object_id.
nagachika (Tomoyuki Chikanaga)
12:36 AM Bug #20619: Backport bd583ca645ea348a2894f4227fcb1af650ee8dec to ruby 3.3
merged https://github.com/ruby/ruby/pull/11131 k0kubun (Takashi Kokubun)

07/12/2024

07:45 PM Feature #20627: `require` on Ractor should run on the main Ractor
*Now require on main Ractor is not allowed (raising error)*
I think you mean *non-main Ractor*. I like this change, I think it's necessary to get wider adoption for Ractors due to the autoload issue you mentioned. The change should be...
luke-gru (Luke Gruber)
07:10 PM Bug #19696 (Feedback): YJIT panicked - branch stubs should never enlarge branches
alanwu (Alan Wu)
02:54 PM Revision 84138f52 (git): [DOC] Add missing period in NEWS.md
peterzhu2118 (Peter Zhu)
02:53 PM Revision 17b71e6c (git): [DOC] Fix link in NEWS.md for [Feature #20443]
peterzhu2118 (Peter Zhu)
01:50 PM Feature #20443 (Closed): Allow Major GC's to be disabled
Applied in changeset commit:git|f543c68e1ce4abaafd535a4917129e55f89ae8f7.
----------
Provide GC.config to disable major GC collections
This feature provides a new method `GC.config` that configures internal
GC configuration variables p...
eightbitraptor (Matt V-H)
01:50 PM Revision 6298667f (git): [ruby/prism] When parsing an invalid write, still add to the local table
https://github.com/ruby/prism/commit/a54abc4d1b kddnewton (Kevin Newton)
01:43 PM Revision ca99f86b (git): Add GC.config to NEWS.md
eightbitraptor (Matt V-H)
01:43 PM Revision 8418df72 (git): Avoid extra module linkage in gc/default.c
We don't need to use rb_str_to_cstr here, which means we don't need to
include string headers anymore.
eightbitraptor (Matt V-H)
01:43 PM Revision 3ccc6e0b (git): Document GC.config
eightbitraptor (Matt V-H)
01:43 PM Revision 4d77803a (git): Rename full_mark -> rgengc_allow_full_mark
eightbitraptor (Matt V-H)
01:43 PM Revision f543c68e (git): Provide GC.config to disable major GC collections
This feature provides a new method `GC.config` that configures internal
GC configuration variables provided by an individual GC implementation.
Implemented in this PR is the option `full_mark`: a boolean value that
will determine whethe...
eightbitraptor (Matt V-H)
12:41 PM Revision 00d0ddd4 (git): Add gc/gc_impl.h for GC implementation headers
peterzhu2118 (Peter Zhu)
12:21 PM Revision 17a4c7cf (git): [ruby/reline] Fix rendering bug of nomultiline prompt
(https://github.com/ruby/reline/pull/730)
Fix bug of `print('a'*10); Reline.readline('>')` wrong rendering
https://github.com/ruby/reline/commit/c0469a12b9
tompng (tomoya ishida)
11:33 AM Bug #20587: dir.c calls blocking filesystem APIs/system calls while holding the GVL
Nice!
I've tried the PR and it actually makes the issue in https://bugs.ruby-lang.org/issues/20586#How-to-reproduce disappear in my tests.
(It does not fully solve the issue, but what made it trigger a lot more often was that the `...
ivoanjo (Ivo Anjo)
09:45 AM Revision 94b87084 (git): [ruby/win32ole] win32ole.c: repeated code
* ext/win32ole/win32ole.c (ole_variant2val): reduce repeated code
between byref and byval.
https://github.com/ruby/win32ole/commit/e753c6abdd
nobu (Nobuyoshi Nakada)
08:02 AM Bug #20629: Ruby infinite loop when raising+rescuing inside a RUBY_INTERNAL_EVENT_NEWOBJ
Thanks for pointing me in the right direction! I had completely forgotten that bit of info 😅. I guess I had to spend a few hours learning it the hard way. ivoanjo (Ivo Anjo)
06:26 AM Revision bb1ef817 (git): [ruby/error_highlight] Make test_COLON2_5 conditional again
https://github.com/ruby/error_highlight/commit/da5e76bb06 mame (Yusuke Endoh)
05:12 AM Bug #20632 (Closed): madvise(MADV_FREE) failure should not crash the process
The M:N threading stack cleanup machinery here tries to call `MADV_FREE` on the native thread's stack, and calls `rb_bug` if it fails: https://github.com/ruby/ruby/blob/371055979f4e367e90d7af4140e92fd3824bce2a/thread_pthread_mn.c#L369
...
kjtsanaktsidis (KJ Tsanaktsidis)
04:39 AM Bug #20631 (Assigned): Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
hsbt (Hiroshi SHIBATA)
04:39 AM Bug #20631: Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
I skipped crashed tests at https://github.com/ruby/ruby/pull/11155
These are caused by `Process.daemon` and `Process.kill(:SEGV, ...)`.
hsbt (Hiroshi SHIBATA)
03:08 AM Bug #20631: Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
I also found build failure of [oj-introspect](https://github.com/meinac/oj-introspect).
https://github.com/meinac/oj-introspect/blob/master/ext/oj-introspect/extconf.rb#L17
```
$DLDFLAGS << " -Wl,-U,#{sym.strip}"
```
This line...
hsbt (Hiroshi SHIBATA)
02:52 AM Bug #20631 (Closed): Build failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
I found some issues with Xcode 16 beta and macOS 15 (Sequoia) Beta.
`TestRubyOptions` and `TestVMDump` are failed with them.
full log: https://gist.github.com/hsbt/378fe2ba47e734f2562ba9a154e1795b
I'm not sure why macOS require ...
hsbt (Hiroshi SHIBATA)
04:38 AM Revision 37105597 (git): Pend some tests because these are not working with macOS 15 beta and Xcode 16 beta
hsbt (Hiroshi SHIBATA)
01:21 AM Revision fa6bf1da (git): give up USE_GC_MALLOC_OBJ_INFO_DETAILS
This feature is no longer possible under current design; now that our GC
is pluggable, we cannot assume what was achieved by this compiler flag
is always possble by the dynamically-loaded GC implementation.
shyouhei (Shyouhei Urabe)
12:53 AM Feature #20594: A new String method to append bytes while preserving encoding
Eregon (Benoit Daloze) wrote in #note-11:
> I wonder if that's a bug of `bytesplice`.
> ...
It's intended behavior.
Having a long history of suffering from character encoding issues such as mojibake, we Japanese believe that operation...
shugo (Shugo Maeda)
12:15 AM Bug #20604: Performance regression in C++ extensions due to lack of optimization flags by default since Ruby 2.7
> Please specify $CXXFLAGS individually.
Just some additional information about how to do this.
If you maintain a gem, you can add the desired flags to $CXXFLAGS in your `extconf.rb`.
As an user, you can install a gem while addin...
alanwu (Alan Wu)
12:15 AM Revision 9acc0efd (git): Use fixture certificates to fix test failure with RHEL9.
http://rubyci.s3.amazonaws.com/rhel9/ruby-master/log/20240711T213004Z.fail.html.gz
```
1) Error:
HTTPSProxyTest#test_https_proxy_ssl_connection:
OpenSSL::X509::CertificateError: invalid digest
/home/chkbuild/chkbuild/tmp/build/202...
hsbt (Hiroshi SHIBATA)

07/11/2024

11:53 PM Bug #20604 (Rejected): Performance regression in C++ extensions due to lack of optimization flags by default since Ruby 2.7
This is NG. Some OSes (if I remember correctly it was Arch when we found this) ship clang and g++ combination. They happen to have -O3 in common but not everything. It was a wrong idea first place for us to share $optflags. There's n... shyouhei (Shyouhei Urabe)
11:01 PM Bug #20629 (Closed): Ruby infinite loop when raising+rescuing inside a RUBY_INTERNAL_EVENT_NEWOBJ
> this code assumes it's ok to raise/rescue in the RUBY_INTERNAL_EVENT_NEWOBJ tracepoint as it usually works fine, but maybe it's not?
Right, it is not. The documentation for rb_tracepoint_new() is clear about this:
> ...
However...
alanwu (Alan Wu)
11:46 AM Bug #20629 (Closed): Ruby infinite loop when raising+rescuing inside a RUBY_INTERNAL_EVENT_NEWOBJ
### Background
Hey! While working on the [Datadog Ruby Profiler](https://github.com/datadog/dd-trace-rb) I ran into a weird situation where the Ruby VM locks up as it gets stuck in an infinite loop in vm_sync.c:
```c
whil...
ivoanjo (Ivo Anjo)
10:46 PM Misc #20630 (Rejected): Potential optimizations for NODE_CONST compilation
jeremyevans0 (Jeremy Evans)
10:41 PM Misc #20630: Potential optimizations for NODE_CONST compilation
Ah, I figured I was missing something. Thanks for pointing that out.
We can close this in that case. At least it will serve as a note for anyone else who stumbles into this!
zack.ref@gmail.com (Zack Deveau)
10:32 PM Misc #20630: Potential optimizations for NODE_CONST compilation
I am not an expert, but I don't think you can optimize away constant references just because their value is not being used. Constant references might have side effects, in particular autoloading, that will change behaviour if the referen... ufuk (Ufuk Kayserilioglu)
10:21 PM Misc #20630 (Rejected): Potential optimizations for NODE_CONST compilation
I would like to propose two potential optimizations to the way we currently compile `NODE_CONST` nodes in `compile.c`. I've included commits for each on a related PR.
- PR: https://github.com/ruby/ruby/pull/11154
- `NODE_CONST` compi...
zack.ref@gmail.com (Zack Deveau)
10:20 PM Bug #20622 (Closed): irb: invalid byte sequence in UTF-8
alanwu (Alan Wu)
09:59 PM Bug #20622: irb: invalid byte sequence in UTF-8
Good advice, thanks. Problem solved by changing the encoding of ~/.inputrc to UTF-8. chmaynard (Craig Maynard)
08:21 PM Feature #20443: Allow Major GC's to be disabled
ko1 (Koichi Sasada) wrote in #note-25:
> On dev-meeting, there is no objection on `GC.config()`.
> ...
Thank you for discussing this. I will ship this with `GC.config` as the method name. I have changed the config key to `rgengc_allow_...
eightbitraptor (Matt V-H)
10:04 AM Feature #20443: Allow Major GC's to be disabled
On dev-meeting, there is no objection on `GC.config()`.
Could you write the more doc of it? For example, returning value is unclear.
About keys:
* Matz prefer to add prefix for the keys, like `GC.config(gengc_full_mark: true)`.
*...
ko1 (Koichi Sasada)
07:49 PM Revision 6fc83118 (git): Fix Makefile.in for non GNUmake
On OpenBSD the Makefile errors with:
Using $< in a non-suffix rule context is a GNUmake idiom
peterzhu2118 (Peter Zhu)
07:46 PM Revision cfaa3e93 (git): [ruby/prism] Bump typecheck dependencies to fix CI
https://github.com/ruby/prism/commit/c7a4a90ee8 kddnewton (Kevin Newton)
07:46 PM Revision 21b4c149 (git): [ruby/prism] (ruby_parser) Handle bare string in implicit concat
https://github.com/ruby/prism/commit/afc7c9344a kddnewton (Kevin Newton)
07:46 PM Revision 3c3be9c6 (git): [ruby/prism] (ruby_parser) Match match3 nodes for regular expressions
https://github.com/ruby/prism/commit/47cb73ce69 kddnewton (Kevin Newton)
07:46 PM Revision 4c696597 (git): [ruby/prism] (ruby_parser) Reverse associativity of and and or nodes
https://github.com/ruby/prism/commit/073e8ba307 kddnewton (Kevin Newton)
07:43 PM Revision 43aee339 (git): fix `defined?(@ivar)` with Ractors
`defined?(@ivar)` on the non main Ractor has two issues:
1. raising an exception
```ruby
class C
@iv1 = []
def self.defined_iv1 = defined?(@iv1)
end
Ractor.new{
p C.defined_iv1
#=> can not get unshareable values from instance ...
ko1 (Koichi Sasada)
07:18 PM Revision ef563a69 (git): Minor: Fix typo in bug name
This confused me for a few minutes -- the testcase for
https://bugs.ruby-lang.org/issues/14834 was mistyped in the file name,
as well as once in the source.
E.g. in some cases it was
`one-four-three-eight-four` instead of
`one-four-eigh...
ivoanjo (Ivo Anjo)
07:17 PM Revision a58e3305 (git): YJIT: remove doc/yjit/yjit_hacking.md (#11153)
Document is 3 years old and out of date maximecb (Maxime Chevalier-Boisvert)
07:01 PM Revision 3fbf9df3 (git): YJIT: increase context cache size to 1024 redux (#11140)
* YJIT: increase context cache size to 1024 redux
* Move context hashing code outside of unsafe block
* Avoid allocating large table on the stack, which would cause a stack overflow
Co-authored by Alan Wu @XrXr
maximecb (Maxime Chevalier-Boisvert)
06:25 PM Revision 1f6aeadc (git): [PRISM] Fix Windows 2015 segfault
kddnewton (Kevin Newton)
06:25 PM Revision ac093f5a (git): [PRISM] Fix up shareable constant casting
kddnewton (Kevin Newton)
06:25 PM Revision c1df15c3 (git): [PRISM] Use node ids for error highlight
kddnewton (Kevin Newton)
06:25 PM Revision 0006fb1e (git): [PRISM] Revert incorrectly merged gemfile
kddnewton (Kevin Newton)
06:25 PM Revision be4589df (git): [ruby/prism] Prevent optional block parameter from accepting certain prefixed values
This commit prevents the following unary operators from being accepted
as the value prefix of a block's optional parameter:
- `+`
- `-`
- `~`
- `!`
For example, `f { |a = +b| }` will now raise a syntax error.
https://github.com/ruby/p...
Stan Lo
06:25 PM Revision aa473489 (git): [ruby/prism] Various cleanup for initializers and typechecks
https://github.com/ruby/prism/commit/86cf82794a kddnewton (Kevin Newton)
06:25 PM Revision 2bf9ae3f (git): [ruby/prism] Add node ids to nodes
https://github.com/ruby/prism/commit/bf16ade7f9 kddnewton (Kevin Newton)
06:25 PM Revision 39dcfe26 (git): [ruby/prism] Move Node#type and Node::type documentation
https://github.com/ruby/prism/commit/08a71f6259 kddnewton (Kevin Newton)
06:25 PM Revision 32090e2b (git): [ruby/prism] Add Node#breadth_first_search
https://github.com/ruby/prism/commit/1ffb141199 kddnewton (Kevin Newton)
06:25 PM Revision aca42a24 (git): [ruby/prism] Expose common flags in inspect output
https://github.com/ruby/prism/commit/d0143865c2 kddnewton (Kevin Newton)
06:25 PM Revision 687be43c (git): [ruby/prism] Expose flags on every node type
https://github.com/ruby/prism/commit/9f12a56fd6 kddnewton (Kevin Newton)
06:25 PM Revision ca48fb76 (git): [ruby/prism] Move location to second position for node initializers
https://github.com/ruby/prism/commit/4cc0eda4ca kddnewton (Kevin Newton)
06:25 PM Revision 678dd769 (git): [ruby/prism] Reconfigure error tests
https://github.com/ruby/prism/commit/fb7e1ebb7f kddnewton (Kevin Newton)
05:02 PM Revision c0ad0c3e (git): Update yjit.md, explain how to run a single test with test-all (#11151)
maximecb (Maxime Chevalier-Boisvert)
03:38 PM Revision 9962e395 (git): Make shared GC job in ubuntu.yml use a shared GC
peterzhu2118 (Peter Zhu)
03:38 PM Revision d0dfd963 (git): Remove SHARED_GC job from compilers.yml
It's a duplicate of the one in ubuntu.yml peterzhu2118 (Peter Zhu)
03:25 PM Bug #9115 (Closed): Logger traps all exceptions; breaks Timeout
I merged https://github.com/ruby/logger/pull/37 to fix this issue. jeremyevans0 (Jeremy Evans)
08:15 AM Bug #9115: Logger traps all exceptions; breaks Timeout
Sorry to be late. Because I've been a bit busy lately, so I'll leave this to Jeremy Evans.
sonots (Naotoshi Seo)
03:25 PM Revision c698180e (git): [ruby/logger] Add reraise_write_errors keyword argument to Logger and LogDevice
This allows the user to specify exception classes to treat as regular
exceptions instead of being swallowed. Among other things, it is
useful for having Logger work with Timeout.
Fixes Ruby Bug 9115.
https://github.com/ruby/logger/com...
jeremyevans (Jeremy Evans)
03:21 PM Bug #20505 (Rejected): Reassigning the block argument in method body keeps old block when calling super with implicit arguments
This was discussed in yesterday's dev meeting, and the decision was made to keep the current behavior: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-07-11.md#bug-20505-reassigning-the-block-argument-in-method-b... jeremyevans0 (Jeremy Evans)
03:19 PM Feature #20594: A new String method to append bytes while preserving encoding
I wonder if that's a bug of `bytesplice`.
It's not like e.g. `setbyte` would respect the encoding (it cannot possibly).
OTOH `byteindex` also takes a String argument and raises `Encoding::CompatibilityError` for `"é".b.byteindex "é"` s...
Eregon (Benoit Daloze)
12:49 PM Feature #20594: A new String method to append bytes while preserving encoding
> but also that the encoding is ignored
That was my understanding as well, but given that `bytesplice` does potentially raise `EncodingError`, there is a mismatch here.
In this case I very much want to allow breaking a string enco...
byroot (Jean Boussier)
10:54 AM Feature #20594: A new String method to append bytes while preserving encoding
mame (Yusuke Endoh) wrote in #note-7:
> Existing methods with byte-prefix (String#byteindex, #bytesplite, etc.) mean that the unit of offset or size is in byte.
My understanding of `byte*` methods is they treat the String as a byte a...
Eregon (Benoit Daloze)
08:45 AM Feature #20594: A new String method to append bytes while preserving encoding
> binary_concat (It should work only when the receiver's encoding is BINARY. Does it fit with @byroot (Jean Boussier) 's motivation?)
No it's too limiting. It should work with any encoding in my opinion.
I'll try to come up with ot...
byroot (Jean Boussier)
08:43 AM Feature #20594: A new String method to append bytes while preserving encoding
Existing methods with byte-prefix (String#byteindex, #bytesplite, etc.) mean that the unit of offset or size is in byte.
`byteconcat` and `byteappend`, on the other hand, are confusing because they have no offset or size, but they mea...
mame (Yusuke Endoh)
05:38 AM Feature #20594: A new String method to append bytes while preserving encoding
Discussed in person in the meeting. I'll think about other names and propose some. byroot (Jean Boussier)
05:18 AM Feature #20594: A new String method to append bytes while preserving encoding
> Since other methods with byte prefixes have the behavior of counting the index in bytes, but this method has nothing to do with the index
I kinda disagree here. My understanding is that the `byte*` methods operate on bytes rather th...
byroot (Jean Boussier)
05:06 AM Feature #20594: A new String method to append bytes while preserving encoding
I agree with having such a method. However, I disagree with the name `byteconcat`. Since other methods with byte prefixes have the behavior of counting the index in bytes, but this method has nothing to do with the index, but with the en... matz (Yukihiro Matsumoto)
01:19 PM Feature #20612: Introduce new Epsilon (no-op) GC
matz (Yukihiro Matsumoto) wrote in #note-1:
> We can not read the background of this proposal. Why do you want to have this epsilon GC? Just for the example of the pluggable GC?
> ...
There are two primary reasons why I would like this t...
eightbitraptor (Matt V-H)
08:04 AM Feature #20612: Introduce new Epsilon (no-op) GC
We can not read the background of this proposal. Why do you want to have this epsilon GC? Just for the example of the pluggable GC?
Matz.
matz (Yukihiro Matsumoto)
01:09 PM Revision a0469a47 (git): Rename gc/gc_impl.c to gc/default.c
Changing the name makes it clear that this is the default GC in Ruby. peterzhu2118 (Peter Zhu)
01:09 PM Revision e5d12f9c (git): Move gc_impl.c to gc/gc_impl.c
This commit creates a new directory `gc` to put different GC
implementations and moves the default GC from gc_impl.c to gc/gc_impl.c.
The default GC can be easily switched using the `BUILTIN_GC` variable
in Makefile.in.
peterzhu2118 (Peter Zhu)
10:42 AM Bug #20626: `defined?(@ivar)` should return nil when `@iv` can raise on Ractor
AFAIK `defined?(expr)` checks whether the expression is defined, e.g. if it's a variable whether there is such a variable.
That doesn't change with Ractor, there is in fact an `@iv1` variable and it is observable because reading `@does_...
Eregon (Benoit Daloze)
07:55 AM Bug #20626: `defined?(@ivar)` should return nil when `@iv` can raise on Ractor
On the devmeeting, akr pointed that `@iv = foo unless defined?(@iv)` isn't be supported with Case1's proposal.
So the following approach was approved by matz:
* On Case1 returns "instance-variable" because it is defined (but error when...
ko1 (Koichi Sasada)
02:40 AM Bug #20626 (Closed): `defined?(@ivar)` should return nil when `@iv` can raise on Ractor
Return `nil` for `defined?(@ivar)` on some cases with Ractor.
## Background
It is not allowed to get instance variables from an object if
1. the object is shareable
2. and the instance variable refers to an unshareable object
...
ko1 (Koichi Sasada)
10:10 AM Feature #20625: Object#chain_of
```ruby
breadcrumbs = Enumerator.produce(parent, &:parent_directory).take_while { !_1.nil? }
hierarchy = Enumerator.produce(employee, &:member).take_while { !_1.nil? }
```
My initial proposal for what became `Enumerator.produce` (i...
zverok (Victor Shepelev)
08:46 AM Misc #20628 (Closed): DevMeeting-2024-08-01
# The next dev meeting
**Date: 2024/08/01 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2024/DevMeeting-2024-08-01.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t...
mame (Yusuke Endoh)
08:46 AM Misc #20574 (Closed): DevMeeting-2024-07-11
mame (Yusuke Endoh)
08:03 AM Revision e1a034cb (git): IBM864 single-byte transcoding (#10518)
Include € euro sign from CCSID 864 bitsweat (Jeremy Daer)
07:52 AM Misc #20407 (Closed): Question about applying encoding modifier to an interpolated Regexp
It seems to be reasonable. Accepted.
Matz.
matz (Yukihiro Matsumoto)
07:51 AM Misc #20407: Question about applying encoding modifier to an interpolated Regexp
Since this feature is not widely used and will not be widely used, how do we keep this as is?
After for a while, this feature should be removed like $KCODE and other deprecated encoding features.
naruse (Yui NARUSE)
07:31 AM Bug #20447: Ruby 3.3.1 broken on i686 due to "incompatible pointer type" error
k0kubun (Takashi Kokubun) wrote in #note-10:
> Can you test `ruby_3_3` branch (at commit:b13cf49036f0a454063cde25807785adc00f8995) now?
Sorry, you probably wanted earlier feedback. But I can confirm that 3.3.4 build just fine on Fedo...
vo.x (Vit Ondruch)
06:59 AM Revision a1f74325 (git): Update bundled gems list as of 2024-07-10
git[bot]
05:39 AM Bug #20593 (Closed): `Kernel#format` emits a `too many arguments for format string` warning when called with a single hash and no key is used
Applied in changeset commit:git|3de0e343e27c4bbb76c3c9fda0d8be4d83807a2d.
----------
Do not warn about extra `format` argument when passed as keywords
[Bug #20593]
It's fairly common to use `format` to interpolate a number of values
i...
byroot (Jean Boussier)
05:36 AM Bug #20593: `Kernel#format` emits a `too many arguments for format string` warning when called with a single hash and no key is used
OK, I accepted.
Matz.
matz (Yukihiro Matsumoto)
05:39 AM Revision 3de0e343 (git): Do not warn about extra `format` argument when passed as keywords
[Bug #20593]
It's fairly common to use `format` to interpolate a number of values
into a user provided strings.
The arguments not matching are a problem when they are positional,
but when they are named, it's absolutely fine and we sho...
byroot (Jean Boussier)
04:49 AM Revision 72732af4 (git): [ruby/open-uri] document max_redirects option
https://github.com/ruby/open-uri/commit/4a247e5ca1 pineman (João Pinheiro)
04:49 AM Revision e62a0126 (git): [ruby/open-uri] apply default max_redirects
https://github.com/ruby/open-uri/commit/5d29e626bc pineman (João Pinheiro)
03:28 AM Revision e1238a1f (git): Enumerable#all?: Stop optimizing when a given block is not optimizable
This is a follow up to 182822683f86c8f8d63b05765addf5a04d112aa2.
Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org>
mame (Yusuke Endoh)
03:14 AM Feature #20627 (Closed): `require` on Ractor should run on the main Ractor
Now `require` on main Ractor is not allowed (raising error) but it is hard, especially for `autoload`.
So let's allow `require` by running it on the main Ractor.
## Background
On many libraries it is needed to run loading on the m...
ko1 (Koichi Sasada)
03:05 AM Bug #20587: dir.c calls blocking filesystem APIs/system calls while holding the GVL
@ivoanjo Thank you for your analysis. I worked on a pull request that handles most of the system calls you listed: https://github.com/ruby/ruby/pull/11147
It doesn't handle `getattrlist` or `fgetattrlist`, because I wasn't able to te...
jeremyevans0 (Jeremy Evans)
03:03 AM Revision 724d95a7 (git): Bump ruby/setup-ruby from 1.186.0 to 1.187.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.186.0 to 1.187.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](http...
dependabot[bot]
02:59 AM Bug #20618: ruby uses 1/2 (7 out of 16) cores for 16 ractors
Thanks @alanwu
Please use `RUBY_MAX_CPU` to increase the processors.
ko1 (Koichi Sasada)
02:27 AM Revision 6dc0086d (git): [rubygems/rubygems] fix s3 source configuration issue
https://github.com/rubygems/rubygems/commit/356726bd1a Dmitriy Ivliev
01:56 AM Feature #16482 (Closed): net/http should support TLS connection to proxies
I merged https://github.com/ruby/net-http/pull/55 now. hsbt (Hiroshi SHIBATA)
01:56 AM Revision bc1b4235 (git): [ruby/net-http] implement talking SSL to the proxy too
https://bugs.ruby-lang.org/issues/16482
https://github.com/ruby/net-http/commit/ae2d83f88b
Evgeni Golov
01:51 AM Revision 70bdc0f7 (git): [ruby/net-http] Add ability to configure default settings for new connections
https://github.com/ruby/net-http/commit/fed3dcd0c2 fatkodima (Dima Fatko)
01:22 AM Revision 9f4b45fb (git): [ruby/net-http] test_https.rb - fix test_session_reuse_but_expire
https://github.com/ruby/net-http/commit/5544243c41 MSP-Greg (Greg L)
01:10 AM Revision d605fb54 (git): [ruby/net-http] net/http.rb - derive SSL_IVNAMES from SSL_ATTRIBUTES
https://github.com/ruby/net-http/commit/7191bb923b MSP-Greg (Greg L)
12:23 AM Revision 9a5e3a40 (git): Removed WEBrick and that tests
We can handle uri, time and others without `make test-all` dependencies now. hsbt (Hiroshi SHIBATA)

07/10/2024

11:38 PM Revision bfba96a1 (git): Avoid a hash allocation when keyword splatting empty hash when calling ruby2_keywords method
Treat this similar to keyword splatting nil, using goto ignore.
However, keep previous behavior if the method accepts a keyword
splat, to avoid double hash allocation.
This also can avoid an array allocation when calling a method
that d...
jeremyevans (Jeremy Evans)
11:06 PM Revision 8c69caa4 (git): * append newline at EOF. [ci skip]
git[bot]
11:06 PM Revision 840f7ebf (git): [ruby/net-http] Commented out unfinished chunked test
https://github.com/ruby/net-http/commit/6376592cb4 hsbt (Hiroshi SHIBATA)
11:06 PM Revision 492b505d (git): [ruby/net-http] Removed needless warning
https://github.com/ruby/net-http/commit/d867edc0fe hsbt (Hiroshi SHIBATA)
11:06 PM Revision b11aba50 (git): [ruby/net-http] Split POST test because new dummy server can't handle continuouse POST request
https://github.com/ruby/net-http/commit/54a99b9f0c hsbt (Hiroshi SHIBATA)
11:06 PM Revision e77bc17e (git): [ruby/net-http] Write log after server start, not handling request
https://github.com/ruby/net-http/commit/205bac757a hsbt (Hiroshi SHIBATA)
11:06 PM Revision 64285361 (git): [ruby/net-http] Split test class because TCPServer couldn't accept localhost and 127.0.0.1 both
https://github.com/ruby/net-http/commit/749a1b3197 hsbt (Hiroshi SHIBATA)
11:06 PM Revision 4e6463ad (git): [ruby/net-http] Support chunked data and fixed test failure with multipart/form-data
https://github.com/ruby/net-http/commit/b38c2795a9 hsbt (Hiroshi SHIBATA)
11:06 PM Revision 87a45af1 (git): [ruby/net-http] Removed server-side log test
https://github.com/ruby/net-http/commit/9c16c383ce hsbt (Hiroshi SHIBATA)
11:06 PM Revision 5e6f04ab (git): [ruby/net-http] Fix wrong hostname with test_max_version test
https://github.com/ruby/net-http/commit/f00d198433 hsbt (Hiroshi SHIBATA)
11:06 PM Revision c7eb9ac6 (git): [ruby/net-http] Rewrite WEBrick server with TCPServer and OpenSSL::SSL::SSLServer
https://github.com/ruby/net-http/commit/b01bcf6d7f hsbt (Hiroshi SHIBATA)
09:45 PM Revision 0ee39606 (git): Eliminate array allocations for single splat followed by mutable keywords
For calls such as:
m(*ary, a: 2, **h)
m(*ary, **h, **h, **h)
Where m does not take a positional argument splat, there was previously
an array allocation (splatarray true) to dup ary, even though it was not
necessary to do so. This...
jeremyevans (Jeremy Evans)
07:45 PM Revision 48e7112b (git): YJIT: increase context cache size to 1024 (#10983)
* YJIT: increase context cache size to 1024
The other day I ran into a mysterious bug while increasing the
cache size to 1024. I was not able to reproduce this locally.
Opening this PR for testing/debugging.
* Add extra debug assertion...
maximecb (Maxime Chevalier-Boisvert)
07:13 PM Bug #20618 (Closed): ruby uses 1/2 (7 out of 16) cores for 16 ractors
I think this is an intended change from #19842. Please correct me if I'm wrong @ko1.
Emphasis mine:
> On the multiple Ractors, N (+ alpha) native threads run M ractors. **Now there is no way to disable M:N threads on multiple Racto...
alanwu (Alan Wu)
06:56 PM Feature #20625 (Open): Object#chain_of
## Motivation
It's often common to traverse a tree/list-like structure in order to get a chain
of elements. This proposal is to add a method to `Object` that allows collecting
a chain of elements by applying a block to each element....
matheusrich (Matheus Richard)
06:28 PM Revision 52a0dfd4 (git): Revert all changes to dln.c, dmydln.c, dln.h for the shared GC
peterzhu2118 (Peter Zhu)
06:28 PM Revision 64988e66 (git): Allow miniruby to load shared GC
Since dln.c is replaced with dmydln.c for miniruby, we cannot load shared
GC for miniruby. This means that many tests do not have the shared GC
loaded and many tests fail because of the warning that emits in miniruby.
This commit change...
peterzhu2118 (Peter Zhu)
03:28 PM Feature #20624: Enhance `RubyVM::AbstractSyntaxTree::Node#locations` method and `RubyVM::AbstractSyntaxTree::Location` class
This new API also seems hard-to-use BTW, because `RubyVM::AbstractSyntaxTree::Node#locations` returns an Array of locations, so how is one supposed to know the location at which index of that Array corresponds to what?
[The current bran...
Eregon (Benoit Daloze)
03:19 PM Feature #20624: Enhance `RubyVM::AbstractSyntaxTree::Node#locations` method and `RubyVM::AbstractSyntaxTree::Location` class
What is the motivation to improve this RubyVM API which AFAIK should not be used anymore?
`RubyVM::AbstractSyntaxTree` is an experimental unstable hard-to-use API which only works on CRuby (from [the documentation](https://docs.ruby-l...
Eregon (Benoit Daloze)
03:06 PM Feature #20624 (Closed): Enhance `RubyVM::AbstractSyntaxTree::Node#locations` method and `RubyVM::AbstractSyntaxTree::Location` class
# Background
It's revealed that single location information is not enough for some node types.
For example, `Prism::IfNode` include these locations
* `if_keyword_loc`
* `then_keyword_loc`
* `end_keyword_loc`
* `location` (this ...
yui-knk (Kaneko Yuichiro)
03:10 PM Misc #20574: DevMeeting-2024-07-11
* [Feature #20624] Enhance `RubyVM::AbstractSyntaxTree::Node#locations` method and `RubyVM::AbstractSyntaxTree::Location` class (yui-knk)
* Some types of node need to provide more than one location information
* Add a new method an...
yui-knk (Kaneko Yuichiro)
02:51 PM Bug #20623: Unexpected behavior of blocks in Enumerator::Lazy#zip
I tested this against a few versions of Ruby. In 2.7.x the first example returns `[1,2]`. But since 3.0.x it returns `1`. It also seems `cycle` isn't needed to reproduce it, so I removed that from the reproduction script. I wasn't able t... eileencodes (Eileen Uchitelle)
10:16 AM Bug #20623 (Closed): Unexpected behavior of blocks in Enumerator::Lazy#zip
I've stumbled upon unexpected behaviour of lazy enumerators. My example:
```
[1].cycle.lazy.zip([2].cycle.lazy).map do |x|
puts x.inspect
end.take(5).force
puts "---"
[1].cycle.lazy.zip([2].cycle.lazy).take(5).force.map do |x|
...
esad (Esad Hajdarevic)
01:21 PM Revision 623eecce (git): Use absolute path for shared_gc_dir
peterzhu2118 (Peter Zhu)
08:04 AM Revision 133fec4c (git): [rubygems/rubygems] Fix another strange error when running `bundle add` in frozen mode
If there's a lockfile, but it's out of sync with the Gemfile because a
dependency has been deleted, and frozen mode is set, Bundler will print
the following strange error:
```
$ bundle add rake
, but the lockfile can't be updated becaus...
deivid (David Rodríguez)
08:04 AM Revision 7e612b74 (git): [rubygems/rubygems] Fix strange error when running `bundle add` with frozen mode set
If Gemfile is empty and there's no lockfile (situation after `bundle init`), and
`frozen` is configured, running `bundle add` will result in an strange
error, like this:
```
$ bundle add rake
, but the lockfile can't be updated because ...
deivid (David Rodríguez)
07:33 AM Bug #20608: Hash#find always allocates each iterated pair
Amazing, thank you! ivoanjo (Ivo Anjo)
04:01 AM Bug #20608 (Closed): Hash#find always allocates each iterated pair
I merged https://github.com/ruby/ruby/pull/11110. mame (Yusuke Endoh)
04:00 AM Revision 18282268 (git): Use rb_block_call2 for some Enumerable methods
Enumerable#all?, #any?, #one?, and #none? do not use yielded arguments
as an Array. So they can use rb_block_call2 to omit array allocatoin.
Enumerable#find does not have to immediately accept yielded arguments as
an Array. It can delay...
mame (Yusuke Endoh)
04:00 AM Revision 114e32b3 (git): Add rb_block_call2, a flexible variant of rb_block_call
This function accepts flags:
RB_NO_KEYWORDS, RB_PASS_KEYWORDS, RB_PASS_CALLED_KEYWORDS:
Works as the same as rb_block_call_kw.
RB_BLOCK_NO_USE_PACKED_ARGS:
The given block ("bl_proc") does not use "yielded_arg" of rb_block_call_func_t....
mame (Yusuke Endoh)
03:15 AM Revision 77b12a8a (git): GC_DEBUG is always defined
`#ifdef` is inadequate. shyouhei (Shyouhei Urabe)
03:15 AM Revision c49eda91 (git): rb_source_location_cstr is banned in this file
Raison d'etre du gc_impl.c is to purge any internal constructs and rely
solely on our public APIs. rb_source_location_cstr is not public.
shyouhei (Shyouhei Urabe)
03:15 AM Revision 1f15149e (git): rb_gc_obj_slot_size is banned in this file
Raison d'etre du gc_impl.c is to purge any internal constructs and rely
solely on our public APIs. rb_gc_obj_slot_size is not public.
shyouhei (Shyouhei Urabe)
02:57 AM Revision ef2afe82 (git): Bump ruby/setup-ruby from 1.185.0 to 1.186.0
Bumps [ruby/setup-ruby](https://github.com/ruby/setup-ruby) from 1.185.0 to 1.186.0.
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](http...
dependabot[bot]
02:12 AM Bug #20622: irb: invalid byte sequence in UTF-8
Perhaps your `~/.inputrc` contains non UTF-8 characters. mame (Yusuke Endoh)
 

Also available in: Atom