Activity
From 03/27/2024 to 04/02/2024
04/02/2024
-
05:26 PM Revision 24a74079 (git): Remove with_gc functions in darray
- We can wrap in DURING_GC_COULD_MALLOC_REGION instead.
-
05:19 PM Misc #20406 (Open): Question about Regexp encoding negotiation
- I am wondering what are the rules to calculate Regexp literal encoding in case an encoding modifier is specified.
From the documentstion:
> By default, a regexp with only US-ASCII characters has US-ASCII encoding:
> ...
Looking ... -
04:29 PM Revision 3c4de946 (git): YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible (#10402)
- * YJIT: A64: Use ADDS/SUBS/CMP (immediate) when possible
We were loading 1 into a register and then doing ADDS/SUBS previously.
That was particularly bad since those come up in fixnum operations.
```diff
# integer left shift with rh... -
03:11 PM Revision 94f7098d (git): [PRISM] Fix ISEQ load
-
02:35 PM Misc #20387: Meta-ticket for ASAN support
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-13:
> That's not a bad idea (avoid adding yet more combinations!) but do you know how widely these builds are currently used and what for? ASAN will make them a heck of a lot slower so tha... -
02:28 PM Revision 85e5a99e (git): [PRISM] Document more reasons for failures
-
12:55 PM Revision 3d1d1435 (git): Launchable: Refactor the logic of JsonStreamWriter
-
12:53 PM Revision 5903fdf4 (git): [DOC] Fix wheather -> whether typos in configure.
-
12:21 PM Revision 6ba73783 (git): [PRISM] Enable more passing parsing tests
-
10:37 AM Revision e816ab0b (git): Remove `rb_imemo_tmpbuf_t` from parser
- No parser semantic value types are `VALUE` then no need to
use imemo for managing semantic value stack anymore. -
09:34 AM Revision e6513952 (git): Warn pstore for Ruby 3.5
-
08:50 AM Revision 1e5949bd (git): Update to ruby/spec@573cf97
-
06:58 AM Feature #14449 (Closed): error when trying to run rails s
- These versions of Ruby and Bundler are EOL today.
-
06:34 AM Feature #16012 (Closed): Add a (small) test-install suite?
- We have this at https://github.com/ruby/actions.
-
06:29 AM Feature #14217 (Closed): Expose RUBY_PATCHLEVEL_STR or similar with patch level info for rc/preview as a constant
- This issue has been fixed at recent version of Bundler.
https://github.com/rubygems/rubygems/pull/7016 -
06:22 AM Feature #15036 (Closed): after upgrade when run apt upgrade metasploit
- Ruby 2.3 is EOL. You should contact distribution or application maintainer.
-
05:26 AM Feature #20345 (Closed): Add `--target-rbconfig` option to mkmf
- Applied in changeset commit:git|8b55aaa85ca3b5333e6659f0f0b1eabdd0b9491b.
----------
[Feature #20345] Add `--target-rbconfig` option to mkmf
Introduce a new mkmf option `--target-rbconfig` to specify the RbConfig
file for the deploymen... -
05:24 AM Revision 8b55aaa8 (git): [Feature #20345] Add `--target-rbconfig` option to mkmf
- Introduce a new mkmf option `--target-rbconfig` to specify the RbConfig
file for the deployment target platform. This option is useful for
cross-compiling Ruby extensions without faking the global top-level
`RbConfig` constant. -
03:26 AM Misc #20336: DevMeeting-2024-04-17
- * [Feature #20347] Separate docs task from all
* I would like to remove docs task from main. It works same as current behavior.
* https://github.com/ruby/ruby/pull/10282/commits/b160083175aed062c320b8d76eafe1c8706309d4 - 02:22 AM Revision 457a30df (git): Update bundled gems list at a65d49ce77af76b29ee17ec64c15b7 [ci skip]
-
02:22 AM Revision a65d49ce (git): Use Rake 13.2.0
-
02:22 AM Revision 94f56098 (git): Use fixed version of rake with ostruct
-
02:22 AM Revision 4db7c8a2 (git): Warn ostruct for Ruby 3.5
-
12:00 AM Feature #20331 (Closed): Should parser warn hash duplication and when clause?
- Applied in changeset commit:git|799e854897856e431c03a5122252358e2c57aff2.
----------
[Feature #20331] Simplify parser warnings for hash keys duplication and when clause duplication
This commit simplifies warnings for hash keys duplicat...
04/01/2024
-
11:26 PM Revision 799e8548 (git): [Feature #20331] Simplify parser warnings for hash keys duplication and when clause duplication
- This commit simplifies warnings for hash keys duplication and when clause duplication,
based on the discussion of https://bugs.ruby-lang.org/issues/20331.
Warnings are reported only when strings are same to ohters. -
10:26 PM Revision 8066e3ea (git): Remove VALUE from `struct rb_strterm_struct`
- In the past, it was imemo. However a075c55 changed it.
Therefore no need to use `VALUE` for the first field. -
10:17 PM Misc #20387: Meta-ticket for ASAN support
- > How about making ASAN enabled for ruby-debug builds
That's not a bad idea (avoid adding yet more combinations!) but do you know how widely these builds are currently used and what for? ASAN will make them a heck of a lot slower so t... -
01:20 PM Misc #20387: Meta-ticket for ASAN support
- kjtsanaktsidis (KJ Tsanaktsidis) wrote in #note-11:
> * Could we get an ASAN build of ruby into setup-ruby? This would make it easier to use ASAN with github actions and the like.
How about making ASAN enabled for ruby-debug builds a... -
07:39 PM Revision b25282e6 (git): [ruby/prism] Replace . with decimal point for strtod
- https://github.com/ruby/prism/commit/578a4f983e
-
07:28 PM Revision b7597dac (git): [ruby/prism] Match more error messages
- https://github.com/ruby/prism/commit/0cc3a9d63a
-
07:28 PM Revision d6c1cc55 (git): [ruby/prism] Fix up error messages for empty global variable
- https://github.com/ruby/prism/commit/fa7559d40b
-
07:28 PM Revision d898f00f (git): [ruby/prism] Match error messages for invalid instance/class variables
- https://github.com/ruby/prism/commit/82fd0599ed
-
07:28 PM Revision 67bd5b33 (git): [ruby/prism] Match error message for invalid class/module name
- https://github.com/ruby/prism/commit/f00ae59070
-
07:28 PM Revision 05904c3b (git): [ruby/prism] Match error message for invalid class/module definition
- https://github.com/ruby/prism/commit/1879a9d22e
-
07:28 PM Revision a885d597 (git): [ruby/prism] Match error message for multiple blocks given
- https://github.com/ruby/prism/commit/6b594d9d42
-
07:28 PM Revision fee70c1e (git): [ruby/prism] Add better error messages for invalid block-locals
- https://github.com/ruby/prism/commit/27ad452436
-
07:28 PM Revision 1e737ec9 (git): [ruby/prism] Fix up error message for invalid numbered reference alias
- https://github.com/ruby/prism/commit/74bff9e834
-
07:08 PM Revision cc6668c6 (git): [PRISM] Enable passing pattern matching tests
-
06:13 PM Revision a9658b64 (git): [ruby/prism] Do not track locals starting with _
- https://github.com/ruby/prism/commit/0d5a6d936a
-
06:13 PM Revision ec879e7e (git): [ruby/prism] Use RubyVM::InstructionSequence instead of Ripper for validity check
- https://github.com/ruby/prism/commit/ddec1c163d
-
06:13 PM Revision c2735c48 (git): [ruby/prism] Track duplicate hash keys for pattern matching
- https://github.com/ruby/prism/commit/71ea82f299
-
06:13 PM Revision f1e385aa (git): [ruby/prism] Track captures in pattern matching for duplicates
- https://github.com/ruby/prism/commit/aa2182f064
-
06:12 PM Revision a531cac3 (git): [ruby/reline] Refactor completion
- (https://github.com/ruby/reline/pull/647)
* Refactor completion: split autocompletion and tabcompletion logic and state
* Move completion candidate listup logic from dialog proc to LineEditor
https://github.com/ruby/reline/commit/c3c0... -
04:25 PM Revision 508bddc8 (git): [ruby/reline] Align completion menu items
- (https://github.com/ruby/reline/pull/613)
https://github.com/ruby/reline/commit/a622704f62 -
04:00 PM Feature #20404: `2pi`
- This has been brought up before to add the constant `tau`
https://bugs.ruby-lang.org/issues/17496 -
02:26 PM Feature #20404: `2pi`
- The Tau Manifesto (https://tauday.com/) was introduced by Michael Hartl, a Rubyist, and handily `𝜏 == 2π` so it might be worth also considering the tau letter: 𝜏
-
11:24 AM Feature #20404: `2pi`
- Now that Ruby has been unicode aware for over a decade, it's probably better to use actual pi letter: `2π`
-
05:40 AM Feature #20404: `2pi`
- I really like this proposal. But I think for most of the world, it was a few hours too early. A time around 2024-04-01 12:00:00 UTC may have been easier to understand for most of the world.
-
03:03 PM Revision e2a1d0b5 (git): [rubygems/rubygems] Improve error message when strict resolution filters out everything
- https://github.com/rubygems/rubygems/commit/1ea44b3749
-
03:03 PM Revision f80bb383 (git): [rubygems/rubygems] Keep unfiltered versions separately
- https://github.com/rubygems/rubygems/commit/7b5cc51a96
-
03:03 PM Revision bfdbdf7a (git): [rubygems/rubygems] No need to check for root package every time
- https://github.com/rubygems/rubygems/commit/6ca192649f
-
03:03 PM Revision b6ac37c9 (git): [rubygems/rubygems] No need for any version prioritization when building errors
- We just need to filter versions belonging to the range, but don't need
anything else.
https://github.com/rubygems/rubygems/commit/8355a225d7 -
03:03 PM Revision caaafbc3 (git): [rubygems/rubygems] Make it look more like BasicPackageSource
- https://github.com/rubygems/rubygems/commit/bb5727934c
-
03:03 PM Revision d69ef1cc (git): [rubygems/rubygems] Let GemVersionPromoter sort in preferred order directly
- So that we don't need to reverse the Array.
https://github.com/rubygems/rubygems/commit/aeea5e2e00 -
03:03 PM Revision 2b82b7d1 (git): [rubygems/rubygems] Update docs
- https://github.com/rubygems/rubygems/commit/ac24a68486
-
03:03 PM Revision 0a1e3696 (git): [rubygems/rubygems] Remove unnecessary filtering
- We do that when first caching versions, and then it's no longer
necessary.
https://github.com/rubygems/rubygems/commit/ede15847db -
03:03 PM Revision acbd91e4 (git): [rubygems/rubygems] No need to sort twice when filling versions
- https://github.com/rubygems/rubygems/commit/13294528c4
-
03:03 PM Revision d342937e (git): [rubygems/rubygems] Rename method for clarity
- And also so that it matches the method used by main PubGrub sample
resolver class.
https://github.com/rubygems/rubygems/commit/0e612361b8 -
03:03 PM Revision 3ca06835 (git): [rubygems/rubygems] Fix typo
- https://github.com/rubygems/rubygems/commit/0ddf25e5aa
-
02:26 PM Revision e26ac3ab (git): Test finalizer is ran in bootstraptest
-
08:53 AM Feature #20405: Inline comments
- vo.x (Vit Ondruch) wrote in #note-1:
> I like this proposal. But there are other possibilities, such as:
> ...
Thank you for the comment, but you may know `(:` can conflict existing code.
The reason I selected `(|` is that `/:|)` is u... -
08:41 AM Feature #20405: Inline comments
- I like this proposal. But there are other possibilities, such as:
~~~
(: This is comment :)
~~~
That would just underline Ruby as a "happy" language. Of course variants such as `(-: ... :-)` or even `(o: ... :o)` could even exte... -
01:09 AM Feature #20405 (Open): Inline comments
- I propose a new inline comment syntax.
```ruby
p (| This is a comment (| and nested one |) /:|) (:|) #=> :|
``` -
08:17 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
- Thanks!
-
07:55 AM Revision 12329753 (git): add CI matrix for clang-19
-
07:51 AM Revision b50c4dc3 (git): Rename the variable
- It is not an empty gzipped data, a gzipped empty dump data.
-
07:03 AM Revision 70645a5a (git): Write gzipped data as binary
- Be careful when writing binary data on Windows.
```
$ ruby -e 's = Gem::Util.gzip("\x04\x08[\x05".b); p s.index("\n"); puts IO::Buffer.for(s).hexdump'
6
0x00000000 1f 8b 08 00 6c 3d 0a 66 00 03 63 e1 88 66 05 00 ....l=.f..c..f..
0x0000... -
06:32 AM Revision acfef7c4 (git): Use dummy data generated by RubyGems
-
03:05 AM Revision 0774232b (git): Remove unnecessary macros and functions for Universal Parser
-
01:06 AM Revision e07178d5 (git): [DOC] Fix scope resolution operator typo in `Process#wait` docs
03/31/2024
-
11:57 PM Bug #20403: TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback can flake if TCP port is in use
- Fixed in https://github.com/ruby/resolv/pull/49
-
11:57 PM Bug #20403 (Closed): TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback can flake if TCP port is in use - Applied in changeset commit:git|80bda107c84187d90eeff9497d465e086364b420.
----------
[ruby/resolv] Add an explicit with_udp_and_tcp helper to test_dns.rb
This helper tries to bind UDP and TCP sockets to the same port, by
retrying the b... -
11:14 AM Bug #20403: TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback can flake if TCP port is in use
- I opened https://github.com/ruby/ruby/pull/10413 for this.
-
11:10 AM Bug #20403 (Closed): TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback can flake if TCP port is in use
- The test TestResolvDNS#test_query_ipv4_address_truncated_tcp_fallback wants to make a TCP and UDP DNS server on the same port. It achieves this by binding to a random UDP port (with `:0`), and then trying to bind to that TCP port. Howeve...
- 11:57 PM Revision 80bda107 (git): [ruby/resolv] Add an explicit with_udp_and_tcp helper to test_dns.rb
- This helper tries to bind UDP and TCP sockets to the same port, by
retrying the bind if the randomly-assinged UDP port is already taken in
TCP. This fixes a flaky test.
[Bug #20403]
https://github.com/ruby/resolv/commit/3d135f99d9 -
04:51 PM Feature #20404 (Rejected): `2pi`
- I propose a new Float literal: `2pi`.
```ruby
p 2pi #=> 6.283185307179586 == 2 * Math::PI
```
I am not proposing `1pi`, `3pi` or `4pi`. I do only `2pi`. Because in most cases, all you need is `2pi`. Any other multiple of pi is r... -
10:20 AM Bug #20245: Crash when checking symbol encoding
- ruby_3_2 27606daf8efeb0ae6d0590a2c9bb1c5aae07f140 merged revision(s) ac0163949a6ee678dfccec9f6e56422b91e5f0a9,01fd262e62076277a41af72ea13f20deb1b462a2.
-
10:20 AM Bug #20190: `invalid_encoding_string << number` should be valid encoding in some case, but does not
- ruby_3_2 4f3ed07d5bfd581b630e4afc8b9bb170ce781e7f merged revision(s) ade56737e2273847426214035c0ff2340b43799a.
-
10:19 AM Bug #20231: Don't wait in io_binwrite_string if not necessary.
- ruby_3_2 bf6e9299ef4f10dbd23f32331c355ac875bfb5e3 merged revision(s) 2554c5d3b8738a248cedb2fea96dfab9fbe19417.
-
10:19 AM Bug #20194: Memory leak with TracePoint on bmethod
- ruby_3_2 1b5c74a2408d248f35cb811327dd51f49ee37c9e merged revision(s) b14674b236445fb70f484603e678722760f678f4.
- 10:12 AM Revision e02a06fb (git): Document how to run the tests under ASAN now that they pass!
-
09:48 AM Misc #20387: Meta-ticket for ASAN support
- OK! Everything required to make `make check` pass on my machine with ASAN enabled has been merged! I opened https://github.com/ruby/ruby/pull/10412 to update the documentation to include the correct incantation.
The next things I woul... -
09:33 AM Bug #20402 (Closed): Double-free in TestIseqLoad#test_stressful_roundtrip - Applied in changeset commit:git|9d0a5148ae062a0481a4a18fbeb9cfd01dc10428.
----------
Add missing RB_GC_GUARDs related to DATA_PTR
I discovered the problem in `compile.c` from a failing
TestIseqLoad#test_stressful_roundtrip test with AS... - 09:33 AM Revision 9d0a5148 (git): Add missing RB_GC_GUARDs related to DATA_PTR
- I discovered the problem in `compile.c` from a failing
TestIseqLoad#test_stressful_roundtrip test with ASAN enabled. The other
two changes in array.c and string.c I found by auditing similar usages
of DATA_PTR in the codebase.
[Bug #20402] -
08:37 AM Revision 27606daf (git): merge revision(s) ac0163949a6ee678dfccec9f6e56422b91e5f0a9,01fd262e62076277a41af72ea13f20deb1b462a2: [Backport #20245]
- Compile code without Symbol GC always
---
symbol.c | 28 +++++++++++++---------------
1 file changed, 13 insertions(+), 15 deletions(-)
Fix crash when checking symbol encoding
[Bug #20245]
... -
08:31 AM Bug #20098: Wrong regexp match in ruby 3.2 and 3.3
- The changeset bb59696614083660241ef272f222628cbfa95844 cannot be merged into ruby_3_2 branch cleanly and hard to me to write a patch. @tompng Could you kindly create the patch for ruby_3_2 branch?
-
08:18 AM Revision 4f3ed07d (git): merge revision(s) ade56737e2273847426214035c0ff2340b43799a: [Backport #20190]
- Fix coderange of invalid_encoding_string.<<(ord)
Appending valid encoding character can change coderange from invalid to valid.
Example: "\x95".force_encoding('sjis')<<0x5C will be a valid string "\x{955C}"
---
... -
08:17 AM Revision 1b5c74a2 (git): merge revision(s) b14674b236445fb70f484603e678722760f678f4: [Backport #20194]
- Memory leak with TracePoint on bmethod
[Bug #20194]
When disabling the TracePoint on bmethod, the hooks list is not freed.
For example:
obj = Object.new
obj.define_singleton_method(:foo... -
08:16 AM Revision bf6e9299 (git): merge revision(s) 2554c5d3b8738a248cedb2fea96dfab9fbe19417: [Backport #20231]
- Don't wait in `io_binwrite_string` if not necessary. (#9792)
---
io.c | 8 +++-----
1 file changed, 3 insertions(+), 5 deletions(-) - 02:37 AM Revision 174b6716 (git): [rubygems/rubygems] [commands/rebuild] Remove unused DATE_FORMAT constant.
- https://github.com/rubygems/rubygems/commit/3c4e3fadc9
-
02:24 AM Revision 9579cf45 (git): If we have a shape cache we should use it
- If there is a shape cache, then we should believe the results instead of
doing a linear search for non-existent items
This fixes a case where checking the index of an undefined ivar would
result in an O(n) search. Now we get O(log n).
...
03/30/2024
-
03:54 PM Revision 376ae222 (git): Manage required baseruby version in one place
- Add a Ruby script mode to `tool/missing-baseruby.bat` that checks if
`RUBY_VERSION` meets the required version. This will enable similar
checks on mswin as well. -
09:34 AM Revision f697d324 (git): Manage required baseruby version in one place
- 06:58 AM Revision a6d8837d (git): Update bundled gems list as of 2024-03-29
-
02:02 AM Bug #20402: Double-free in TestIseqLoad#test_stressful_roundtrip
- https://github.com/ruby/ruby/pull/10408 should fix this
-
01:57 AM Bug #20402 (Closed): Double-free in TestIseqLoad#test_stressful_roundtrip
- With ASAN enabled, the TestIseqLoad#test_stressful_roundtrip fails with the following output:
```
2/9] TestIseqLoad#test_stressful_roundtrip = 7.26 s
1) Failure:
TestIseqLoad#test_stressful_roundtrip [/home/kj/ruby/test/-ext-/ise...
03/29/2024
-
11:32 PM Revision cdb8d208 (git): [PRISM] Fix error message for duplicate parameter name
-
09:29 PM Bug #20330 (Closed): [BUG] Segmentation fault at 0xffffffffffffffff
- I think this is a duplicate of #20184 and should be fixed in 3.3.1.
- 07:27 PM Revision d7d59ea1 (git): [rubygems/rubygems] add test case to ensure updating with multiple sources + caching maintains the right lockfile
- https://github.com/rubygems/rubygems/commit/65839757e6
-
04:28 PM Revision f57c7fef (git): [PRISM] Have RubyVM::InstructionSequence.compile respect --parser=prism
-
03:44 PM Revision 729a3968 (git): [ruby/prism] Fix calloc argument order
- https://github.com/ruby/prism/commit/9947ab13c0
-
03:43 PM Revision 718c7d4a (git): [ruby/prism] Handle NULL byte terminators for strings, regexps, and lists
- https://github.com/ruby/prism/commit/79a75258a4
-
03:39 PM Bug #20216 (Closed): Circular parameter reference not checked for assignment
-
03:21 PM Bug #20399: Ripper doesn't respect implicit -x
- I agree, but I still think Ripper should match the parser's behavior here. Otherwise you can't get the AST of those kinds of files.
-
05:11 AM Bug #20399: Ripper doesn't respect implicit -x
- Shebang makes sense only in an executable script file.
```sh
$ echo $'#!/bin/sh\np :sh' | ruby
ruby: no Ruby script found in input (LoadError)
bash: exit 1
$ ruby -e $'#!/bin/sh\np :sh'
:sh
``` -
03:18 PM Feature #20384: RubyVM::InstructionSequence.{new,compile} use --parser option
- I've opened a PR here https://github.com/ruby/ruby/pull/10406. I'm assuming no one has an objection based on the silence, so I'll merge once CI passes.
-
12:51 PM Revision 8191735b (git): [PRISM] Fix BEGIN{} execution order
-
11:55 AM Bug #20400 (Closed): Nested BEGIN{} execution order
- Thank you for the clarification!
-
05:37 AM Bug #20400: Nested BEGIN{} execution order
- `BEGIN` blocks are:
a. executed in the order they appeared in the same nesting level.
b. executed in prior to outside the block.
> ```ruby
> ...
"2" is first because it is in the inner `BEGIN` in the block for "1".
> ```ruby
... - 08:03 AM Revision 38331c89 (git): [rubygems/rubygems] [gemspec_helpers] Fix Rubocop warning.
- https://github.com/rubygems/rubygems/commit/4ebf6ee5ac
- 08:03 AM Revision d19744fb (git): [rubygems/rubygems] [build, rebuild] Split common find_gemspec() out to GemspecHelpers.
- https://github.com/rubygems/rubygems/commit/2f80a595c4
- 08:03 AM Revision d916dbcb (git): [rubygems/rubygems] Improve formatting of "gem rebuild --help" output.
- https://github.com/rubygems/rubygems/commit/701550f9dd
- 08:03 AM Revision 54d90e13 (git): [rubygems/rubygems] [rebuild] If --diff is not passed and a rebuild fails, suggest passing --diff.
- https://github.com/rubygems/rubygems/commit/7caadd182c
- 08:03 AM Revision dfe83df0 (git): [rubygems/rubygems] [rebuild_command] Bail early if the RubyGems version doesn't match.
- https://github.com/rubygems/rubygems/commit/a691170dc7
- 08:03 AM Revision 88d7be46 (git): [rubygems/rubygems] [rebuild_command] Use Gem.* helpers.
- https://github.com/rubygems/rubygems/commit/8644ce7193
- 08:03 AM Revision fe096f64 (git): [rubygems/rubygems] [rebuild_command] Clean up help text.
- https://github.com/rubygems/rubygems/commit/4446389f2e
- 08:03 AM Revision 54e0b807 (git): [rubygems/rubygems] [rebuild_command] Use temporary directory instead of the working directory.
- https://github.com/rubygems/rubygems/commit/f2e4e5b56f
- 08:03 AM Revision a28087af (git): [rubygems/rubygems] [rebuild_command] Add --diff flag to try using diffoscope.
- https://github.com/rubygems/rubygems/commit/3e9545193a
- 08:03 AM Revision cd12dfd3 (git): [rubygems/rubygems] [rebuild_command] Avoid leaking files.
- https://github.com/rubygems/rubygems/commit/3b88553d0d
- 08:03 AM Revision e5def27f (git): [rubygems/rubygems] Add "gem rebuild" command.
- https://github.com/rubygems/rubygems/commit/6d661573f0
-
06:18 AM Bug #20398: heap-buffer-overflow in numeric literal parsing
- Thank you, that fixed it yes. And it's a much better fix :)
-
04:43 AM Bug #20401: Duplicated when clause warning line number
- This behavior was discovered and briefly discussed during the previous dev meeting. The actual warning is
```
test.rb:4: warning: duplicated 'when' clause with line 2 is ignored
```
According to @nobu, this reads "The 'when' clau... -
01:56 AM Bug #20401: Duplicated when clause warning line number
- On the otherhand, if you have duplicated hash keys you get:
```ruby
{
bar: 1,
baz: 1,
bar: 1
}
```
For the warning: `warning: key :bar is duplicated and overwritten on line 4`. So this seems correct. -
01:55 AM Bug #20401 (Closed): Duplicated when clause warning line number
- When you have a duplicated when clause, you get a warning for it. For example:
```ruby
case foo
when :bar
when :baz
when :bar
end
```
you get ``warning: duplicated `when' clause with line 2 is ignored``.
But the when claus... -
02:16 AM Bug #17996 (Closed): Cygwin: thread + pipe behavior since Ruby 2.6
- https://github.com/ruby/ruby/pull/9357 may be fixed this.
03/28/2024
-
11:13 PM Revision 02d40b6c (git): Use ubf list on cygwin
-
09:41 PM Revision f3c35749 (git): YJIT: Optimize putobject+opt_ltlt for integers
- In `jit_rb_int_lshift()`, we guard against the right hand side changing
since we want to avoid generating variable length shifts. When control
reaches a `putobject` and `opt_ltlt` pair, though, we know that the right
hand side never chan... -
09:35 PM Revision 817eecf6 (git): [PRISM] Enable passing regexp test
-
08:39 PM Revision a8ec347c (git): [ruby/prism] Allow writing to keywords with named captures if they are already locals
- https://github.com/ruby/prism/commit/418318e1c8
-
07:30 PM Revision 8780059c (git): [ruby/prism] Reject invalid capture groups (keywords)
- https://github.com/ruby/prism/commit/bb78d83e88
-
07:21 PM Revision bb3cbdfe (git): YJIT: add iseq_alloc_count to stats (#10398)
- * YJIT: add iseq_alloc_count to stats
* Remove an empty line
---------
Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com> -
07:17 PM Revision a8f902ea (git): [PRISM] Add debug info for frozen strings
-
07:13 PM Feature #20394: Add an offset parameter to `String#to_i`
- byroot (Jean Boussier) wrote in #note-10:
> `StringIO` isn't as convenient as you make it out to be. Maybe it could become that, but it isn't today.
Hmm, it's not like it matters very much, but I get the weird feeling you misundersto... -
08:54 AM Feature #20394: Add an offset parameter to `String#to_i`
- > but rest assured once we can start using IO::Buffer exclusively, I will do so.
I'd be curious to see an HTTP1 parser using IO::Buffer. I don't see how you'd do it today. -
08:52 AM Feature #20394: Add an offset parameter to `String#to_i`
- My protocol gems have been around since Ruby 2.3+ so there are compatibility issues, but rest assured once we can start using `IO::Buffer` exclusively, I will do so. Using `String` for IO buffers is equally fraught with odd issues like e...
-
07:28 AM Feature #20394: Add an offset parameter to `String#to_i`
- > What about IO::Buffer? It was introduced somewhat stealthily and its API is somewhat unique, and yet by its idea it seems to be exactly that.
I'm aware of it, but it only offer binary oriented methods. Perhaps it could be extended t... -
07:20 AM Feature #20394: Add an offset parameter to `String#to_i`
- > I'd be all for a dedicated `Buffer` class that allow to efficiently parse text protocols like HTTP and RESP3, but right now all we got is String.
What about [IO::Buffer](https://docs.ruby-lang.org/en/master/IO/Buffer.html)? It was i... -
06:59 AM Feature #20394 (Closed): Add an offset parameter to `String#to_i`
- > This interpretation mismatch could be a source of vulnerability.
Good catch @mame, that does indeed make the `to_i` proposal much more problematic. I guess I don't really have much of a proposal anymore.
> ...
Not today no. You c... -
03:22 AM Feature #20394: Add an offset parameter to `String#to_i`
- I thought of a security concern.
I suppose all methods proposed in this ticket would allow underscores as a digit separator. This is natural in Ruby, but usually an unnecessary feature outside of Ruby, including the Redis protocol.
T... -
06:13 PM Bug #20400 (Closed): Nested BEGIN{} execution order
- Right now there are specs for the order in which `BEGIN{}` should be executed, which is the order they appear in the file. For example:
```ruby
BEGIN { print "1" }
print "4"
BEGIN { print "2" }
print "5"
BEGIN { print "3" }
```
... -
05:02 PM Revision 3e9c6842 (git): [PRISM] Allow space before encoding comment
-
04:04 PM Revision 86e0d83a (git): [PRISM] Simplify raising load errors
-
04:04 PM Revision d583616f (git): [ruby/prism] Ensure deserialization works with errors+warnings>256
- https://github.com/ruby/prism/commit/f540e830b5
-
04:04 PM Revision 35ff3028 (git): [ruby/prism] Various cleanup with new -x option
- https://github.com/ruby/prism/commit/020756fb11
-
04:04 PM Revision f7c5e11d (git): [PRISM] Use new -x prism API
-
04:04 PM Revision fcc06fa8 (git): [ruby/prism] CLI -x flag
- https://github.com/ruby/prism/commit/2068e3c30a
-
03:54 PM Revision 97b2cc34 (git): Allow FormatError to take either String or Gem for source
- Most of the calls to `FormatError.new` pass `@gem` for the second argument, which has a `path` method.
But in one case—on package.rb:691 in `verify_gz`, the `source` argument is a `String`.
So if there's ever a GZip decode error when a... -
03:54 PM Revision fa0a6241 (git): Don't check for dynamic symbol when reference updating
- All symbols in the GC are dynamic symbols, so we don't need to check it.
-
02:58 PM Revision 03ab4a56 (git): Clean symlinks to be runnable [ci skip]
-
02:48 PM Revision 7055dcf9 (git): [ruby/prism] Improve description for InterpolatedStringNodeFlags
- https://github.com/ruby/prism/commit/caa576d63f
-
02:28 PM Bug #20398 (Closed): heap-buffer-overflow in numeric literal parsing
- Applied in changeset commit:git|2ab9fb1c2e659f1f819ed63796171b2129255185.
----------
[Bug #20398] Terminate token buffer at invalid octal number -
12:02 PM Bug #20398: heap-buffer-overflow in numeric literal parsing
- Does this fix it?
```diff
diff --git a/parse.y b/parse.y
index 585130c3465..55619273b8e 100644
--- a/parse.y
+++ b/parse.y
@@ -10164,6 +10164,7 @@ parse_numeric(struct parser_params *p, int c)
/* prefixed octal */
... -
04:54 AM Bug #20398: heap-buffer-overflow in numeric literal parsing
- https://github.com/ruby/ruby/pull/10393 should fix this
-
04:51 AM Bug #20398 (Closed): heap-buffer-overflow in numeric literal parsing
- I found the following ASAN error in `TestRubyLiteral#test_integer`. It appears that this code is calling strdup on a non-null terminated string.
```
[1/1] TestRubyLiteral#test_integer==================================================... -
02:27 PM Bug #20399 (Open): Ripper doesn't respect implicit -x
- For the given script:
```ruby
#!/bin/sh
# -*- ruby -*-
exec "${RUBY-ruby}" "-x" "$0" "$@" && [ ] if false
#!ruby
# This needs ruby 2.0, Subversion and Git.
# As a Ruby committer, run this in an SVN repository
# to commit a chan... -
02:19 PM Revision 4fa8fefd (git): Suppress warning at literal string
-
01:28 PM Revision 2ab9fb1c (git): [Bug #20398] Terminate token buffer at invalid octal number
-
08:41 AM Feature #19057: Hide implementation of `rb_io_t`. - "ioquatix (Samuel Williams) via ruby-core" <ruby-core@ml.ruby-lang.org> wrote:
> Issue #19057 has been updated by ioquatix (Samuel Williams).
>
>
> > Why don't you reconsider the "nested public interface" approach?
>
> My asses... -
06:52 AM Misc #20336: DevMeeting-2024-04-17
- * [Bug #19865] Segfault when calling user signal handlers during VM shutdown
* Seems like the bug is well understood and there is a patch for it (https://github.com/nobu/ruby/tree/signal-at-cleanup), can it be merged? -
05:01 AM Bug #20050: Segfault on Ruby 3.2.2 (and 3.1) on x86_64 Darwin 20 (rb_id_table_lookup for #hash)
- Any chance this could be backported into Ruby 3.2? It was a bit tricky because of the VWA-related changes in 3.3, but I did manage to open a PR to do this: https://github.com/ruby/ruby/pull/10394
I'm running into this problem with the... -
02:44 AM Revision 7630a89a (git): Use www.rfc-editor.org for RFC text.
- We use the following site for that now:
* https://tools.ietf.org/ or http
* https://datatracker.ietf.org or http
Today, IETF said the official site of RFC is www.rfc-editor.org.
FYI: https://authors.ietf.org/en/references-in-rfcxml
I... -
02:18 AM Revision 67bdb7aa (git): [DOC] Use `rdoc-ref:@` shorthands for `rdoc-label:` tags
-
01:55 AM Revision 7293cef0 (git): [DOC] molinillo has been moved
-
01:15 AM Revision 84236132 (git): Launchable: Configure OS correctly in macos.yaml
03/27/2024
-
10:50 PM Misc #20387: Meta-ticket for ASAN support
- I merged another few PR's related to unit tests in ASAN builds:
https://github.com/ruby/ruby/pull/10383
https://github.com/ruby/ruby/pull/10384
https://github.com/ruby/ruby/pull/10385
https://github.com/ruby/ruby/pull/10386 - 10:49 PM Revision dc9d2455 (git): Add a missing asan_unpoisoning_p in gc_set_candidate_object_i
- It walks the heap, and checks for T_NONE and T_ZOMBIE objects, so it
needs to unpoison these slots before accessing them when ASAN is
enabled. - 10:48 PM Revision 75234beb (git): Make TestParallel#test_retry_workers consider RUBY_TEST_TIMEOUT_SCALE
- This test currently fails if RUBY_TEST_TIMEOUT_SCALE is set, because the
worker timeout is scaled out but the duration of the sleep does not;
thus, the test-test-case does not timeout when it should. - 10:48 PM Revision 7bdd742c (git): Set ASAN_OPTIONS=disable_coredump=0 for test_execopts_rlimit test
- By default, ASAN sets RLIMIT_CORE to zero, "to avoid dumping a 16T+ core
file" on 64 bit systems. These tests are just asserting on the expected
value of RLIMIT_CORE, not actually dumping core files, so it's fine to
disable that behaviou... - 10:48 PM Revision 8c7b9bd0 (git): Disable ASAN handle_segv in test_rubyoptions.rb
- ASAN registers a sigsegv handler and causes extra output to be emitted
that these tests are not expecting. -
09:19 PM Revision 7e12b03c (git): [PRISM] Set path on syntax error
-
08:46 PM Feature #20394: Add an offset parameter to `String#to_i`
- mame (Yusuke Endoh) wrote in #note-6:
> Generalizing, we may want `IO#scanf`, but that's probably overkill?
This previously existed in the stdlib but was removed: #16170
byroot (Jean Boussier) wrote in #note-7:
> ...
With Stri... -
07:41 AM Feature #20394: Add an offset parameter to `String#to_i`
- > The idea of an offset in a string is perfectly represented via the cursor in IO/StringIO
Indeed, but the problem is that you then have very few methods to parse values or peak in the buffer to find elements. Lots of methods needed f... -
03:57 AM Feature #20394: Add an offset parameter to `String#to_i`
- As @eregon said, `String#to_i(offset:)` with byte offset looks strange to me.
I like `IO#get_i(base=10)` and `StringIO#get_i` (despite the name).
I was a little concerned that it returns infinitely large Bignum when the IO reads "9... -
06:59 PM Revision 010286c7 (git): [PRISM] Enable passing test for hash duplicated keys
-
06:57 PM Revision 9b97f1f3 (git): [ruby/prism] Compare duplicates keys/whens for __FILE__
- https://github.com/ruby/prism/commit/85263ade63
-
06:31 PM Bug #20395: Invalid license note in vsnprintf.c
- But wait, maybe the ["old style" license](https://github.com/ruby/ruby/blame/e51014f9c05aa65cbf203442d37fef7c12390015/LEGAL#L1091-L1119) is crippled and it should really contain the additional paragraph, because otherwise as far as I und...
-
06:25 PM Bug #20395: Invalid license note in vsnprintf.c
- Actually, there is one more occurrence of this situation:
https://github.com/ruby/ruby/blob/51e6becd391eac03fd3842e1db9b6907999d64ba/LEGAL?plain=1#L1090-L1093
and there is some history:
https://github.com/ruby/ruby/commit/cb47ae... -
05:12 PM Bug #20395: Invalid license note in vsnprintf.c
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Should we remove that note simply?
Yes, that seems to like something which should have been part of that commit. -
06:31 PM Revision 9f9c0425 (git): [PRISM] Turn on passing test
-
06:28 PM Revision 4361727d (git): [ruby/prism] Warn on static literal arrays in predicate writes
- https://github.com/ruby/prism/commit/faadd05693
-
06:19 PM Revision 39606f36 (git): [PRISM] Implicitly change encoding when a UTF-8 BOM is found
-
06:19 PM Revision ab2ee308 (git): [PRISM] Match style for invalid encoding error
-
06:19 PM Revision eb995a64 (git): [PRISM] Include file and line in error message
-
05:41 PM Feature #20390 (Closed): Issue with StringIO and chilled strings
- Applied in changeset commit:git|0f5ab4ad5289d6385b74e800a73de005a48737b6.
----------
[ruby/stringio] Eagerly defrost chilled strings
[Feature #20390]
https://github.com/ruby/stringio/commit/17ee957f34
Co-authored-by: Jean Boussier <b... -
05:41 PM Revision 51e6becd (git): [ruby/stringio] Extract `readonly_string_p`
- https://github.com/ruby/stringio/commit/0da5b725c8
-
05:27 PM Revision 06563d78 (git): [ruby/stringio] Adjust styles [ci skip]
- https://github.com/ruby/stringio/commit/4e8e82fc30
-
05:27 PM Revision 0f5ab4ad (git): [ruby/stringio] Eagerly defrost chilled strings
- [Feature #20390]
https://github.com/ruby/stringio/commit/17ee957f34
Co-authored-by: Jean Boussier <byroot@ruby-lang.org> -
05:27 PM Revision db5686a8 (git): Read as binary regardless locale
-
05:22 PM Bug #20397 (Closed): The nkf license in LEGAL file seems to be obsolete
- The LEGAL file seems to contain [obsolete information](https://github.com/ruby/ruby/blob/a69f0047cb489c136001937442c1d2ffd8ea1dd7/LEGAL?plain=1#L730-L746) about nkf license.
It seems that nkf indeed use such license, but in upstream, ... -
05:03 PM Revision a69f0047 (git): [PRISM] Use new error formatting API
-
05:03 PM Revision 9b816e67 (git): [ruby/prism] Add option for inlining messages for error formatting
- https://github.com/ruby/prism/commit/af0204a8ab
-
04:55 PM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
- This is a great addition! I've often used a post-processing script to remove the string data, so having it built in would be very helpful.
I think `false` would be a good default (but either way is fine by me). -
08:50 AM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
- > false on default is safer?
Agreed. Safer and faster. I only set it to `true` on default to not change the current behavior, but wouldn't mind flipping it to `false` by default. -
08:48 AM Feature #20396: ObjectSpace.dump_all(string_value: false): skip dumping the String contents
- false on default is safer?
-
08:29 AM Feature #20396 (Open): ObjectSpace.dump_all(string_value: false): skip dumping the String contents
- `ObjectSpace.dump_all` is a very useful method to debug memory leaks and such, hence is frequently needed in production. But since all the 7bit strings content is included in the dump, it incur the risk of leaking personal data, or secre...
-
03:41 PM Revision c50b6425 (git): Remove st_lookup when updating object ID
-
03:41 PM Revision 4566843b (git): Check FL_SEEN_OBJ_ID before looking up in table
- This is an optimization for compaction so that we only lookup in the
obj_to_id_tbl table only when FL_SEEN_OBJ_ID is set. -
02:12 PM Revision e4d64797 (git): Add array/hash implicit allocation tests
- These are designed to prevent allocation regressions (commits that
increase the number of implicitly allocated arrays and hashes). We
have already had three commits in the last couple weeks to fix
allocation regressions:
* 15dc3aaa311b3... -
01:39 PM Revision aa794cc5 (git): Turn GC off at boot on Windows
- This is to stop crashes like:
.\miniruby.exe: [BUG] Segmentation fault
ruby 3.4.0dev (2024-03-26T15:38:26Z pull/10370/merge 040ea2ae2f) [x64-mswin64_140]
-- Control frame information ----------------------------------------... -
01:39 PM Revision 19916bac (git): Revert "skip `test_gc_stress_at_startup`"
- This reverts commit 3680981c7b71df8c3a426164787ccefe5296bb25.
-
01:39 PM Revision f14e52c8 (git): Fix setting GC stress at boot when objspace not available
-
01:39 PM Revision 1d99fe43 (git): Register classpath of FrozenCore before converting to ICLASS
- Since ICLASS do not mark the classpath, we need to register it as a
global object before we convert RubyVM::FrozenCore as a ICLASS. -
01:39 PM Revision 9ad175c1 (git): Register rb_fix_to_s_static as global right after creating
- If a GC runs right during creating a rb_fix_to_s_static, it may cause
the previous ones to become swept by the GC because they have not been
registered by rb_vm_register_global_object. -
12:48 PM Revision 2505c27f (git): [PRISM] Fix up some error formatting edge cases
-
12:34 PM Revision 42d1cd8f (git): [PRISM] Pass --enable-frozen-string-literal through to evals
-
12:34 PM Revision a1ae29e8 (git): [PRISM] Enable other passing specs
-
12:34 PM Revision 843c760a (git): [PRISM] Enable passing syntax tests
-
12:34 PM Revision 8b2fc859 (git): [PRISM] Enable passing frozen string in array test
-
12:34 PM Revision 6f8a252e (git): [PRISM] Enable passing heredoc test
-
12:34 PM Revision e4b21090 (git): [PRISM] Fix ASCII-compatible check for eval encoding
-
11:48 AM Bug #19716: SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
- hsbt (Hiroshi SHIBATA) wrote in #note-5:
> We welcome patch for them.
[Patch](https://bugs.ruby-lang.org/attachments/7081) has been available for for years. https://bugs.ruby-lang.org/issues/19716#note-2 confirms it still works for... -
01:44 AM Bug #19716 (Feedback): SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
-
01:03 AM Bug #19716 (Closed): SystemStackError occurs too easily on Alpine Linux (due to small stack size reported by pthread_attr_getstacksize on musl libc)
- Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue... - 11:34 AM Revision 44b5c912 (git): [rubygems/rubygems] Allow installing plugins from path via CLI
- Also bring the man page up to date.
https://github.com/rubygems/rubygems/commit/a849bd6947 -
07:18 AM Revision cbc11bcb (git): Ignore errors on prerelease gems
- 06:59 AM Revision 6498c439 (git): Update bundled gems list as of 2024-03-26
-
05:00 AM Revision 66a0e8b0 (git): d9234ba87b7e48381c8c44ef4a302ef368ee0ee7 is done to fix at related gems
-
04:26 AM Revision 16c18eaf (git): Revert "Mark iseq structs with rb_gc_mark_movable"
- This reverts commit a31ca3500d995b6706f94ff72166d699c5faeb27 which
broke debug inspector API. -
04:26 AM Revision 0c114dfc (git): Check existing ISeq wrapper
-
03:17 AM Revision e5143517 (git): Update vendored resolv to 0.4.0
-
03:17 AM Revision 8fa6c364 (git): [ruby/strscan] Omit tests for `#scan_byte` and `#peek_byte` on
- TruffleRuby temporary
(https://github.com/ruby/strscan/pull/91)
The methods were added in #89 but they aren't implemented in TruffleRuby
yet. So let's omit them for now to have CI green.
https://github.com/ruby/strscan/commit/844d963b56 - 03:16 AM Revision 8896ac02 (git): [ruby/openssl] Fix test_pkey_dsa.rb in FIPS.
- Note that I created the `dsa2048.pem` and signature text
(`signature_encoded.txt`), that is used as a text to create the `signature0` in
the `test_sign_verify` by the following steps with the `openssl` CLI on FIPS
module.
```
$ OPENSSL_... -
01:53 AM Misc #20028 (Closed): I'd like my commit bit back
- Sorry to my late action.
I recovered your account at redmine, github and our canonical repository. -
01:45 AM Bug #20099 (Feedback): Ruby 3.3.0 segfaults on s390x musl libc (Alpine Linux) when built with -O3 (default optflags)
-
01:01 AM Bug #20099 (Closed): Ruby 3.3.0 segfaults on s390x musl libc (Alpine Linux) when built with -O3 (default optflags)
- Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue... -
01:44 AM Misc #17174 (Feedback): "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4
-
01:03 AM Misc #17174 (Closed): "Error relocating, symbol not found" error when compiling a native extension on Alpine with Ruby >=2.4
- Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue... -
01:03 AM Bug #16810 (Closed): ruby segfaults on s390x with musl libc
- Unfortunately, there is no active maintainer for musl or alpine platform.
I tagged them to [musl](https://bugs.ruby-lang.org/projects/ruby-master/issues?fields%5B%5D=issue_tags&operators%5Bissue_tags%5D=%3D&set_filter=1&values%5Bissue...