Activity
From 05/12/2024 to 05/18/2024
05/18/2024
-
03:29 PM Revision dbbaf871 (git): [DOC] Fix `$<` comment
-
03:27 PM Revision fd8e6e8c (git): Replace cast tags for `tSTRING_DVAR` with typed midrule actions
-
02:59 PM Bug #20154: aarch64: configure overrides `-mbranch-protection` if it was set in CFLAGS via environment
- I don't think I quite understand what exactly the right course of action here is.
> Would it make sense to check if such flags exist and not overwrite them if they do?
Why is this not a serious proposal? "We should respect user giv... -
12:48 PM Bug #20493: Segfault on rb_io_getline_fast
- You're welcome, thank you for posting such a detailed and actionable report. You're exactly right; your patch deals with this issue in IO methods using `rb_io_getline_fast` but this is probably causing crashes in other places as well; _h...
-
10:28 AM Bug #20493: Segfault on rb_io_getline_fast
- Thanks for this extremely detailed explanation!
Just for my own understanding [I'm not as proficient in low level C, took me a while reading through all details], can I assert that: the fix I suggested would've only "fixed" the segfau... -
09:44 AM Bug #20493: Segfault on rb_io_getline_fast
- After applying that fix to the RPM spec file in https://build.opensuse.org/package/show/devel:languages:ruby/ruby3.3, I can't get the reproduction to crash any more.
-
09:43 AM Bug #20493: Segfault on rb_io_getline_fast
- I opened https://github.com/ruby/ruby/pull/10795 as a proposed fix for this. Let's see what other people (and CI) think :)
-
09:37 AM Bug #20493: Segfault on rb_io_getline_fast
- OK, I believe I've worked out what's wrong here.
The BLOCKING_REGION macro is used to release the GVL, run some code, and re-acquire the GVL. It looks like this:
```
#define BLOCKING_REGION(th, exec, ubf, ubfarg, fail_if_interrupt... -
07:15 AM Bug #20493: Segfault on rb_io_getline_fast
- Thank you for your bug report and excellent reproduction! I've had a look at this today - I haven't reached a conclusion yet, but I want to write down where I got so far.
The crash is happening because:
* One thread is calling `rb_... -
11:10 AM Bug #19753: IO::Buffer#get_string can't handle negative offset
- Backported by https://github.com/ruby/ruby/pull/10778
- 11:09 AM Revision 0e664ebc (git): Fix `io_buffer_get_string` default length computation. (#8427)
- * Fix `io_buffer_get_string` default length computation.
When an offset bigger than the size is given, the resulting length will be
computed incorrectly. Raise an argument error in this case.
* Validate all arguments. - 11:09 AM Revision 67d499a7 (git): Improvements to `IO::Buffer` `read`/`write`/`pread`/`pwrite`. (#7826)
- - Fix IO::Buffer `read`/`write` to use a minimum length.
- 11:09 AM Revision 359e40e3 (git): Rename `data` -> `buffer` for better readability. (#7836)
-
11:09 AM Revision 1bfdd68b (git): Adjust `else` style to be consistent in each files [ci skip]
-
10:46 AM Revision 232f7b37 (git): Replace cast tags with typed midrule actions
- * Add types to `tLAMBDA` and `tSTRING_DBEG` to store corresponding
information when returning these tokens.
* Add `enum lex_state_e state` to `%union` for `tSTRING_DBEG`. -
10:16 AM Feature #20492: Debug option for tempfile
- Since you say you're OK with solutions requiring modifying the program though, have you tried doing something like this?
```
Tempfile::Remover.class_eval { def call(...) = nil }
```
I realise if this is a common use-case it would... -
06:44 AM Revision ac85eef1 (git): Fix links
-
02:26 AM Revision 55c62e67 (git): No need to specify tags anymore
- In the past, these codes were used by both parser and ripper.
On ripper, the type of LHS is `<val>` then type cast was needed.
However currently these are only used by parser then no need to
cast.
05/17/2024
-
10:05 PM Feature #20448: Make coverage event hooking C API public
- Thanks for the research. So, `TracePoint.new(:branch)` seems good enough for the use case of fuzzer, right?
But with just this API, there is no way to get the list of all edges, including ones that are not fired. This is needed for br... -
06:37 PM Feature #20448: Make coverage event hooking C API public
- **TL;DR: I've been further researching how fuzzers gather coverage information, and what types of coverage are most useful for fuzzing. I think the best course of action regarding this request would be to implement a fairly general cover...
-
08:42 PM Revision cce7c25a (git): [PRISM] Enable TestRequire
-
05:21 PM Bug #20493 (Closed): Segfault on rb_io_getline_fast
- We've spotted a consistent segfault when running bundle install with `--jobs 4`
When running: `bundle install -j 4` we'd get a Segfault at:
```
/usr/lib64/ruby/3.3.0/rubygems/ext/builder.rb:93: [BUG] Segmentation fault at 0x000000... -
03:37 PM Bug #20218: aset/masgn/op_asgn with keyword arguments
- In this issue there's no consideration of compatibility or utility. This is a breaking change. The ability to pass kwargs to index methods has been in ruby for a long time, probably from the inception of kwargs and I have code that uses ...
-
03:29 PM Revision e61d24d7 (git): [PRISM] Enable passing IRB test
-
03:23 PM Revision c60cdbdc (git): [PRISM] Emit END event for modules
-
02:47 PM Revision 0649c1e3 (git): [ruby/prism] Revert incorrect synthesized true node change
- https://github.com/ruby/prism/commit/31ef81fd06
-
02:45 PM Revision aed93ba1 (git): [ruby/prism] Replace and Use PM_LOCATION_NULL_VALUE macro
- https://github.com/ruby/prism/commit/50e188b168
-
02:33 PM Revision 4ba0579d (git): [PRISM] Enable TestSyntax#test_error_message_encoding
-
01:04 PM Revision 2d825ca7 (git): REXML 3.2.8 is not working with rss and test-bundled-gems yet.
- https://github.com/ruby/ruby/actions/runs/9125437794/job/25091614796#step:11:272
- 08:40 AM Revision 8acec5b6 (git): Update bundled gems list at 10d02e71d1f57b68f530c0e669e444 [ci skip]
- 08:26 AM Revision cbc84b80 (git): * 2024-05-17 [ci skip]
-
08:25 AM Revision a131d239 (git): AppVeyor is retired at 2024
- 08:25 AM Revision 5db59cd5 (git): [ruby/openssl] test_asn1.rb: Remove the assertions of the time string format without second.
- This commit fixes the following errors in the tests.
Because the OpenSSL project changed the code to make the time string format
without second invalid. So, we drop the assertions.
```
1) Error: test_generalizedtime(OpenSSL::TestASN1): ... -
08:25 AM Revision 89574f02 (git): [ruby/openssl] test/openssl/test_asn1.rb: skip failing tests on LibreSSL 3.6.0
- LibreSSL 3.6.0 expects the seconds part in UTCTime and GeneralizedTime
to be always present. LibreSSL 3.6.0 release note [1] says:
> - The ASN.1 time parser has been refactored and rewritten using CBS.
> ...
[1] https://ftp.openbsd.org/... - 08:25 AM Revision 10f4e4d9 (git): [ruby/net-http] Skip test_session_reuse_but_expire with OpenSSL 3.3
- OpenSSL 3.3.0 9 Apr 2024 is also broken.
Signed-off-by: Xi Ruoyao <xry111@xry111.site>
https://github.com/ruby/net-http/commit/ab525c956d -
08:17 AM Revision 10d02e71 (git): Update bundled_gems
- 02:50 AM Revision 534f1c37 (git): Bump actions/checkout in /.github/actions/setup/directories
- Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http... - 02:50 AM Revision 0f8f0386 (git): Bump actions/checkout from 4.1.5 to 4.1.6
- Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](http... -
02:44 AM Revision 84d2bacb (git): [ruby/irb] Reorder ruby lex clauses for unrecoverable first
- (https://github.com/ruby/irb/pull/956)
When a syntax error includes multiple error messages, we want to
check for unrecoverable messages first so that we do not
accidentally match a recoverable error later in the message.
https://githu... -
02:13 AM Revision 761b9070 (git): [PRISM] Enable TestParse#test_truncated_source_line
-
02:05 AM Revision b90ea8ae (git): [ruby/find] find.gemspec: Drop executables dir config
- This gem contains no executables.
https://github.com/ruby/find/commit/7bd452155e -
01:18 AM Misc #20407: Question about applying encoding modifier to an interpolated Regexp
- I checked the related source code especially about rb_reg_preprocess_dregexp. It wrongly calls rb_reg_preprocess with overwriting fixed_enc instead of inheriting it.
It seems to raise error if the resulted encoding of the regexp is ot... -
12:55 AM Feature #20470: Extract Ruby's Garbage Collector
- +1 for extracting GC implementation of `gc.c` into a separate `gc_impl.c` file.
My motivation: Some of the use cases of Ruby on Wasm (e.g. edge computing platform) do not actually need to collect garbage objects during execution because...
05/16/2024
-
07:35 PM Revision 854cbbd5 (git): [PRISM] Enable TestParse#test_string
-
07:35 PM Revision 92af7054 (git): [ruby/prism] Truncate source lines in errors messages when too long
- https://github.com/ruby/prism/commit/72518f5716
-
06:40 PM Revision 98e1e610 (git): [ruby/prism] Update more escape error messages to match CRuby
- https://github.com/ruby/prism/commit/ab43b3ab66
-
06:21 PM Revision 012a80d7 (git): [PRISM] Enable TestISeq#test_syntax_error_message
-
06:12 PM Revision 0b4cf461 (git): [PRISM] Enable TestM17N#test_string_mixed_unicode
-
05:43 PM Feature #20492 (Open): Debug option for tempfile
- Hi,
the ruby lib tempfile is quite useful, but since it always deletes files once the object is garbage collected or the program terminates (or the program explicitely asks to remove the file) it is difficult to debug programs and to... -
05:22 PM Revision 286d3032 (git): [ruby/prism] More mixed encoding errors
- https://github.com/ruby/prism/commit/2a43b4f55c
-
04:43 PM Feature #20484: A new pragma for eager resolution of classes referenced in rescue clauses.
- zverok (Victor Shepelev) wrote in #note-3:
> Honestly, it is no different than any name used in a branch that wasn’t tested. E.g. if you have this:
> ...
I would agree that any such opt-in feature should probably catch other cases. I'... -
04:28 PM Revision 07241dfa (git): [PRISM] Enable TestParse#test_question
-
04:28 PM Revision 7eb45a40 (git): [PRISM] Enable TestParse#test_invalid_char
-
04:28 PM Revision 58f993c5 (git): [PRISM] Enable TestParse#test_percent
-
04:28 PM Revision 52401a32 (git): [PRISM] Enable TestSyntax#test_syntax_error_at_newline
-
04:28 PM Revision 14debd13 (git): [PRISM] Enable TestSyntax#test__END___cr
-
03:15 PM Bug #19753: IO::Buffer#get_string can't handle negative offset
- Thanks so much, I will review it.
-
12:23 PM Bug #19753: IO::Buffer#get_string can't handle negative offset
- I have cherry-picked some additional refactoring commits and open pull request https://github.com/ruby/ruby/pull/10778.
-
10:20 AM Bug #19753: IO::Buffer#get_string can't handle negative offset
- https://github.com/nagachika/ruby/commit/7d325d1b2ea7b6ef7debd6a29ad97c93311ed9b5 Here is the changeset to backport into ruby_3_2 branch, including style change and refactoring (data -> buffer).
I have resolved some conflict by hand.
@... -
03:10 PM Revision d314d976 (git): [ruby/prism] Match CRuby invalid escape character syntax error message
- https://github.com/ruby/prism/commit/0ef5658dcc
-
03:10 PM Revision 0e11781f (git): [ruby/prism] Match CRuby invalid character error message
- https://github.com/ruby/prism/commit/8d4c5c2bca
-
02:52 PM Revision 910bb492 (git): [ruby/prism] Update error message for invalid % at EOF
- https://github.com/ruby/prism/commit/178d4f66fd
-
02:23 PM Revision 7a4b9d16 (git): [ruby/prism] Match CRuby error message for unknown % string
- https://github.com/ruby/prism/commit/863197629c
-
02:16 PM Revision 01166888 (git): [ruby/prism] Always go to string lex mode even if EOF
- https://github.com/ruby/prism/commit/57d5c9be2c
-
02:00 PM Revision 477b13ba (git): [ruby/prism] Update unterminated string error location
- https://github.com/ruby/prism/commit/33d12afa60
-
01:34 PM Revision c55c11d7 (git): [rubygems/rubygems] Fix binstubs sometimes not getting regenerated when `--destdir` is given
- This was only working for gems also installed in the default gem home.
https://github.com/rubygems/rubygems/commit/47df02dbd9 -
01:34 PM Revision 35c5c7ed (git): [rubygems/rubygems] Refactor `Gem::Specification#find_all_by_name`
- So that it can also be delegated to `Gem::SpecificationRecord`.
https://github.com/rubygems/rubygems/commit/1407807a99 -
12:25 PM Revision d076101a (git): Fix dump of NODE [ci skip]
-
11:55 AM Revision 5111b3d4 (git): [rubygems/rubygems] Fix `gem uninstall --user-install` for symlinked HOME's
- https://github.com/rubygems/rubygems/commit/7f0706a897
-
11:55 AM Revision b19693f0 (git): [rubygems/rubygems] Improve uninstaller tests
- Tests have two copies of b-2 installed, one in default home and another
in user home. But only the one in default home was visible because of
not reloading paths. The user install test was working by chance.
https://github.com/rubygems/... -
11:55 AM Revision 847fc9af (git): [rubygems/rubygems] Fix error message calling method removed a long time ago
- https://github.com/rubygems/rubygems/commit/5fbe5e43d6
-
09:21 AM Revision 7857061e (git): [rubygems/rubygems] Fix regression when caching gems from secondary sources
- If `cache_all_platforms` setting is enabled, the secondary source was
no longer considering cached gems.
That means that if the remote secondary source has removed its gems,
then this was now resulting in an error while before the previ... -
09:20 AM Revision 29a9ab0b (git): [rubygems/rubygems] Deprecate Bundler constants
- https://github.com/rubygems/rubygems/commit/6166e4bce1
-
09:20 AM Revision 9fd41480 (git): [rubygems/rubygems] Use RubyGems freebsd helper
- https://github.com/rubygems/rubygems/commit/5d03a346ab
-
09:20 AM Revision 4db76d19 (git): [rubygems/rubygems] Add a FreeBSD platform helper
- https://github.com/rubygems/rubygems/commit/535c83d5be
-
08:22 AM Bug #20468 (Closed): Segfault on safe navigation in for target
- Applied in changeset commit:git|2dd46bb82ffc4dff01d7ea70922f0e407acafb4e.
----------
[Bug #20468] Fix safe navigation in `for` variable -
07:35 AM Misc #20238: Use prism for mk_builtin_loader.rb
- I talked with k0kubun and disscussed about multiple options as below.
I understand the background and agree to go ahead.
Upgrading BASERUBY
* more work for each upgrade
* there is less motivation to upgrade BASERUBY other than mk_b... -
07:26 AM Bug #19427: Marshal.load(source, freeze: true) doesn't freeze in some cases
- I think it's obviously a bug, but I'm concerned that changing the behavior might cause FrozenError in applications. Therefore, I have decided not to backport the changesets related to this issue.
Please feel free to raise any objections... -
07:22 AM Revision 2dd46bb8 (git): [Bug #20468] Fix safe navigation in `for` variable
-
04:54 AM Revision 9d696196 (git): [rubygems/rubygems] Clean up generated and copied files
- > leaving the files after gem rebuild was intentional, for local
> ...
https://github.com/rubygems/rubygems/pull/4913#issuecomment-2081710691
https://github.com/rubygems/rubygems/commit/185a2091fb -
04:30 AM Bug #20490 (Closed): Process.waitpid2(-1, Process::WNOHANG) misbehaves on Ruby 3.1 & 3.2 with detached process
-
04:30 AM Bug #20490: Process.waitpid2(-1, Process::WNOHANG) misbehaves on Ruby 3.1 & 3.2 with detached process
- Thank you for your report. I will look the PRs.
I will set the status of this ticket because of this is a backport ticket.
And currently 3.1 branch is under the security maintenance phase, so I fill the Backport field for 3.1 with "WON... -
04:29 AM Misc #20491 (Closed): Proposal for new branch maintainers
- Thank you. I'll do my best.
-
04:28 AM Misc #20491: Proposal for new branch maintainers
- I think this is a good idea. Approved.
Matz -
02:53 AM Misc #20491: Proposal for new branch maintainers
- Note: I confirmed this proposal with @k0kubun and @usa
-
04:10 AM Bug #19530: `Array#sum` and `Enumerable#sum` sometimes show different behaviours
- Since this was a long standing bug, I won't backport it to stable branch in general. If you know any real applications suffered from this behavior, please let me know.
Thanks. -
02:37 AM Bug #20183: `erb/escape.so` cannot be loaded when `--with-static-linked-ext`
- ruby_3_2 2d686e1019414f6bbb7ccbfa897b7b665250743d merged revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6.
-
02:36 AM Revision 2d686e10 (git): merge revision(s) ae8990aef098410ecc2b5f48fea9d7d171a3c5f6: [Backport #20183]
- Alias init functions
The extension library has each initialization function named "Init_" +
basename. If multiple extensions have the same base name (such as
cgi/escape and erb/escape), the same function will be ... -
12:06 AM Feature #16461: Proc#using
- Sorry for the delay.
Eregon (Benoit Daloze) wrote in #note-10:
> Reading #12086 again, I feel #12281 is a much simpler alternative (`using(refinement) { literal block }`).
> ...
It looks too redundant to me because `using` is needed...
05/15/2024
-
11:41 PM Feature #19840 (Feedback): [Proposal] Expand Find pattern to Multiple Find
- Sorry for late response.
I disagree with this suggestion.
I implemented this feature in the [pattern-match](https://github.com/k-tsj/pattern-match) gem, a PoC library for pattern matching.
```ruby
match({ results: [{ id: 1, nam... -
07:02 PM Bug #20401: Duplicated when clause warning line number
- I've updated the message to say:
```
'when' clause on line 4 duplicates 'when' clause on line 2 and is ignored
```
I hope this is okay, I believe it is much more clear. The PR is here: https://github.com/ruby/ruby/pull/10776. @no... -
04:49 PM Revision 2aed14d6 (git): [PRISM] Enable TestParse#test_global_variable
-
04:49 PM Revision cd8b28f0 (git): [PRISM] Enable test_location_of_invalid_token
-
04:49 PM Revision be239cc7 (git): [PRISM] Enable TestParse#test_unexpected_eof
-
04:49 PM Revision cabc0e09 (git): [PRISM] Enable TestParse#test_unexpected_token_after_numeric
-
04:49 PM Revision 901f4c3f (git): [PRISM] Temporarily exclude IRB test
-
03:53 PM Revision cbd15538 (git): [ruby/prism] Extend the bounds of the invalid global variable name error
- https://github.com/ruby/prism/commit/89d0d9851a
-
03:44 PM Revision c4a58667 (git): [ruby/prism] Replace end of file with end-of-input
- https://github.com/ruby/prism/commit/dd532ded95
-
09:11 AM Revision e73f6618 (git): [rubygems/rubygems] Do not override `@orig_env`
- It is saved in `setup` and restored in `teardown`.
https://github.com/rubygems/rubygems/commit/880c5de667 -
08:16 AM Misc #20491 (Closed): Proposal for new branch maintainers
- In RubyKaigi 2024, I, naruse and nagachika discussed about maintaining stable branches. We propose the following members for the new branch maintainer of current stable branches.
* `ruby_3_3`: @k0kubun
* `ruby_3_2`: @nagachika
* `... -
04:21 AM Bug #20490: Process.waitpid2(-1, Process::WNOHANG) misbehaves on Ruby 3.1 & 3.2 with detached process
- I've opened fixes here:
* 3.2: https://github.com/ruby/ruby/pull/10771
* 3.1: https://github.com/ruby/ruby/pull/10772 -
03:39 AM Bug #20490: Process.waitpid2(-1, Process::WNOHANG) misbehaves on Ruby 3.1 & 3.2 with detached process
- I think this patch in the `ruby_3_2` branch fixes the problem:
```diff
diff --git a/process.c b/process.c
index 354e16fd26..52d49948a5 100644
--- a/process.c
+++ b/process.c
@@ -1290,7 +1290,7 @@ waitpid_wait(struct waitpid_state *w)
... -
02:07 AM Bug #20490 (Closed): Process.waitpid2(-1, Process::WNOHANG) misbehaves on Ruby 3.1 & 3.2 with detached process
- This is a follow-up issue for a bug that I thought was fixed in https://bugs.ruby-lang.org/issues/19837 and duplicated in https://bugs.ruby-lang.org/issues/20181.
The following script doesn't terminate quickly in Ruby 3.1.5 and 3.2.4,... -
02:02 AM Bug #20424 (Closed): ZLib::GZipReader always double allocates strings when passed outbuf, significantly increasing memory usage
05/14/2024
-
09:51 PM Bug #20424: ZLib::GZipReader always double allocates strings when passed outbuf, significantly increasing memory usage
- [zlib #61 was merged](https://github.com/ruby/zlib/pull/61#event-12808578072). It seems like we can consider this ticket complete.
-
09:44 PM Revision e3e1e530 (git): [ruby/zlib] Avoid double copying into provided outbuf
- https://github.com/ruby/zlib/commit/07f44b7546
-
09:44 PM Revision e33336cb (git): [ruby/zlib] Avoid allocating intermediary strings when read/readpartial are passed an outbuf
- This accounts for a significant number of string allocations when reading rubygems, but we can avoid that in many places by only copying into the outbuf when present
https://github.com/ruby/zlib/commit/d25ef406c1 - 09:43 PM Revision cb1a574e (git): Bump github/codeql-action from 3.25.4 to 3.25.5
- Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.25.4 to 3.25.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md... -
08:37 PM Bug #20489: Ractor behavior strange in ruby master
- Thank you. I'll investigate it.
-
09:00 AM Bug #20489 (Closed): Ractor behavior strange in ruby master
- This is a tarai program
Run`./ruby tarai_ractor.rb 2 8` is to use 2 thread to run 8 times tarai function total, that means 4 times tarai for each ractor(thread).
```
GC.disable
def split_len(len, split)
ret = []
mod = l... -
07:41 PM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
- nobu (Nobuyoshi Nakada) wrote in #note-15:
> `RbConfig` is for build time informations, and does not look a right place for runtime informations.
Isn't it ok to relax the semantics a little bit? RbConfig seems to me the most logical ... -
07:49 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
- Note that for this to be most effective it would be the arguments unprocessed as they appear on the command line, but that may not be possible to do if the shell removes quoting.
I don't think that should be a reason not to implement ... -
07:38 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
- `RbConfig` is for build time informations, and does not look a right place for runtime informations.
-
07:26 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
- If `RbConfig` is a convenient place for you, it is OK to add `ruby_args`.
Matz.
-
07:23 AM Feature #6648: Provide a standard API for retrieving all command-line flags passed to Ruby
- @matz Do you agree with `RbConfig.ruby_args`, is it OK to add it?
-
04:08 PM Revision 965cb3ab (git): [rubygems/rubygems] Fix issue when cleaning up plugin stubs
- When `gem uninstall <gem> --install-dir <dir>` is run, if the version
removed had a plugin, and that same version happened to also be
installed globally, then the plugin stub would fail to be removed.
https://github.com/rubygems/rubygem... -
04:08 PM Revision bd842361 (git): [rubygems/rubygems] Extract a `Gem::SpecificationRecord` class
- This class handles all logic to handle the list of specifications, given
a set of GEM_PATH directories. Makes `Gem::Specification` has less
responsibilities and will help with fixing some bugs next.
https://github.com/rubygems/rubygems/... -
04:08 PM Revision c219ee00 (git): [rubygems/rubygems] Fix typo in attribute documentation
- https://github.com/rubygems/rubygems/commit/8c9807092c
-
04:08 PM Revision 5628cc12 (git): [rubygems/rubygems] Add missing docs
- Other analog methods are documented, so document this one too.
https://github.com/rubygems/rubygems/commit/76da34d44d -
04:08 PM Revision 91e38719 (git): [rubygems/rubygems] Simplify documentation
- I don't think this method is any worse than others, let's only document
what it does.
https://github.com/rubygems/rubygems/commit/dec722187f -
04:08 PM Revision 64542380 (git): [rubygems/rubygems] Make `Gem.clear_paths` test less implementation dependent
- https://github.com/rubygems/rubygems/commit/b545daa95d
-
04:08 PM Revision 8d28e635 (git): [rubygems/rubygems] Simplify test teardown
- If we move test directory removal to the very end, I think we should not
leak anything.
https://github.com/rubygems/rubygems/commit/fb3d8944b5 -
04:08 PM Revision 4dc0b230 (git): [rubygems/rubygems] Remove redundant receivers
- https://github.com/rubygems/rubygems/commit/7b71965a70
-
09:56 AM Feature #15554: warn/error passing a block to a method which never use a block - `--warn-unused-block`/`:warn_unused_block`?
-
05:59 AM Feature #15554: warn/error passing a block to a method which never use a block
- We are discussing how to make opt-in.
Because relaxed mode can miss cases (e.g. for methods with a common name), and some newer codebases/some Rubyists might want to use the stricter check (e.g. it enhances readability, ignored blocks b... -
09:00 AM Feature #20437: Could the licensing conditions be made less ambiguous?
- > The Ruby License is a dual license with 2-clause BSDL and the "conditions below". Your proposal is the proposal to change the Ruby license and it won't be accepted.
If these two are inseparable, forming together the "Ruby" license, th... -
07:56 AM Feature #20437: Could the licensing conditions be made less ambiguous?
- > lib/net/protocol.rb
The description is obsoleted.
The license of the code is the same as Ruby
> ...
Racc's license is the same as Ruby
see also https://github.com/ruby/racc
> Rubygems
It looks MIT License and the Ruby lic... - 08:22 AM Revision 41e6fd06 (git): [DOC] Fix typo in example code for `String#encode` method
- The example code in the documentation for the `String#encode` method has
a typo in the `fallback` option. The example code uses `h` as the
fallback option, but it should use `hash` instead to match the variable
name in the example code. - 08:19 AM Revision 44f50f41 (git): Update default gems list at 4a1e4436a99c5794b022f03e8c0589 [ci skip]
-
08:18 AM Revision 4a1e4436 (git): [ruby/reline] Bump version to 0.5.7
- (https://github.com/ruby/reline/pull/704)
https://github.com/ruby/reline/commit/b9b3d392ff -
07:56 AM Bug #20421: String#index and String#byteindex don't clear `$~` when offset > size (or bytesize)
- Thank you for the PR. I agree that the patch is good to backport. PR merged at 449899b38314d0ecbe61e42d34398bdf2561b8e9.
-
07:29 AM Revision 449899b3 (git): Fix `String#index` to clear MatchData when a regexp is passed
- [Bug #20421]
The bug was fixed in Ruby 3.3 via 9dcdffb8bf8a3654fd78bf1a58b30c8e13888a7a -
07:23 AM Feature #20443: Allow Major GC's to be disabled
- As long as the pluggable GC issue is clearly stated somewhere, I have no objection.
Matz.
-
07:01 AM Feature #20470: Extract Ruby's Garbage Collector
- I think the risk is fairly low, since the user has to compile Ruby with `--with-shared-gc` to enable this feature. Since they have to manually enable this feature at compile time, they should be aware of the possible security issues that...
-
06:48 AM Feature #20470: Extract Ruby's Garbage Collector
- My concern is that a part of this feature, adding a new environment variable that loads a shared object implicitly, can cause security issues.
`LD_PRELOAD`, `DYLD_INSERT_LIBRARIES` and so on have the same risk, so dynamic linkers remove... -
06:43 AM Revision b60f0944 (git): Fix TestPatternMatching#test_deconstruct_keys test
- Before the change `C.keys` returned keys captured in some previous test case that by chance captured `nil` value what made this test passed successfully. Now it returns keys captured in this test case.
-
01:58 AM Revision 9d01f657 (git): [ruby/reline] Implement the undo command
- (https://github.com/ruby/reline/pull/701)
* Refactor send
* Implement the undo command
* Fix @past_lines initialization
* Improve assertion
* Hide to save buffer in insert_pasted_text
* Replace @using_delete_command with @undoing
...
05/13/2024
-
10:45 PM Bug #20485 (Closed): Simple use of Fiber makes GC leak objects with singleton method
- No worries. This aspect of Ruby GC often confuses people.
-
09:35 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- I tried looping with `100.times` in a more complex case that I created in the middle of the entire investigation of a test suite whose memory usage keeps growing until getting killed due to OOM, and as you said, the "leaked" object remai...
-
08:47 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- Alright, looking at your dump:
```json
{"address":"0x7f2b570455b8", "type":"CLASS", "shape_id":2, "slot_size":160, "class":"0x7f2b57045518", "variation_count":0, "superclass":"0x7f2b5707fd30", "name":"Work", "references":["0x7f2b5707... -
08:25 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- I asked my co-workers to try this script and some of them gave me their results. The following table includes my results.
|Environment|# of people|Reproducibility|
|--|--|--|
|ruby 3.3.1 (2024-04-23 revision c56cd86388) [x86_64-linu... -
06:40 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- @skhrshin if you can reproduce consistently, what could be helpful would be to provide a heap dump like this (use some service list GitHub gist because the output might be big:
```ruby
require 'objspace'
class Work
def add_meth... -
06:37 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- To be honest I also tried 3.2.2 and 3.1.4, each with `[1].each`, `1.times` and `Mutex.new.synchronize`, and neither reproduced.
So I'm starting to wonder if it isn't simply that for some reason one object consistently end up on the st... -
06:24 AM Bug #20485 (Open): Simple use of Fiber makes GC leak objects with singleton method
-
06:18 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- I closed because I tried your repro script with `ruby 3.3.1 (2024-04-23 revision c56cd86388) [arm64-darwin23]` both with `1.times` and `Mutex.new.synchronize` and it doesn't fail.
Also your description really fit [Bug #19436], hence ... -
04:33 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- Do you mean this is fixed in trunk? Or are you saying this shouldn't happen on Ruby 3.3.1? If latter, that is not correct as I wrote `[1].each` and `Mutex.new.synchronize` versions reproduce the problem on Ruby 3.3.1.
I would like you t... -
06:23 PM Misc #20488 (Closed): Document source file size restrictions
- I was hoping we might be able to decide on an official maximum size for a source file in terms of bytes/lines/columns/etc.
Ruby uses fixed integer sizes to represent line numbers, column numbers, offsets, etc. These can overflow with ... -
06:04 PM Revision 5319587a (git): [rubygems/rubygems] Restore previous way of loading monitor
- I'm not sure why but this particular change seems to have introduced
some flaky test failures. So I'll revert it.
https://github.com/rubygems/rubygems/commit/668488014b -
06:04 PM Revision d1c172df (git): [rubygems/rubygems] Don't load `SharedHelpers` unnecessarily
- https://github.com/rubygems/rubygems/commit/de4650f629
-
06:04 PM Revision 22dab739 (git): [rubygems/rubygems] Don't depend on Pathname unnecessarily
- https://github.com/rubygems/rubygems/commit/8c8aaecc48
-
04:44 PM Misc #20436: DevMeeting at RubyKaigi 2024
- I asked Matz and here is a reordered agenda: https://hackmd.io/CoLraFp_QrqyHBcv3g8bVg?both
Many topics so we can't discuss all of them. The purpose of this meeting is knowing each other. Please discuss detailed topics with the people ... -
05:48 AM Misc #20436: DevMeeting at RubyKaigi 2024
- * [Bug #20424] ZLib::GZipReader always double allocates strings when passed outbuf, significantly increasing memory usage
* Lots of discussion on the GitHub PR [here](https://github.com/ruby/zlib/pull/61)
* What do we need to do to... -
04:42 PM Bug #20478: Circular parameter syntax error rules
- I figured that was already happening for the "unused" warning.
-
04:31 PM Revision b5e53e2f (git): [ruby/prism] Rescue LoadError for ruby_parser as well
- https://github.com/ruby/prism/commit/d4eb13e703
-
04:29 PM Revision 5931f857 (git): [ruby/prism] Add error handling for missing `parser` gem in `Prism::Translation`
- Resolves https://github.com/ruby/prism/pull/2803.
This PR adds error handling for missing `parser` gem in `Prism::Translation`.
The `parser` gem is a required runtime dependency when using `Prism::Translation::Parser`.
But it is not re... -
03:34 PM Revision e6340258 (git): [ruby/prism] Autoload newlines and comment visitors
- Having the @newline instance variable in every node adds up, and
since it is so rarely used, we only want to add it when necessary.
Moving this into an autoloaded file and moving the instance variable
out of the default initializers red... -
01:01 PM Revision 02c8e658 (git): [rubygems/rubygems] Use a constant empty tar header to avoid extra allocations
- https://github.com/rubygems/rubygems/commit/716666f65f
-
12:24 PM Bug #20487 (Rejected): 1..nil is giving range from 1 to inifinity in ruby greater than 2.6
- This is expected behavior. `nil` is the implicit end of an endless range:
```ruby
(1..) == (1..nil)
# => true
(1..nil)
# => 1..
(1..).end
# => nil
``` -
12:18 PM Bug #20487 (Rejected): 1..nil is giving range from 1 to inifinity in ruby greater than 2.6
- we consider nil as undefined value, value that is not present, we consider nil as falsey value as well, when we do nil.to_i it gives us zero..then with this rational 1..nil shouldn't give the range 1 to infinity, either we should make it...
- 10:35 AM Revision 58801034 (git): [rubygems/rubygems] Use spec.base_dir to remove plugins
- The plugin loader from `@gem_home` was removed during uninstallation.
However, this could leave behind the plugins for `--user-install`
installed gems.
Use `Gem::Specifictaions#base_dir` instead. This ensures that the plugin
loader for ... -
10:35 AM Revision a86ad47c (git): [rubygems/rubygems] Improve plugin removal test
- Instead of unit testing the `remove_plugins` method, test the whole
removal process.
https://github.com/rubygems/rubygems/commit/bfdc60af98 -
09:19 AM Revision 899568cc (git): [rubygems/rubygems] Fix error when Bundler installation is corrupted
- If one upgrades the default copy of Bundler through `gem update
--system`, and then reinstalls Ruby without removing the previous copy.
Then the new installation will have a correct default bundler gemspec,
but a higher copy installed in... -
09:08 AM Revision 69c87619 (git): [rubygems/rubygems] Avoid standard requires while loading shared helpers
- We should make sure Bundler does not trigger RubyGems require logic for
gem activation until it had the chance to register its own monkeypatches
to RubyGems.
https://github.com/rubygems/rubygems/commit/fbd2ff86b9 -
09:08 AM Revision e9262983 (git): [rubygems/rubygems] Require things right before they're needed
- https://github.com/rubygems/rubygems/commit/07022e3f2f
-
08:42 AM Bug #20486 (Third Party's Issue): Internal compiler error when compile CRuby with msys2-mingw64-gcc14
- "internal compiler error" means a bug of gcc.
We can do nothing for it. -
08:25 AM Bug #20486 (Third Party's Issue): Internal compiler error when compile CRuby with msys2-mingw64-gcc14
- Follow CRuby build guide in `https://github.com/ruby/ruby`
Some file like `numerc.c` whill produce a `internal compiler error` when enble option `-fno-omit-frame-pointer`
gcc version is
```
$ gcc --version
gcc.exe (Rev2, Built by... -
02:26 AM Feature #20484: A new pragma for eager resolution of classes referenced in rescue clauses.
- Eager resolution of referenced constants at parse time would be very painful in many case as it would add some extra constraints on load order, likely causing circular dependency issues, even before considering things such as `autoload`....
05/12/2024
-
11:26 PM Revision 3c16d93c (git): Constify encoding type in universal parser
- Fixed warning about discarding modifiers.
```
../src/ruby_parser.c:677:48: warning: passing 'rb_encoding *' (aka 'const struct OnigEncodingTypeST *') to parameter of type 'void *' discards qualifiers [-Wincompatible-pointer-types-discar... -
10:28 PM Bug #20485 (Closed): Simple use of Fiber makes GC leak objects with singleton method
- Looks like a duplicate of https://bugs.ruby-lang.org/issues/19436, fixed in Ruby 3.3 but can't really be backported.
-
09:09 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- I confirmed that all of `1.times`, `[1].each` and `Mutex.new.synchronize` versions reproduce the problem on Ruby 3.2.4.
-
08:52 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- Changing `1.times` to `[1].each` could reproduce the problem on Ruby 3.3.1 too.
-
08:46 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- Update: To reproduce this issue with Ruby 3.3.1, Mutex is necessary.
-
06:09 AM Bug #20485: Simple use of Fiber makes GC leak objects with singleton method
- Update: Using Mutex was not necessary.
-
03:39 AM Bug #20485 (Closed): Simple use of Fiber makes GC leak objects with singleton method
- I found a possible memory leak which occurs only when several conditions are met.
The code to reproduce the problem is below:
```
class Work
def add_method
singleton_class.define_method(:f) {}
end
end
1.times { Fibe... -
07:57 AM Feature #20484: A new pragma for eager resolution of classes referenced in rescue clauses.
- Honestly, it is no different than any name used in a branch that wasn’t tested. E.g. if you have this:
```ruby
if foo
OneClass.new
else
OtherClass.new
end
```
...and the `else` branch wasn’t covered by tests, and the `OtherCl... -
04:25 AM Feature #20484: A new pragma for eager resolution of classes referenced in rescue clauses.
- duerst (Martin Dürst) wrote in #note-1:
> Can you give an example with actual code to show where you get problems?
The problem I ran into is that the exception class was properly named `SomeModule::SomeClass`, but my rescue block had... -
02:13 AM Feature #20484 (Feedback): A new pragma for eager resolution of classes referenced in rescue clauses.
- Can you give an example with actual code to show where you get problems?
-
07:49 AM Feature #20483: More intuitive initialisation of null Range
- What’s the expected semantics of this range?
There can be several options. Note that the behavior should be consistent/explainable in the context of other ranges (sometimes it makes sense to define the specialized behavior, but a very ... -
07:45 AM Bug #20482 (Closed): nil variables in a guard clause of a standalone => or in expression
- Applied in changeset commit:git|b911d2222f907d3fad397938e8f513ecfb4635b8.
----------
[Bug #20482] [DOC] Clarify about pattern maching guard clause
Guard clauses can only be used in `case` pattern matching statements,
not in `=>`/`in` o... -
07:05 AM Bug #20482: nil variables in a guard clause of a standalone => or in expression
- Soilent (Konstantin x) wrote in #note-2:
> Thank you, nobu! That explains it.
> ...
Yes, you can confirm the AST by `ruby --dump=parsetree -e '1 in a if a'` (the code is simplified).
> And since this is a modifier `if`, the parser c... -
06:08 AM Bug #20482: nil variables in a guard clause of a standalone => or in expression
- Thank you, nobu! That explains it.
Just to clarify, is this how the expression is parsed?
```ruby
( [1, 2] in a, b ) if b == 2*a
```
And since this is a modifier `if`, the parser creates variables a and b first, which is why t... -
12:05 AM Bug #20482: nil variables in a guard clause of a standalone => or in expression
- One-line pattern matching can not have a guard clause, so the `if` in the first example is a modifier `if` and is evaluated before the pattern matching.
In short, it should be intentional, I think. -
07:23 AM Revision b911d222 (git): [Bug #20482] [DOC] Clarify about pattern maching guard clause
- Guard clauses can only be used in `case` pattern matching statements,
not in `=>`/`in` operators. -
06:49 AM Feature #20443: Allow Major GC's to be disabled
- I think that same concern applies to some existing `GC` methods (e.g. `GC.compact`, `GC.verify_compaction_reference`) etc. So it would make sense that plugable GC would offer a way for the GCs to register behavior for these methods, and ...
-
06:38 AM Revision 5695c5df (git): ripper: Fix opassign when assignment to backref variables
-
06:36 AM Revision a1fb6cc9 (git): ripper: Use `$&` instead of quoting charaters in tests
-
05:40 AM Bug #20481 (Closed): Untrusted Marshal data can overwrite class/module instance variables
- Applied in changeset commit:git|8b9b150512b7b9514143a6b971992c9a539ead2f.
----------
[Bug #20481] Check for unmarshaling ivar
Prohibit setting instance variables of existing classes and modules
via link. -
04:57 AM Revision 8b9b1505 (git): [Bug #20481] Check for unmarshaling ivar
- Prohibit setting instance variables of existing classes and modules
via link. -
04:55 AM Revision d9e6e6fb (git): [Bug #7759] Fix instance variable names to be checked
-
04:53 AM Revision 4edd9b07 (git): [ruby/irb] Clean up tmpdir
- https://github.com/ruby/irb/commit/7d60349499
-
03:57 AM Bug #20478: Circular parameter syntax error rules
- Even this should be a syntax error?
```ruby
def foo(bar = ->(baz = bar) {}) end
```
That means it needs to manage the list of yet-unusable variables, not only tracking single variable.