Activity
From 03/20/2022 to 03/26/2022
03/26/2022
-
08:36 PM Bug #17489 (Closed): Ractor segfaults
- kirs (Kir Shatrov) wrote in #note-8:
>
> ...
OK, I'll close it. -
09:50 AM Bug #17489: Ractor segfaults
- wanabe (_ wanabe) wrote in #note-6:
> It seems be a autoload on non-main Ractor problem [Bug #18120].
> ...
That's great news!
I wish I knew how to close this ticket. Not sure I have permissions to do that...? -
07:05 PM Bug #18664 (Feedback): Segmentation fault with Ruby 3.1.1 in Rails 7.0.2.3
-
07:04 PM Bug #18664: Segmentation fault with Ruby 3.1.1 in Rails 7.0.2.3
- Thank you for the bug report. Looking at the backtrace, this looks like the same issue as #18627, which has been fixed and will be backported to Ruby 3.1.2.
-
01:45 PM
Bug #18664 (Closed): Segmentation fault with Ruby 3.1.1 in Rails 7.0.2.3
- https://github.com/tabuchi0919/rails-segfault
This is code to reproduce.
I'm sorry that sample app is not simple and probability of segmentation fault is very low. - 05:43 PM Revision 956e57f7 (git): * 2022-03-27 [ci skip]
-
05:42 PM Revision e699e2d9 (git): Enhanced RDoc for String (#5723)
- Treats:
#lstrip
#lstrip!
#rstrip
#rstrip!
#strip
#strip!
Adds section Whitespace in Strings. -
12:13 PM Revision 300f4677 (git): [DOC] Use simple references to operator methods
- Method references is not only able to be marked up as code, also
reflects `--show-hash` option.
The bug that prevented the old rdoc from correctly parsing these
methods was fixed last month. -
02:26 AM Bug #18294: error when parsing regexp comment
- I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/5721
The basic approach is skip the parse.y checks for regexps, because regexp does the same checks. Modify the regexp code to pass the regexp options to a ...
03/25/2022
-
10:49 PM Revision 4acc757d (git): [ruby/psych] Added condition for macOS homebrew
- https://github.com/ruby/psych/commit/a876de5a82
Co-authored-by: David Rodríguez <[email protected]> -
10:29 PM Bug #18663: Autoload doesn't work with fiber context switch.
- @ioquatix hmmm, let me explain.
The feature in development for a web application is reloading. Ordinary gems using Zeitwerk may autoload in any project they are used, and when you eager load Rails in production you may need to autoloa... -
09:12 PM Bug #18663: Autoload doesn't work with fiber context switch.
- @fxn If I understand correctly, autoload is mostly a feature of a development environment, so if we made this a little bit slower in order to improve accuracy (i.e. using a proper mutex), it wouldn't be huge loss right? Ruby's mutex isn'...
-
09:10 PM Bug #18663: Autoload doesn't work with fiber context switch.
- Autoload uses a spin lock:
```c
static VALUE
autoload_sleep(VALUE arg)
{
struct autoload_state *state = (struct autoload_state *)arg;
/*
* autoload_reset in other thread will resume us and remove us
* from t... -
09:01 PM Bug #18663: Autoload doesn't work with fiber context switch.
- ```c
/* always on stack, no need to mark */
struct autoload_state {
struct autoload_const *ac;
VALUE result;
VALUE thread;
struct list_head waitq;
};
```
I'm suspicious of `VALUE thread`. -
08:39 PM Bug #18663: Autoload doesn't work with fiber context switch.
- Pure fiber repro.
```ruby
#!/usr/bin/env ruby
require 'tempfile'
Tempfile.create(['foo', '.rb']) do |file|
file.write(<<~RUBY)
Fiber.yield
class C
end
RUBY
file.close
autoload :C, file.path
3... -
08:12 PM Bug #18663 (Closed): Autoload doesn't work with fiber context switch.
- As discussed most recently here: https://github.com/ruby/debug/issues/580
The following program appears to work:
```ruby
#!/usr/bin/env ruby
require 'tempfile'
Tempfile.create(['foo', '.rb']) do |file|
file.write(<<~RUBY)... -
09:33 PM Revision f79765ab (git): Update NEWS for {Kernel,TracePoint}#binding change
-
08:43 PM Revision 7f93b7dc (git): [DOC] Fix formatting for What's Here in IO (#5719)
- * Fix formatting for What's Here in IO
* Repair formatting in What's Heres in numeric.c
* Fix formatting for What's Here in IO -
08:17 PM Misc #18662: Fiber scheduling and Module#autoload
- https://bugs.ruby-lang.org/issues/18663 is the same, human race condition :D. We could close one of the two, at your discretion.
-
07:50 PM Misc #18662 (Closed): Fiber scheduling and Module#autoload
- Looks like Fiber context-switching does not synchronize constant reference access. This script using the `async` gem demonstrates the issue:
```ruby
require 'tempfile'
require 'async'
Tempfile.create(['foo', '.rb']) do |file|
... -
06:48 PM Revision 1a002d9a (git): Fix formatting errors in What's Here for Array, Hash, ENV (#5718)
-
06:14 PM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
- https://src.fedoraproject.org/rpms/ruby/c/2da7a540e7714777b93c430b4f252838b555b703
https://gitlab.com/redhat/centos-stream/rpms/ruby/-/commit/9b1bf408282ab378b5d8b06ce7d7debd2a5dd1d7
These ^^ are the patches applied in Fedora and c9s... -
11:00 AM Bug #18658: Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
- This would be particularly useful given it's often impossible to get an older openssl version on a system
(and if one compiles their own, then system packages like databases won't link against the manually-compiled libssl and so typical... -
05:16 PM Revision d0b7df81 (git): Fix formatting of What's Here for File (#5717)
- 03:52 PM Revision 52793c00 (git): * 2022-03-26 [ci skip]
-
03:52 PM Revision f918f6e4 (git): [DOC] Repair format and links in What's Here sections (#5711)
- * Repair format and links in What's Here for Comparable and Array
* Repair format for What's Here in enum.c -
03:17 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
- Ah, now I found this commit:git|bac6e8ca5d8f6bc45984d12ddad55d3d876d4324, so it used to be the case. I'll try to take a look what would the rbinstall.rb need to install also the binary extensions.
-
12:09 PM Bug #18373: Bundled gem (RBS, debug) extensions are not properly built
- This is even more tricky then I initially thought, at least in the RPM context. The issue that RPM assumes there is "build" step, where everything is build and later "install" step, where everything is move into right location. Unfortuna...
-
01:57 PM Bug #18661 (Open): Net::HTTP behavior changed between 2.6 and 3.1 on windows.
- We are upgrading a rails application from Ruby 2.6 to Ruby 3.1 on Windows.
Running rails systems tests hang on Ruby 3.1, while they succeed on Ruby 2.6.
I tracked this down to Ruby 3.1's Net::HTTP using Socket.tcp rather than the ... -
12:43 PM Feature #18660 (Closed): Line event flags on instruction in method/block signature
- Ruby in question is 3.0.3. Not sure what behavior is on different versions, but presume the same.
It's unclear why operations in signatures are not marked with `Li`, despite they may be a valid and meaningful code. Consider example:
... -
11:30 AM Feature #18589 (Closed): Finer-grained constant invalidation
- Applied in changeset commit:git|69967ee64eac9ce65b83533a566d69d12a6046d0.
----------
Revert "Finer-grained inline constant cache invalidation"
This reverts commits for [Feature #18589]:
* 8008fb7352abc6fba433b99bf20763cf0d4adb38
"Upd... -
11:29 AM Bug #17489: Ractor segfaults
- It seems be a autoload on non-main Ractor problem [Bug #18120].
This operation is prohibited after https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/397a509b6d0d1470df8c290d7c4adef78f1532ee and does not result in ... -
11:29 AM Revision 69967ee6 (git): Revert "Finer-grained inline constant cache invalidation"
- This reverts commits for [Feature #18589]:
* 8008fb7352abc6fba433b99bf20763cf0d4adb38
"Update formatting per feedback"
* 8f6eaca2e19828e92ecdb28b0fe693d606a03f96
"Delete ID from constant cache table if it becomes empty on ISEQ free"
... -
11:27 AM Revision 7ee26740 (git): [ruby/readline-ext] Removed the duplicated dependencies
- https://github.com/ruby/readline-ext/commit/324d324427
-
10:55 AM Feature #18659: Create a Binding at the time of an exception and make it available to Rescue
- This would be a huge overhead, so I don't think it's a good idea.
If you need this data, you could just pass it down yourself (e.g., the inner loop could be a block and then you already have access to all variables, or you could pass da... -
02:02 AM Feature #18659 (Open): Create a Binding at the time of an exception and make it available to Rescue
- When an exception occurs, create a binding or I assume make a reference to the current binding and then add that to the Exception class via (e.g.) a #binding method. This would allow users to have a more global rescue code but would st...
-
08:00 AM Bug #17382 (Closed): Segfault in String#inspect
- Thank you for confirming.
This is not reproduced in 3.0 or later, and it would be better to close this issue, leaving the decision to the backport maintainer.
I'm going to close it. -
06:36 AM Feature #18159: Integrate functionality of syntax_suggest gem into Ruby
- duerst (Martin Dürst) wrote in #note-9:
> - The best time to introduce the gem would be once the 3.1 release branch is forked from the master branch. That would be in January next year, or possibly somewhat earlier. Then we would have... -
12:53 AM Revision 033d9796 (git): Disabled cross compile for unknown errors with psych build
-
12:53 AM Revision 0292a34c (git): Removed libyaml object files from depends
-
12:53 AM Revision bfdceab3 (git): Try to remove yaml sources from depend
-
12:53 AM Revision 829754b3 (git): Added libyaml-dev into BASERUBY check
-
12:53 AM Revision 8e3fbf94 (git): Merge psych master: Removed the bundled libyaml
-
12:40 AM Revision 465edb96 (git): [DOC] Enhanced RDoc for String (#5707)
- Treated:
#chomp
#chomp!
#chop
#chop!
03/24/2022
-
09:25 PM Misc #18652: DevMeeting-2022-04-21
- * [Feature #18642] Named ripper fields (kddnewton)
* This commit adds a new subclass for ripper that functions similarly to SexpBuilderPP but uses classes with named fields instead of arrays. It additionally includes location informati... -
09:23 PM Misc #18652: DevMeeting-2022-04-21
- * [Feature #18654] Enhancements to prettyprint (kddnewton)
* PrettyPrint currently immediately pushes content onto the output buffer and then inserts newlines where necessary. This makes it impossible to change the output based on how... -
08:27 PM Bug #18631: Range check breaks multiplex backreferences in regular expressions
- I don't know much about this code, but the approach described does fix the issue. I submitted a pull request for it: https://github.com/ruby/ruby/pull/5710
-
08:27 PM Bug #18658 (Rejected): Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
- Ubuntu 22.04 is being released soon and ships with openssl 3. As of now Ruby 2.7.x and 3.0.x are under core support and will not build on Ubuntu 22.04 with openssl (Ruby 3.1.x can compile).
When attempting to compile 3.0.3 on Ubuntu 2... -
08:24 PM Bug #18657: IRB raises exception when stdout is a pipe
- Can you please submit this as a pull request upstream?: https://github.com/ruby/irb/pulls
-
08:23 PM Bug #18657 (Closed): IRB raises exception when stdout is a pipe
- When piping stdout to another process IRB fails:
```
lib/ruby/3.0.0/irb/input-method.rb:42:in `winsize': Inappropriate ioctl for device (Errno::ENOTTY)
```
For example:
```
echo n=1 | irb | cat
```
This bug was introduced... -
07:32 PM Bug #18484 (Rejected): Fiber should return it self when blocked by IO
-
07:32 PM Bug #18487 (Closed): Kernel#binding behaves differently depending on implementation language of items on the stack
- Applied in changeset commit:git|343ea9967e4a6b279eed6bd8e81ad0bdc747f254.
----------
Raise RuntimeError if Kernel#binding is called from a non-Ruby frame
Check whether the current or previous frame is a Ruby frame in
call_trace_func be... -
07:31 PM Revision 343ea996 (git): Raise RuntimeError if Kernel#binding is called from a non-Ruby frame
- Check whether the current or previous frame is a Ruby frame in
call_trace_func before attempting to create a binding for the frame.
Fixes [Bug #18487]
Co-authored-by: Alan Wu <[email protected]> -
07:11 PM Bug #18628: Link contributing is broken
- The underlying problem here is that CONTRIBUTING.md is assuming the use of the RDoc `--page-dir` option, and neither ruby-doc.org nor docs.ruby-lang.org use that option, so you end up with a broken link. It seems best to me to remove th...
- 04:14 PM Revision 33b13bd9 (git): * 2022-03-25 [ci skip]
-
04:14 PM Revision 8008fb73 (git): Update formatting per feedback
- Co-authored-by: Nobuyoshi Nakada <[email protected]>
-
04:14 PM Revision 8f6eaca2 (git): Delete ID from constant cache table if it becomes empty on ISEQ free
- Co-authored-by: John Hawthorn <[email protected]>
-
04:14 PM Revision 62990858 (git): Finer-grained inline constant cache invalidation
- Current behavior - caches depend on a global counter. All constant mutations cause caches to be invalidated.
```ruby
class A
B = 1
end
def foo
A::B # inline cache depends on global counter
end
foo # populate inline cache
foo # hit... -
04:10 PM Bug #18656 (Rejected): Documentation of Comparable Module: clamp method not mentioned in introduction
- It's mentioned in the "What's Here" section: https://ruby-doc.org/core-3.1.1/Comparable.html#module-Comparable-label-What-27s+Here . The formatting looks off (which I'll fix).
-
02:54 PM Feature #18179: Add Math methods to Numeric
- Out of all Math methods:
```
acos, acosh, asin, asinh, atan, atan2, atanh, cbrt, cos, cosh, erf,
erfc, exp, frexp, gamma, hypot, ldexp, lgamma, log, log10, log2, sin,
sinh, sqrt, tan, tanh
```
I think for me only sqrt would m... -
07:13 AM Feature #18179: Add Math methods to Numeric
- For the Complex Problem, maybe add an optional parameter like `:raise_on_complex` or something so when you try:
`(-2).sqrt` it returns complex,
but `(-2).sqrt(raise_on_complex: true)` makes the old Exception? -
04:44 AM Feature #18179: Add Math methods to Numeric
- mrkn (Kenta Murata) wrote in #note-2:
> I'm negative to this proposal. I don't think `Math.sqrt` is the behavior or the property of a Numeric object. It is the positive square root function that maps from/to the set of non-negative rea... -
02:03 PM Revision 5f10bd63 (git): Add ISEQ_BODY macro
- Use ISEQ_BODY macro to get the rb_iseq_constant_body of the ISeq. Using
this macro will make it easier for us to change the allocation strategy
of rb_iseq_constant_body when using Variable Width Allocation. - 12:39 PM Revision 04591e1b (git): Update default gems list at 4c4a1e2035e08a627e71efd41d6654 [ci skip]
- 12:38 PM Revision 4c4a1e20 (git): [ruby/ostruct] v0.5.4
- https://github.com/ruby/ostruct/commit/fe19de4644
- 12:37 PM Revision ad575416 (git): [ruby/ostruct] Avoid aliasing `block_given?` for JRuby [Fixes #40]
- https://github.com/ruby/ostruct/commit/14d04ff694
- 11:39 AM Revision 137e69b4 (git): Bump actions/checkout from 2 to 3
- Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://gith... - 11:38 AM Revision 9deacb31 (git): Bump actions/cache from 2 to 3
- Bumps [actions/cache](https://github.com/actions/cache) from 2 to 3.
- [Release notes](https://github.com/actions/cache/releases)
- [Commits](https://github.com/actions/cache/compare/v2...v3)
---
updated-dependencies:
- dependency-name:... -
11:31 AM Revision 2ec82dd3 (git): Added dependabot configuration for actions dependencies
-
11:22 AM Revision 39606a77 (git): [rubygems/rubygems] Maybe this is now fixed
- https://github.com/rubygems/rubygems/commit/d9c442e54c
-
10:08 AM Revision e6c1db1d (git): [DOC] Refine flip-flop
-
04:23 AM Revision 8dc357fa (git): Add Yuta Saito (katei) as the platform maintainer of WebAssembly/WASI
-
04:16 AM Revision 1bb9e42f (git): extlibs.rb: Add fallback `Colorize`
- To get rid of an unnecessary dependency for the case using
in other repositories. -
04:16 AM Revision 9ed6875f (git): extlibs.rb: Enclose `Vars` in `ExtLibs` class
- To get rid of an unnecessary top-level constant for the case using
as a library. -
04:16 AM Revision 247f8ecf (git): extlibs.rb: Extract ExtLibs#process
- For the case using this script as a library.
- `ExtLibs#process` reads and processes an extlibs file.
- `ExtLibs#process_under` processes all extlibs files under the
given directory.
- `Extlibs.run` parses `ARGV` and lets an instance p... -
03:05 AM Feature #18462: Proposal to merge WASI based WebAssembly support
- Just for record: https://github.com/ruby/ruby/pull/5702
-
12:48 AM Bug #14103 (Closed): Regexp absense operator has no chance to ^C
- Fixed at 9112cf4ae7f7ea8ab33c282aa02eec812421aeab.
-
12:47 AM Revision 9112cf4a (git): regint.h: Reduce the frequency of rb_thread_check_ints
- edc8576a65b7082597d45a694434261ec3ac0d9e checks interrupt at every
backtrack, which brought significant overhead.
This change makes the check only once every 128 backtracks. -
12:21 AM Bug #17382: Segfault in String#inspect
- @palkan thank you for the reproducer. That hepls us a lot.
Also thank you @wanabe. I'm :+1: for the "alternative" approach in #note-11.
03/23/2022
-
11:59 PM Revision 1357b147 (git): Now all extension libraries must consider the ABI header
-
11:34 PM Revision cccfd653 (git): [DOC] Remove mis-synced bundler directory
-
10:34 PM Revision d9dd88a6 (git): [rubygems/rubygems] Avoid crash in test teardown
- If an exception happens during test `setup` method, the `teardown`
method will still be run for cleaning up, but if some other errors
occurs then, it will hide the original error.
This is happening sometimes in CI where restoring origin... -
10:29 PM Bug #18511 (Closed): ruby in infinite loop consuming 100% CPU
-
09:34 PM Bug #18553: Memory leak on compiling method call with kwargs
- I did some testing and can confirm this is still a bug in the master branch. From my testing, this isn't related to not freeing the `struct rb_callinfo_kwarg`, it's because compiling a keyword argument method call causes two imemo_calli...
-
09:16 PM Bug #18656 (Rejected): Documentation of Comparable Module: clamp method not mentioned in introduction
- From the comparable docs ( https://ruby-doc.org/core-3.1.1/Comparable.html ): "Comparable uses <=> to implement the conventional comparison operators (<, <=, ==, >=, and >) and the method between?". clamp is not mentioned.
- 08:32 PM Revision 8b05b5a0 (git): * 2022-03-24 [ci skip]
-
08:32 PM Revision 13481c1e (git): [rubygems/rubygems] Improve RDoc setup
- Completely exclude the full bundler folder. The actual Bundler docs are
excluded anyways by ruby-core (by bundler/lib/bundler/.document,
bundler/lib/bundler/man/.document), I guess because bundler docs are not
in RDoc format?
Running RD... -
05:07 PM Bug #14103 (Open): Regexp absense operator has no chance to ^C
- This change degrades the performance of regular expression matching when frequent backtracking occurs.
Before edc8576a65b7082597d45a694434261ec3ac0d9e
```
$ time ./miniruby -ve '/^a*b?a*$/ =~ "a" * 20000 + "x"'
ruby 3.2.0dev (202... -
02:56 PM Bug #18635 (Closed): Enumerable#inject without block/symbol will return values or raise LocalJumpError
- Applied in changeset commit:git|8f1c69f27ce6b3f5ed1c1cf8d2aa62aa9701d636.
----------
Raise ArgumentError when calling Enumberable#inject without block or arguments
Previously, this would work as expected if the enumerable contained
0 o... -
02:41 PM Bug #18635: Enumerable#inject without block/symbol will return values or raise LocalJumpError
- I think either is fine.
I think some methods raise LocalJumpError early, even if they didn't try to use the block yet, so LocalJumpError would also be reasonable.
My view is the general form of #inspect is the block version, and the ... -
02:55 PM Revision 8f1c69f2 (git): Raise ArgumentError when calling Enumberable#inject without block or arguments
- Previously, this would work as expected if the enumerable contained
0 or 1 element, and would raise LocalJumpError otherwise. That
inconsistent behavior is likely to lead to bugs.
Fixes [Bug #18635] -
02:38 PM Feature #17837: Add support for Regexp timeouts
- mame (Yusuke Endoh) wrote in #note-40:
> @naruse conceived the idea. TBH, I am unsure if it will work well.
@naruse Could you explain why you think Regexp::TimeoutError should inherit from Timeout::Error?
And give an example from ex... -
12:21 AM Feature #17837: Add support for Regexp timeouts
- Eregon (Benoit Daloze) wrote in #note-38:
> I think it's not a good idea to have Regexp::TimeoutError < Timeout::Error.
@naruse conceived the idea. TBH, I am unsure if it will work well. But I think it is good to try it first, and we... -
02:31 PM Revision d32fa986 (git): [rubygems/rubygems] Make `rescue` clause more specific
- This is hiding a real bundler issue as a "network error". It's more
helpful to get a proper bug report, with stack trace and so on.
So stop re-raising errors when evaluating unmarshaled responses as
network errors, and only raise Mars... -
01:47 PM Feature #18566 (Closed): Merge `io-wait` and `io-nonblock` gems into core IO
- Closing in favor of [Feature #18655], since `wait_readable` and `wait_writable` are really the two method I personally care about.
I suggest people who feel strongly about other methods from `io-wait / io-nonblock` open individual fea... -
01:45 PM Feature #18655 (Closed): Copy `IO#wait_readable`, `IO#wait_writable`, `IO#wait_priority` and `IO#wait` into core.
- Extracted from [Feature #18566].
The decision was made to consider the methods from `io-wait` and `io-nonblock` one by one.
I think `wait_readable` and `wait_writeable` should be fairly non-controversial. They're quite essential to... -
01:17 PM Bug #18651: oob access in CP51932 -> CP50220 transcoder
- As this converter seems to convert JIS0201 to JIS0208 as possible, this part would be intentional.
-
10:52 AM Bug #18651: oob access in CP51932 -> CP50220 transcoder
- Accessing outside the table is definitely a bug.
Before that, SS2+0xA1 which should be JIS0201 is converted to JIS0208.
-
06:42 AM Feature #18653: Use RE2 for Regexp
- duerst (Martin Dürst) wrote in #note-3:
> Aren't there still regular expressions that RE2 can't handle but that may be used as ReDoS
Yes there are. According to TruffleRuby's approach, the interpreter warns a Regexp that RE2 can't ha... -
02:56 AM Feature #18653: Use RE2 for Regexp
- mame (Yusuke Endoh) wrote in #note-2:
> My original motivation was a security measure against ReDoS. If RE2 worked well, we might not have to introduce Regexp.timeout= (#17837).
Aren't there still regular expressions that RE2 can't... -
02:47 AM Feature #18653: Use RE2 for Regexp
- vo.x (Vit Ondruch) wrote in #note-1:
> Could you please elaborate what was the motivation for this experiment?
My original motivation was a security measure against ReDoS. If RE2 worked well, we might not have to introduce Regexp.tim... -
12:37 AM Bug #18649: Enumerable#first breaks out of the incorect block when across threads
- Looks like this bug started in Ruby 2.2:
```
$ ruby21 -v t/t55.rb
ruby 2.1.9p490 (2016-03-30 revision 54437) [x86_64-openbsd]
:before
t/t55.rb:34:in `join': unexpected break (LocalJumpError)
from t/t55.rb:34:in `foo'
... -
12:25 AM Bug #18641: UTF-16 surrogate pairs
- noraj (Alexandre ZANNI) wrote in #note-3:
> As far as I understand, it's not possible to have a native UTF-16 string it will always be UTF-8 converted to UTF-16 so my only option to write surrogates directly is to use pack?
Or writ...
03/22/2022
-
08:55 PM Bug #18635: Enumerable#inject without block/symbol will return values or raise LocalJumpError
- The call-seq for inject does not show usage without an argument or block, so I think it is reasonable to consider this as a bug, and it seems more likely to be a code bug than a doc bug. It's problematic that no error is raised when cal...
-
08:42 PM Feature #18653: Use RE2 for Regexp
- Could you please elaborate what was the motivation for this experiment? Was it to evaluate compatibility? Or possible speed gains?
-
08:51 AM Feature #18653 (Rejected): Use RE2 for Regexp
- I have tried to use [RE2](https://github.com/google/re2) as Ruby's regular expression engine. As it turns out, it seems difficult to merge it to Ruby right now. But I'd like to share some of my findings for those who may consider doing t...
-
08:26 PM Feature #18654 (Closed): Enhancements to prettyprint
- This issue mirrors the pull request open at https://github.com/ruby/prettyprint/pull/3.
This pull request adds a bunch of new functionality to the PrettyPrint class. The goal is to enhance the PrettyPrint class enough to support all o... -
07:51 PM Revision 0140e6c4 (git): [DOC] Enhanced RDoc for String (#5685)
- Treats:
#chars
#codepoints
#each_char
#each_codepoint
#each_grapheme_cluster
#grapheme_clusters
Also, corrects a passage in #unicode_normalize that mentioned module UnicodeNormalize, whose doc (:nodoc:, actually... -
06:33 PM Bug #18643: test-bundler failed on ruby_3_1 CI
- > https://github.com/rubygems/rubygems/pull/5410
The PR was merged in rubygems.
-
10:26 AM Bug #18643: test-bundler failed on ruby_3_1 CI
- I am working on this PR to fix this test considering the case that the latest Bundler version on RubyGems is newer than the Bundler bundled in Ruby.
https://github.com/rubygems/rubygems/pull/5410
-
03:58 PM Revision 26aff374 (git): Need to reconfigure and rebuild everything when abi.h changed
-
03:39 PM Bug #18650: C Extensions Can Segmentation Fault on Ruby 2.7 Compiled with --with-jemalloc and --enabled-shared
- shyouhei (Shyouhei Urabe) wrote in #note-1:
> Setting status to closed. Don't get confused, this is a normal process. The bug is fixed -- now is the time for back porting.
OK, that is fine, but shouldn't the "Backport" field for 2.... -
12:46 AM Bug #18650 (Closed): C Extensions Can Segmentation Fault on Ruby 2.7 Compiled with --with-jemalloc and --enabled-shared
- Setting status to closed. Don't get confused, this is a normal process. The bug is fixed -- now is the time for back porting.
- 03:01 PM Revision 2b01d7f2 (git): * 2022-03-23 [ci skip]
- 03:01 PM Revision 1ff174bf (git): [rubygems/rubygems] Fix a test for `bin/bundle update --bundler` to pass on ruby/ruby.
- Consider the case that the latest Bundler version on RubyGems is higher than
the `system_bundler_version` (= `Bundler::VERSION`) in `make test-bundler` on
ruby/ruby.
See <https://bugs.ruby-lang.org/issues/18643>.
https://github.com/rub... -
01:55 PM Feature #17837: Add support for Regexp timeouts
- mame (Yusuke Endoh) wrote in #note-37:
> BTW, we agreed that we do not introduce `Regexp.backtrack_limit=`. It would be "deterministic" for one Ruby version, which is indeed good. However, it would not be "deterministic" over mutiple Ru... -
10:12 AM Feature #17837: Add support for Regexp timeouts
- mame (Yusuke Endoh) wrote in #note-37:
> To reuse the code that `rescue`s `Timeout::Error`, `Regexp::TimeoutError` should inherit from `Timeout::Error`. For the sake, we need to make timeout gem built-in.
I think it's not a good idea... -
06:45 AM Feature #17837: Add support for Regexp timeouts
- I discussed this issue with some committers including @matz, @nobu, @akr, and @naruse. In light of the recent increase in ReDoS reports, we agreed as follows.
We will introduce the following new APIs.
* `Regexp.timeout` and `Regexp... -
01:43 PM Feature #18634 (Closed): Variable Width Allocation: Arrays
- Applied in changeset commit:git|a51f30c6712798fc07e57f692d0d0e5ccc59acf1.
----------
[Feature #18634] Implement Arrays on Variable Width Allocation
This commit implements arrays on Variable Width Allocation. This allows
longer arrays t... -
01:42 PM Revision a51f30c6 (git): [Feature #18634] Implement Arrays on Variable Width Allocation
- This commit implements arrays on Variable Width Allocation. This allows
longer arrays to be embedded (i.e. contents directly follow the object
header) which improves performance through better cache locality. -
12:12 PM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- mame (Yusuke Endoh) wrote in #note-16:
> @akr was against to make io/nonblock built-in because it is a old-style interface for nonblock IOs. He recommended `IO#read_nonblock` and `IO#write_nonblock` instead of the gem.
io/nonblock is... -
12:02 PM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- Those methods have been in stdlib for a while, I don't think moving them to core is an issue (their name and behavior is established already).
And I think renaming is not on the table either for compatibility (too high effort/too low ga... -
11:03 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- My personal opinion is that `wait_readable` and `wait_writable` should be in core IO. All the rest can stay in the gem.
I'll try to submit a PR and feature request for that soon. -
05:23 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- > wait_readable and wait_writable are maybe okay.
> ...
For reading `MSG_OOB` data.
> The name ready? sounds weird because it does not say "what is ready". Maybe renaming is needed. (ready_to_read? or what not?)
Some of this met... -
05:20 AM Feature #18566: Merge `io-wait` and `io-nonblock` gems into core IO
- This issue was discussed at the dev meeting.
The motivating issue of this proposal (the dependency issue of io-wait / net-protocol / net-smtp) is already solved by removing the dependency from net-protocol to io-wait. If so, there is ... -
10:52 AM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- Yes, that's correct, and that code would also break when migrating to other form of delegations (if not changing `bar` too).
I don't understand why we had these semantics in the first place, I think there are hard to understand for an... -
05:31 AM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- As far as I understand, this change will break the following code:
```
def target(a:)
p a
end
# after the patch, ruby2_keywords is requried here
def bar(*args)
target(*args)
end
ruby2_keywords def foo(*args)
bar(*ar... -
05:35 AM Misc #18652 (Closed): DevMeeting-2022-04-21
- # The next dev meeting
**Date: 2022/04/21 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/DevMeeting-2022-04-21.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at the bu... -
05:35 AM Misc #18591 (Closed): DevMeeting-2022-03-17
-
02:24 AM Revision 414ad771 (git): [DOC] re-count test suites run by `make check` [ci skip]
-
12:49 AM Revision bbd29fe0 (git): Fix a link [ci skip]
03/21/2022
-
07:58 PM Revision c129b611 (git): [DOC] Use RDoc inclusions in string.c (#5683)
- As @peterzhu2118 and @duerst have pointed out, putting string method's RDoc into doc/ (which allows non-ASCII in examples) makes the "click to toggle source" feature not work for that method.
This PR moves the primary method doc back in... -
07:30 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- Sorry if the description is confusing. This is a general timeout for all non-blocking IO operations, specified per IO instance.
-
05:11 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- I guess one way to express it is this new IO#timeout would apply to: blocking IO methods on non-blocking IO instances.
-
04:59 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- I'm still confused, in which cases does this timeout apply?
Only non-blocking IO, right?
The issue title says:
> Introduce general `IO#timeout` and `IO#timeout=`for all (non-)blocking operations.
The description says:
> ...
And ... -
03:52 PM Feature #18630: Introduce general `IO#timeout` and `IO#timeout=` for blocking operations.
- > I'm not sure a timeout per IO instance makes sense,
I think it does for various network clients. See for example [`net-protocol`'s `BufferedIO` class](https://github.com/ruby/net-protocol/blob/088e52609a8768c1e6156fa6c5609bbfadd4432... -
04:48 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- Testing Bundler seems to use a Gemfile, so I guess we can just make it point to my branch for testing: https://github.com/ruby/ruby/pull/5684
-
03:41 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- Eregon (Benoit Daloze) wrote in #note-8:
> @jeremyevans0 There is a good chance this is missing `ruby2_keywords` calls in RSpec, could you try with https://github.com/rspec/rspec-mocks/pull/1464?
I'm not sure how to get CI to run wit... -
03:36 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- @jeremyevans0 There is a good chance this is missing `ruby2_keywords` calls in RSpec, could you try with https://github.com/rspec/rspec-mocks/pull/1464?
-
03:26 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- This cannot be merged yet as it currently causes a couple errors in the Bundler specs:
* https://github.com/rubygems/bundler/blob/master/spec/bundler/friendly_errors_spec.rb#L105
* https://github.com/rubygems/bundler/blob/master/spec... -
02:04 PM Bug #18625: ruby2_keywords does not unmark the hash if the receiving method has a *rest parameter
- From the [dev meeting log](https://hackmd.io/koJLPz4eRXKzaaDvVqji7w#Bug-18625-ruby2_keywords-does-not-unmark-the-hash-if-the-receiving-method-has-a-rest-parameter-eregon):
Conclusion:
matz: I think it is good to fix
@mame: It ... -
04:40 PM Revision 1fd1f7bb (git): Fix Markdown syntax in spec/README.md
-
04:37 PM Revision 9f828188 (git): [DOC] Move old NEWS files to a separate directory
- 04:32 PM Revision 35cc7060 (git): * 2022-03-22 [ci skip]
-
04:32 PM Revision 92ef73a9 (git): [ruby/rdoc] Expand the enclosing tree of the current file
- https://github.com/ruby/rdoc/commit/f9f90ef2ff
-
04:32 PM Revision dafe5c13 (git): [ruby/rdoc] Fold files in the page directory
- https://github.com/ruby/rdoc/commit/b7b4cdab6c
-
04:32 PM Revision 034c0977 (git): [ruby/rdoc] Add test_generate_page
- https://github.com/ruby/rdoc/commit/c870284163
-
04:03 PM Feature #18619: Reverse the order of GC Compaction cursor movement
- eightbitraptor (Matthew Valentine-House) wrote in #note-3:
> Thanks for the quick feedback folks.
> ...
After fixing the bug in heapviz. I determined that there was a bug in the way we were handling unmoveable objects that resulted in ... -
01:35 PM Feature #17548: Need simple way to include symlink directories in Dir.glob
- Bump.
Today I just came across a case where I wanted to use this feature.
@nobu according to dev meeting notes you said "will commit", which implies to me this was already coded? Not sure. -
07:54 AM Bug #17529 (Closed): Ractor Segfaults with GC enabled
- Applied in changeset commit:git|a72b7b898c69a116d754d599e8bb061761015255.
----------
merge revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa: [Backport #17529]
alen should be actions ... -
07:53 AM Bug #17529: Ractor Segfaults with GC enabled
- ruby_3_0 a72b7b898c69a116d754d599e8bb061761015255 merged revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa.
-
06:47 AM Bug #17529: Ractor Segfaults with GC enabled
- I guess that the btest failure of ruby_3_0 branch on icc-x64 env may be fixed by `git cherry-pick d0d6227a0da5925acf946a09191f172daf53baf2 fff1edf23ba28267bf57097c269f7fa87530e3fa`.
(An example of this failure is http://rubyci.s3.amazon... -
12:32 AM Bug #17529: Ractor Segfaults with GC enabled
- I confirmed with 3.0.0 that the issue is reproducible.
According to `git bisect`, it seems to be fixed in fff1edf23ba28267bf57097c269f7fa87530e3fa and d0d6227a0da5925acf946a09191f172daf53baf2.
```
$ (git checkout origin/ruby_3_0 && ... -
07:52 AM Revision a72b7b89 (git): merge revision(s) d0d6227a0da5925acf946a09191f172daf53baf2,fff1edf23ba28267bf57097c269f7fa87530e3fa: [Backport #17529]
- alen should be actions number on ractor_select()
alen was number of rs, but it should be actions number
(taking ractors + receiving + yielding).
---
ractor.c | 13 ++++++-------
1 file changed, 6... -
07:46 AM Revision 1ea12cf5 (git): update common.mk dependency to follow up the previous commit.
-
07:32 AM Revision 1a1701c0 (git): class.c: include gc.h to suppress 'implicit declaration of function' on some environments.
-
07:08 AM Bug #18627: segmentation fault when doing a lot of redundant Module#include
- ruby_3_0 e0146e6cc8f3578b02ad5f228f86bf1aef566d16 merged revision(s) 97426e15d721119738a548ecfa7232b1d027cd34.
-
06:35 AM Revision e0146e6c (git): merge revision(s) 97426e15d721119738a548ecfa7232b1d027cd34: [Backport #18627]
- [Bug #18627] Fix crash when including module
During lazy sweeping, the iclass could be a dead object that has not yet
been swept. However, the chain of superclasses of the iclass could
already have been swept (an... -
06:27 AM Bug #16922: single quote should be escaped in xml
- ruby_3_0 branch includes the changeset git|ddd9704ae9bf884d867b6f57a16c095a79393fff.
-
12:51 AM Bug #18651 (Closed): oob access in CP51932 -> CP50220 transcoder
- Hello,
while working on a port of Japanese transcoder, I found a potential out of bounds access:
https://github.com/ruby/ruby/blob/73541cdc2f192f856ab19781472cdccbf9c21f71/enc/trans/iso2022.trans#L465
```tbl0208``` has 126 chars
in...
03/20/2022
-
02:24 PM Feature #18626 (Rejected): 注釈付き代入演算子 ()= の提案
- Very interesting proposal both syntax-wise and semantic-wise. But I have decided that we are not going to introduce any kind of syntax annotation in the language, sorry.
Matz.
文法的にも意味論的にも大変興味深い提案ですが、Ruby言語にいかなる形であれ型宣言や型注釈を導入するつもりはあ... -
01:52 PM Bug #17196: Segmentation Fault with Socket#close in Ractors
- I tried to reproduce the problem at hand, but it seems to have already been fixed in the current master.
According to git bisect, it seemed to be fixed by #18117 https://bugs.ruby-lang.org/projects/ruby-master/repository/git/revisions/b... -
06:42 AM Revision 73541cdc (git): [ruby/rdoc] Allow method source code to scroll [ci skip]
- https://github.com/ruby/rdoc/commit/1bb0496c53
-
06:38 AM Revision 20ad09e5 (git): [ruby/rdoc] Use the custom style `details summary` only in `nav-section`
- https://github.com/ruby/rdoc/commit/7736d3a89c
- 05:28 AM Revision 7b3fdcdf (git): * 2022-03-20 [ci skip]
-
05:26 AM Revision 6946263a (git): [DOC] make internally used classes/methods nodoc
- Empty class documents are generated even with `:stopdoc:`.