Project

General

Profile

Activity

From 01/05/2021 to 01/11/2021

01/11/2021

08:53 PM Feature #17528 (Open): Make Addrinfo.getaddrinfo fall back to Timeout.timeout for :resolv_timeout
Currently, `Addrinfo.getaddrinfo` ignores the `:resolv_timeout` option if we are on a system without `getaddrinfo_a`. It would be great if instead it would fall back to using `Timeout.timeout`.
That way, we could get rid of a lot of t...
mohamedhafez (Mohamed Hafez)
07:01 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
although the title makes it sound obscure, this bug is actually fairly easy to trigger when using rspec and rails:
* activesupport >= 5 prepends a module onto Hash
* i18n >= 1.3 refines several methods on Hash
* power_assert (used b...
fledman (David Feldman)
05:59 PM Bug #17527 (Closed): rb_io_wait_readable/writable with scheduler don't check errno
## Problem
Playing with the new Fiber Scheduler, I noticed that `TCPServer#accept` would hung forever after closing the server from another Fiber. I expected it to be resumed and fail with IOError, as it happens with threads.
## An...
ysbaddaden (Julien Portalier)
12:13 PM Revision 66a844fd (git): Define printf qualifier prefix fallbacks
nobu (Nobuyoshi Nakada)
10:46 AM Revision 72549cfe (git): Removed ENABLE_PATH_CHECK condition [ci skip]
This condition is useless on Ubuntu, as this macro is defined by
default on other than Windows.
nobu (Nobuyoshi Nakada)
07:49 AM Bug #17526 (Closed): Avoid re-entering opt_invokebuiltin_delegate_leave
Please backport commit:2a1c68c91efeba93c413d0736bc513179d784c50 to Ruby 3.0. According to my quick investigation, it probably doesn't cause serious issues in 3.0 implementation, but for future safety this is nice to have. k0kubun (Takashi Kokubun)
07:40 AM Revision 2a1c68c9 (git): Avoid re-entering opt_invokebuiltin_delegate_leave
on interruption.
The cancellation code was originally written for leave insn, but re-entering
opt_invokebuiltin_delegate_leave insn on a cancellation is not safe, because
a builtin function is executed twice.
k0kubun (Takashi Kokubun)
05:00 AM Revision 5e00eeb4 (git): [ruby/matrix] use an exclusive range [Bug #17521]
nobu (Nobuyoshi Nakada)
02:39 AM Revision d2aaf865 (git): [ruby/etc] Added fallback definition of RUBY_ATOMIC_EXCHANGE
https://github.com/ruby/etc/commit/0c5900bd21 nobu (Nobuyoshi Nakada)
02:39 AM Revision f6e2c41d (git): [ruby/etc] Check blocking variables at release
https://github.com/ruby/etc/commit/f017bdfedf nobu (Nobuyoshi Nakada)

01/10/2021

09:21 PM Bug #17521 (Closed): [Matrix stdlib] Zero matrix to the power of zero
Applied in changeset commit:git|d8c8b79d24bf0f3177535501ad9b801e552fb2ad.
----------
[ruby/matrix] Fix 0-th power [Bug #17521] (#4047)
Anonymous
09:21 PM Revision d8c8b79d (git): [ruby/matrix] Fix 0-th power [Bug #17521] (#4047)
Marc-Andre Lafortune
08:39 PM Revision 8187228d (git): Fix ractor docs (#4048) [doc]
Tom Chen
08:13 PM Revision 0e015f93 (git): Adds RDoc summary of Hash methods (#4045)
* Adds RDoc summary of Hash methods burdettelamar (Burdette Lamar)
03:47 PM Revision 52257640 (git): * 2021-01-11 [ci skip]
git[bot]
03:33 PM Revision 480f436d (git): Suppress constant redefinition warnings
nobu (Nobuyoshi Nakada)
01:17 PM Feature #17525 (Closed): Implement Happy Eyeballs Version 2 (RFC8305) in Socket.tcp
https://github.com/ruby/ruby/pull/4038
This change implements Happy Eyeballs Version 2 (RFC8305) in Socket.tcp.
It enables fallback from IPv6 to IPv4 without a long waiting time.
Glass_saga (Masaki Matsushita)
12:29 PM Revision c63552ea (git): Remove possibility of using same seeds
nobu (Nobuyoshi Nakada)
11:42 AM Revision 1e827d4c (git): Moved to ruby/actions workflow [ci skip]
nobu (Nobuyoshi Nakada)
09:31 AM Feature #17524: resolv: add some more characters in IPv6 link local zone id
Thanks for your comment and pull request. That is what I expected.
I'm looking forward it to be merged.
no6v (Nobuhiro IMAI)
09:19 AM Revision 2adbf01a (git): dtoa.c: make thread-safe by using atomic CAS
nobu (Nobuyoshi Nakada)
07:42 AM Revision 34d02631 (git): dtoa.c: constified
clang seems to locate never modified local data in the const
segment implicitly.
nobu (Nobuyoshi Nakada)
07:28 AM Revision 63abb5c2 (git): dtoa.c: make compilable independently
Except for `-Dxmalloc=malloc -Dxfree=free`. nobu (Nobuyoshi Nakada)

01/09/2021

11:45 PM Revision 01aa0360 (git): * 2021-01-10 [ci skip]
git[bot]
11:40 PM Revision 2e9b6096 (git): [ruby/bigdecimal] Fix type name
https://github.com/ruby/bigdecimal/commit/2dad4d17b2 Kenta Murata
11:36 PM Revision 8b53cbaf (git): [ruby/bigdecimal] Avoid casting negative value to size_t
https://github.com/ruby/bigdecimal/f047b2786f Kenta Murata
11:35 PM Revision 72d504c1 (git): [ruby/bigdecimal] Use smallest local variable scope in GetVpValueWithPrec
https://github.com/ruby/bigdecimal/commit/44f26b9aa0 Kenta Murata
08:16 PM Feature #17524 (Assigned): resolv: add some more characters in IPv6 link local zone id
This seems reasonable to me. I chose a more conservative approach in the initial implementation, but we've already had to expand it once for s390, and if adding the rest of the unreserved characters fixes docker, we should do that.
I...
jeremyevans0 (Jeremy Evans)
10:36 AM Feature #17524 (Closed): resolv: add some more characters in IPv6 link local zone id
According to [RFC6874](https://tools.ietf.org/html/rfc6874#section-2), IPv6 link local zone id is:
```
ZoneID = 1*( unreserved / pct-encoded )
```
where `unreserved` in [RFC3986](https://tools.ietf.org/html/rfc3986#section-2.3...
no6v (Nobuhiro IMAI)
07:18 PM Bug #17521 (Assigned): [Matrix stdlib] Zero matrix to the power of zero
Congratulations on finding the oldest bug in Ruby ever! 🎉
This bug will be 23 years old in a week; it dates from the commit "Initial revision" 3db12e8b23
I should have realized this when I refactored it later on and added the spec ...
marcandre (Marc-Andre Lafortune)
12:17 AM Bug #17521: [Matrix stdlib] Zero matrix to the power of zero
I find that[specs declare this as intended behavior](https://github.com/ruby/ruby/blob/1a3343cfdcb765b94bf63375d45618130d6b92c9/spec/ruby/library/matrix/exponent_spec.rb#L34):
```
it "raises a ErrDimensionMismatch for irregular ma...
Kache (Kevin Cheng)
01:38 PM Revision 590dc06e (git): Get rid of defining methods for tests in core classes
Not to interfere in other tests. nobu (Nobuyoshi Nakada)
01:37 PM Revision 161a20df (git): gc fix typo for the timer instruction for ARM64.
David CARLIER
11:36 AM Revision 3d9c9599 (git): [ruby/bigdecimal] Stop using GetVpValueWithPrec in rb_rational_convert_to_BigDecimal
https://github.com/ruby/bigdecimal/commit/b4f470da61
https://github.com/ruby/bigdecimal/commit/44a78df866
Kenta Murata
11:36 AM Revision be34e31d (git): [ruby/bigdecimal] Add assertions for checking the argument types
https://github.com/ruby/bigdecimal/commit/96c9ebd886 Kenta Murata
11:35 AM Revision fb18a811 (git): [ruby/bigdecimal] Stop using GetVpValueWithPrec in rb_float_convert_to_BigDecimal
https://github.com/ruby/bigdecimal/commit/33e7c50263
https://github.com/ruby/bigdecimal/commit/d3c1b0b921
Kenta Murata
11:35 AM Revision 89f31252 (git): [ruby/bigdecimal] Add test cases of conversion from Float
https://github.com/ruby/bigdecimal/commit/28d3836366 Kenta Murata
07:52 AM Bug #17523 (Closed): Inconsistent Warning[] values in scripts loaded by -r option
While `-w` option affects `$VERBOSE` for both the main and required scripts, but affects `Warning[]` values only in the main script.
In this example, `Warning[:deprecated]` should be consistent as well as `$VERBOSE`.
##### v.rb
``...
nobu (Nobuyoshi Nakada)
04:47 AM Bug #17522: A typo in `include/ruby/internal/stdalign.h`
Thank you, I think there is no impact as that macro isn't used except for `sizeof(VALUE)` now. nobu (Nobuyoshi Nakada)
04:41 AM Bug #17522 (Closed): A typo in `include/ruby/internal/stdalign.h`
Applied in changeset commit:git|0bb62dccf4e6990cfe0bb35c4d8e74e000086d19.
----------
Fixed a typo [Bug #17522]
xtkoba (Tee KOBAYASHI)
01:47 AM Bug #17522 (Closed): A typo in `include/ruby/internal/stdalign.h`
In `include/ruby/internal/stdalign.h`, the line
```
#elif RBIMPL_HAS_ATTRIBUTE(aliged)
```
should be as
```
#elif RBIMPL_HAS_ATTRIBUTE(aligned)
```
The impact of this typo on the real world is unknown.
xtkoba (Tee KOBAYASHI)
04:37 AM Revision 0bb62dcc (git): Fixed a typo [Bug #17522]
xtkoba (Tee KOBAYASHI)
04:33 AM Revision 7ff0e93f (git): parse.y: handle "duplicated argument name" appropriately on ripper.y
refs: 733ed1e184 no6v (Nobuhiro IMAI)
03:13 AM Bug #17518: escapeHTML segfaults on armv7hl
Good to hear that. Thank you! mame (Yusuke Endoh)

01/08/2021

11:26 PM Bug #17521 (Closed): [Matrix stdlib] Zero matrix to the power of zero
Just like `0**0 == 1`, `Matrix.zero(n)**0 == Matrix.identity(n)` should be true for all `n`:
https://math.stackexchange.com/questions/699740/zero-matrix-to-the-power-of-0
However:
```
$ ruby -e "require 'matrix'; Matrix.zero(1)...
Kache (Kevin Cheng)
10:41 PM Feature #17520 (Feedback): Allow symbols starting with number, e.g. :2_weeks
You may not know that:
```ruby
p({ '2_weeks': 1 })
# => prints {:"2_weeks"=>1}
```
Such symbols being quite rare, I believe this solution should be enough.
marcandre (Marc-Andre Lafortune)
09:59 PM Feature #17520 (Feedback): Allow symbols starting with number, e.g. :2_weeks

For instance:
```
p({ 2_weeks: 1 })
```
results in:
```
a.rb:1: trailing `_' in number
p({ 2_weeks: 1 })
a.rb:1: syntax error, unexpected local variable or method, expecting =>
p({ 2_weeks: 1 })
```
and
```
p({ ...
dorianmariefr (Dorian Marié)
07:45 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
and a demonstration with a custom class:
```ruby
RUBY_VERSION
class Thing
def direction
'LEFT'
end
end
def test_thing_visibility
t1 = Thing.new
t2 = Thing.new
t1.singleton_class.send(:private, :direction)
t2.singleton_...
fledman (David Feldman)
07:29 PM Bug #17519: set_visibility fails when a prepended module and a refinement both exist
since :except is only available natively on Ruby3, here is a Ruby2 demonstration:
```ruby
irb> RUBY_VERSION
=> "2.7.2"
irb> module Nothing; end; Hash.prepend(Nothing); Hash.ancestors
=> [Nothing, Hash, Enumerable, Object, PP::ObjectMixi...
fledman (David Feldman)
07:15 PM Bug #17519 (Closed): set_visibility fails when a prepended module and a refinement both exist
the set_visibility functions (aka public/private/protected) fail with NameError when:
* called on a specific object's singleton class
* for a specific method
* and both of the following are true
* any module has been prepended to th...
fledman (David Feldman)
03:59 PM Bug #17518 (Closed): escapeHTML segfaults on armv7hl
Thx, that helped. Going to set backport flag. vo.x (Vit Ondruch)
12:19 PM Bug #17518: escapeHTML segfaults on armv7hl
Maybe the issue has been already fixed since f690eb34e28b000627e5f0649dd81a04e252286f. Can you check it on the master? mame (Yusuke Endoh)
11:36 AM Bug #17518 (Closed): escapeHTML segfaults on armv7hl
Preparing Ruby 3.0 update in Fedora Rawhide, I struggle with rebuild of 'unicode' gem on armv7hl:
~~~
... snip ...
+ gem install -V --local --build-root . --force --document=ri,rdoc unicode-0.4.4.2.gem
... snip ...
Successfu...
vo.x (Vit Ondruch)
03:31 PM Revision 1a3343cf (git): * 2021-01-09 [ci skip]
git[bot]
03:31 PM Revision 391ee3ee (git): Replace `Kernel.#open` with `URI.open` in doc
Because `Kernel.#open` no longer opens URI since Ruby 3.0. pocke (Masataka Kuwabara)
06:43 AM Revision 98bd7e87 (git): [ruby/irb] Make IRB::ColorPrinter.pp compatible with PP.pp
The incompatible interface is not helpful, again if you want to use it
as a standalone library, falling it back to PP.
Original PP.pp also ends with `out << "\n"`.
https://github.com/ruby/irb/commit/4c74c7d84c
k0kubun (Takashi Kokubun)
06:35 AM Revision d6b2b5bd (git): [ruby/irb] Add missing require
This is useful if you want to use IRB::ColorPrinter as a library like:
```
begin
require 'irb/color_printer'
IRB::ColorPrinter.pp(obj)
rescue LoadError
pp(obj)
end
```
https://github.com/ruby/irb/commit/f8461691c7
k0kubun (Takashi Kokubun)
05:44 AM Revision d4b7e967 (git): should use `assert_include` here.
Random ordering test can introduce antoher candidate so it should be
`assert_include`.
ko1 (Koichi Sasada)
05:39 AM Revision abdc634f (git): remove unused decl
ko1 (Koichi Sasada)
04:38 AM Bug #17466 (Closed): Inconsistent backtrace order in Ruby 3.0
Applied in changeset commit:git|917050220a1fd41bdb3e50ea54a200b0c285bcd4.
----------
[ruby/irb] Use Exception#full_message to show backtrace in the correct order
[Bug #17466]
https://github.com/ruby/irb/commit/1c76845cca
aycabta (aycabta .)
04:38 AM Revision 5a221ead (git): * 2021-01-08 [ci skip]
git[bot]
04:32 AM Revision 6cbb3fd1 (git): [ruby/irb] Fix comment, irb gem supports 2.5.0 or older
https://github.com/ruby/irb/commit/36118015ba aycabta (aycabta .)
04:25 AM Revision a8f4cbee (git): [ruby/reline] Add acknowledgments and license for rb-readline
https://github.com/ruby/reline/commit/19df59b916 aycabta (aycabta .)
04:25 AM Revision 01235f80 (git): [ruby/reline] Suppress auto indent for adding newlines in pasting
Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/074bb017a7
aycabta (aycabta .)
04:25 AM Revision 76c9a3c8 (git): [ruby/reline] Suppress crashing when dynamic_prompt_proc returns a broken prompt list
Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/558f7be168
aycabta (aycabta .)
04:25 AM Revision 88af5085 (git): [ruby/reline] Suppress crashing when auto_indent_proc returns broken indent info
Co-authored-by: Juanito Fatas <me@juanitofatas.com>
https://github.com/ruby/reline/commit/7c24276275
aycabta (aycabta .)
04:25 AM Revision e356b71d (git): [ruby/reline] Remove debug print
https://github.com/ruby/reline/commit/d7fbaedc6a aycabta (aycabta .)
04:25 AM Revision ea75aed9 (git): [ruby/reline] Correct var names in Reline were different from vi-*-mode-string
https://github.com/ruby/reline/commit/8255fc93b9 aycabta (aycabta .)
04:25 AM Revision 54c1dcba (git): [ruby/reline] Update cursor correctly when just cursor moving
This fixes ruby/reline#236 and ruby/reline#239.
https://github.com/ruby/reline/commit/3e3c89d00b
aycabta (aycabta .)
04:25 AM Revision 559f844b (git): irb: Drop lines from backtrace for tests in Ruby repository
aycabta (aycabta .)
04:25 AM Revision 111fddd5 (git): [ruby/irb] Fix BACK_TRACE_LIMIT logic
https://github.com/ruby/irb/commit/30dc5d43fe aycabta (aycabta .)
04:25 AM Revision 91705022 (git): [ruby/irb] Use Exception#full_message to show backtrace in the correct order
[Bug #17466]
https://github.com/ruby/irb/commit/1c76845cca
aycabta (aycabta .)
04:25 AM Revision ed3264d3 (git): [ruby/irb] refactoring an error handling in `IRB::Inspector`
* moved rescue clause to `#inspect_value` to catch all failures in inspectors
* test with all (currently five kind of) inspect modes
- tweaked the input due to only `Marshal` can inspect(dump) a `BasicObject`
https://github.com/ruby/i...
no6v (Nobuhiro IMAI)
04:25 AM Revision f5947752 (git): [ruby/irb] do not escape a predicate method for doc namespace
* Fixes #88
https://github.com/ruby/irb/commit/d431a30af4
no6v (Nobuhiro IMAI)
04:25 AM Revision 4bb683a5 (git): [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence`
https://github.com/ruby/irb/commit/d09d3c3d68 no6v (Nobuhiro IMAI)

01/07/2021

08:34 PM Bug #17493: Calling Reline::Unicode.calculate_width appears to lock up when called from emacs or if output is redirected
Another way the problem can happen is displaying an EN DASH character, such as in a CSV file produced by LibreOffice.
When a shell is running inside emacs, including the case of running inf-ruby, ANSI sequences are not honoured. In most...
rsharman (Richard Sharman)
04:40 PM Feature #17474: Interpreting constants at compile time
New year, new comment! :D
jzakiya wrote:
> Ruby has borrowed concepts/idioms from allot of languages.
This is true; ruby has always been **multi-paradigm** and " **more than one way** ", even though I think its core strength has been ...
shevegen (Robert A. Heiler)
01:36 PM Feature #17474: Interpreting constants at compile time
Dan0042 (Daniel DeLorme) wrote in #note-21:
> I think it would make sense to say that precisely "when" the expression is executed is undefined. So in the case of lazy parsing it would be parsed and evaled when the containing code is par...
Eregon (Benoit Daloze)
04:27 PM Bug #17516: forking in a ractor causes Ruby to crash
I'm wondering if we can limit Process calls in the ractor as we do for accessing out of band variables? I've not had a chance to attach GDB to the Ruby VM yet (I have to compile Ruby with -O0 -g3 for things to be clear).
BTW I'm not s...
pkmuldoon (Phil Muldoon)
02:44 PM Revision 55e52c19 (git): simplify assertion
searched_cme is used only this line so the variable is not needed. ko1 (Koichi Sasada)
01:23 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
Actually having an extra Thread in the main Ractor to do the require's seems a much nicer solution, as proposed above (I forgot about it). Eregon (Benoit Daloze)
01:22 PM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
ko1 (Koichi Sasada) wrote in #note-7:
> If we allow to require from non-main ractors, the only problem is `$LOADED_FEATURES`?
Not only, as we see above RubyGems uses a Monitor, and that doesn't work with Ractor.
Making the entire lo...
Eregon (Benoit Daloze)
01:11 PM Feature #17323: Ractor::LVar to provide ractor-local storage
I was thinking `Ractor::Local.new` would be fine too, (e.g., Java has `new ThreadLocal()`). Eregon (Benoit Daloze)
06:33 AM Feature #17323: Ractor::LVar to provide ractor-local storage
`Ractor::LocalVariable` ? ko1 (Koichi Sasada)
11:11 AM Revision 412d26a3 (git): Update bundled_gems
nobu (Nobuyoshi Nakada)
07:52 AM Revision 184e82e8 (git): Follow the NDEBUG given to the whole
nobu (Nobuyoshi Nakada)
05:55 AM Revision 96ce1d9a (git): rbconfig.rb: extract cpu from RUBY_PLATFORM when universal
nobu (Nobuyoshi Nakada)
04:40 AM Revision ee1e690a (git): We don't need "require 'uri'" after "require 'net/http'".
biow0lf (Igor Zubkov)
04:39 AM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
Fix a typo in subject. duerst (Martin Dürst)
01:21 AM Revision 4d0985a7 (git): * 2021-01-07 [ci skip]
git[bot]
01:20 AM Revision 82f6085b (git): [ruby/bigdecimal] Fix trailing zero handling in rb_uint64_convert_to_BigDecimal
https://github.com/ruby/bigdecimal/commit/2056604d56 Kenta Murata
01:19 AM Revision 698d7947 (git): [ruby/bigdecimal] Include TestBigDecimalBase in TestBigDecimalUtil
https://github.com/ruby/bigdecimal/commit/f732201df1 Kenta Murata

01/06/2021

08:53 PM Feature #17513: Methods of shareable objects and UnboundMethods should be shareable
Agreed, some methods can not be made shareable 👍. marcandre (Marc-Andre Lafortune)
07:16 PM Feature #17513: Methods of shareable objects and UnboundMethods should be shareable
Methods can be defined via `define_method { capture_state }` and so rely on mutable state, so I guess this is only OK for `def` methods. Eregon (Benoit Daloze)
06:04 AM Feature #17513 (Assigned): Methods of shareable objects and UnboundMethods should be shareable
```ruby
class Foo
def foo
end
end
f = Foo.new.freeze
Ractor.shareable?(f) # => true
Ractor.make_shareable(f.method(:foo).to_proc) # => Proc, ok
Ractor.make_shareable(f.method(:foo)) # => Ractor::Error, expected Method
Ract...
marcandre (Marc-Andre Lafortune)
04:25 PM Feature #17323: Ractor::LVar to provide ractor-local storage
I don't think there's a massive overlap there, and there's no many letters we could use. chrisseaton (Chris Seaton)
04:22 PM Feature #17323: Ractor::LVar to provide ractor-local storage
LVAR is not used much but it is used. http://lambda-the-ultimate.org/node/4823, http://composition.al/blog/2013/09/22/some-example-mvar-ivar-and-lvar-programs-in-haskell/ and it is not
local variable it is a lattice based monotomic cont...
dsisnero (Dominic Sisneros)
03:11 PM Feature #17323: Ractor::LVar to provide ractor-local storage
> it shadows - implies MVAR, TVAR
I think that's the point isn't it? We have TVar (transactional), MVar (mutable), LVar (local), and matches ivar (instance.)
LVar is a bit overloaded that's true - left-value in terms of assignment ...
chrisseaton (Chris Seaton)
03:09 PM Feature #17323: Ractor::LVar to provide ractor-local storage
I don't like the name because it shadows - implies MVAR, TVAR which are known in the functional programming world. dsisnero (Dominic Sisneros)
03:41 PM Bug #17497: Ractor performance issue
I also made 2 posts about strange performance testing results (with sources) and some conclusions.
In my case, 2 ractors work 3-times longer than doing the same payload in the main thread.
https://www.reddit.com/r/ruby/comments/kpmt7...
inversion (Yura Babak)
03:17 PM Feature #12607: Ruby needs an atomic integer
I agree this should be added to core because of ractor and #17433. dsisnero (Dominic Sisneros)
12:06 PM Feature #12607: Ruby needs an atomic integer
FWIW, I think an atomic integer makes sense in core, because it's easier to optimize it that way.
But, since it seems a lot nicer to support fixnums and bignums (not just fixnums), and notably the Integer class is now used for both, I th...
Eregon (Benoit Daloze)
03:14 PM Feature #14706: Atomic Integer incr/decr
Feature #12607 - dsisnero (Dominic Sisneros)
10:34 AM Feature #14706 (Closed): Atomic Integer incr/decr
Closed due to duplication. nobu (Nobuyoshi Nakada)
02:51 PM Bug #17516: forking in a ractor causes Ruby to crash
This must be a bug.
Besides there is a technical difficulty to fork a multi-Ractor program (or, there is a technical difficulty to combine pthread and fork in general). I didn’t think we should allow such operation.
Further reading...
shyouhei (Shyouhei Urabe)
11:10 AM Bug #17516: forking in a ractor causes Ruby to crash
ruby --version
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-darwin20]
pkmuldoon (Phil Muldoon)
10:56 AM Bug #17516 (Closed): forking in a ractor causes Ruby to crash
I just want to point out, there's absolutely no reason to do this, but
r = Ractor.new do
Process.fork()
end
Will cause:
<internal:ractor>:267: warning: Ractor is experimental, and the behavior may change in future versions ...
pkmuldoon (Phil Muldoon)
12:58 PM Revision 939729dd (git): fix result of example [ci skip]
no6v (Nobuhiro IMAI)
12:49 PM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
I'm pretty sure it is intentional. That function calls `rb_filesystem_encoding` https://github.com/ruby/ruby/blob/d968829afa19c31e9461fd545cbd21250778ce6e/file.c#L3696
byroot (Jean Boussier)
11:32 AM Bug #17517 (Closed): File.expand_path returns us-ascii when both arguments are ascii compat
Is this intentional?
```ruby
p __dir__.encoding #=> #<Encoding:UTF-8>
p 'hoge'.encoding #=> #<Encoding:UTF-8>
p File.expand_path('hoge', __dir__).encoding #=> #<Encoding:US-ASCII>
```
```
% docker run -it --rm ghcr.io/ruby/...
znz (Kazuhiro NISHIYAMA)
11:34 AM Misc #17515: tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
I couldn't find that one previously. I am sorry for the useless issue. Thank you for looking into it anyway. fun_with_eval (Fabian Stillhart)
10:09 AM Misc #17515 (Rejected): tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
hsbt (Hiroshi SHIBATA)
09:56 AM Misc #17515: tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
See https://bugs.ruby-lang.org/issues/16483#note-7 znz (Kazuhiro NISHIYAMA)
09:34 AM Misc #17515 (Rejected): tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
I noticed that there is no ".tar.bz2" version of ruby 3.0.0 available on https://cache.ruby-lang.org/pub/ruby/3.0/
Previously a ".tar.bz2" version has been available:
https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0-preview1.tar....
fun_with_eval (Fabian Stillhart)
09:47 AM Misc #16436: hash missing #last method, make it not so consistent (it has #first)
This seems to be a duplicate of my old feature request: https://bugs.ruby-lang.org/issues/12165 fun_with_eval (Fabian Stillhart)
08:34 AM Revision 06964938 (git): strip trailing spaces [ci skip]
nobu (Nobuyoshi Nakada)
07:04 AM Bug #17514 (Closed): Expose some Ractor's C-APIs to try making Ractor utilities
https://bugs.ruby-lang.org/issues/17323 was rejected, but I think it is valuable to try it by making external gems.
However, I missed to include some features to make it in C-extensions.
d968829afa19c31e9461fd545cbd21250778ce6e is a ...
ko1 (Koichi Sasada)
07:03 AM Revision d968829a (git): expose some C-APIs for ractor
expose some C-APIs to try to make ractor utilities on external gems.
* add
* rb_ractor_local_storage_value_lookup() to check availability
* expose
* rb_ractor_make_shareable()
* rb_ractor_make_shareable_copy()
* rb_proc_isolate(...
ko1 (Koichi Sasada)
07:02 AM Revision d9fdca81 (git): 600x larger timeout for Reline
I didn't notice it's msec. 2.5s is too short.
http://ci.rvm.jp/results/trunk-mjit-wait@phosphorus-docker/3311385
k0kubun (Takashi Kokubun)
05:57 AM Revision 954d6c74 (git): remove invalidated cc
if cc is invalidated, cc should be released from iseq. ko1 (Koichi Sasada)
05:57 AM Revision 442bd0e9 (git): show more info about imemo_callcache
ko1 (Koichi Sasada)
04:52 AM Revision fa8295cc (git): [ruby/bigdecimal] Rename BDIGIT to DECDIG
https://github.com/ruby/bigdecimal/commit/686487d942 Kenta Murata
04:39 AM Revision 7da06c04 (git): Need to convert the return value of rb_big_cmp
Kenta Murata
01:56 AM Revision f289f8ae (git): [ruby/bigdecimal] Optimize the conversion from small Bignum
https://github.com/ruby/bigdecimal/commit/4792a917d8 Kenta Murata
01:50 AM Misc #17480: DevelopersMeeting20210113Japan
* [Bug #17429] Prohibit include/prepend in refinement modules (jeremyevans0)
* I've added a pull request for this, is it OK to merge?
* Do we want to implement a feature to copy methods from a module into a refinement, such as the ...
jeremyevans0 (Jeremy Evans)
01:49 AM Bug #17429: Prohibit include/prepend in refinement modules
I've added a pull request for this: https://github.com/ruby/ruby/pull/4029 jeremyevans0 (Jeremy Evans)
12:43 AM Bug #17512 (Closed): ostruct super regression
Fixed and released as 0.3.2, thanks! marcandre (Marc-Andre Lafortune)
12:25 AM Revision 31854403 (git): [ruby/bigdecimal] Check the function availabilities separately
https://github.com/ruby/bigdecimal/commit/cf839a34c8
https://github.com/ruby/bigdecimal/commit/75db4dabb9
Kenta Murata

01/05/2021

11:35 PM Revision a0a6293e (git): [ruby/ostruct] Bump version
Marc-Andre Lafortune
11:35 PM Revision e8945d5e (git): * 2021-01-06 [ci skip]
git[bot]
11:34 PM Revision e13f41e0 (git): [ruby/ostruct] Allow ostruct to return a value on super (#4028)
This fixes cases where you can super in something that inherits from OpenStruct
Co-authored-by: John Hawthorn <john@hawthorn.email>
Adam Hess
11:05 PM Bug #17512 (Assigned): ostruct super regression
hsbt (Hiroshi SHIBATA)
08:24 PM Bug #17512 (Closed): ostruct super regression
In ruby 3.0, Calling super on ostruct always returns nil. This is a regression in ruby 3.0 introduced when fixing another issue.
introduced by:
- https://bugs.ruby-lang.org/issues/12136
- https://github.com/ruby/ruby/commit/e026e18...
HParker (Adam Hess)
09:25 PM Bug #17489: Ractor segfaults
During my Ractors tests I had segfaults many times and easy to reproduce (in my environment).
The same code crashes on Linux and Windows10 (sometimes with other numbers of iterations or workers).
More Ractors seems to increase the seg...
inversion (Yura Babak)
01:34 AM Bug #17489 (Assigned): Ractor segfaults
Thank you. I can confirm the reproducing. This issue is maybe from the lack of synchronization for the constant table. ko1 (Koichi Sasada)
08:18 PM Feature #14706: Atomic Integer incr/decr
should we revisit this now that we have ractor and Feature #17433 dsisnero (Dominic Sisneros)
07:43 PM Bug #17193 (Closed): Endless method definition doesn't work with lambdas in IRB
As @taiyoslime said, I confirmed that it was fixed in https://github.com/ruby/irb/pull/131. aycabta (aycabta .)
06:55 PM Bug #17503 (Closed): Typing an invalid percent string crashes irb
Thank you for the reporting. This is fixed by https://github.com/ruby/irb/pull/163. aycabta (aycabta .)
04:46 PM Feature #17316: On memoization
Dan0042 (Daniel DeLorme) wrote in #note-8:
> marcandre (Marc-Andre Lafortune) wrote in #note-3:
> ...
Indeed. I refactored it to use `Ractor.current[]` and a `WeakMap`. I removed the other ways as I can't think of a case where this isn...
marcandre (Marc-Andre Lafortune)
03:55 PM Bug #17497: Ractor performance issue
Just to be clear, there may be two different issues:
1) Ruby 2.x vs Ruby 3.0 performance regression. This can be important to figure out, but is *not* why I opened this issue.
2) Threads vs Ractor in Ruby 3.0. My tests are all in R...
marcandre (Marc-Andre Lafortune)
09:07 AM Bug #17497: Ractor performance issue
with perf (with `--call-graph dwarf`) option, I may figure out the big difference:
```
master:
- 63.72% 6.23% miniruby miniruby [.] inject_op_i
- 57.49% inject_op_i ...
ko1 (Koichi Sasada)
08:08 AM Bug #17497: Ractor performance issue
master_ruby and ruby was same, so not needed.
with version information:
```
26_mini ruby 2.6.7p148 (2020-06-14 revision 67884) [x86_64-linux]
27_mini ruby 2.7.3p139 (2020-10-11 revision d1ba554551) [x86_64-linux]
miniruby ruby...
ko1 (Koichi Sasada)
07:47 AM Bug #17497: Ractor performance issue
flash report;
```ruby
Warning[:experimental] = false if defined? Warning[]
def task_inject
(1..10_000_000).inject(:+)
end
alias task task_inject
# p method(:task)
MODE = (ARGV.shift || :r_parallel).to_sym
TN = 4
c...
ko1 (Koichi Sasada)
04:44 AM Bug #17497: Ractor performance issue
ko1 (Koichi Sasada) wrote in #note-4:
> Thank you for the report. Let me investigate more.
> ...
I wanted to compare CPU-bound processes (which should benefit from Ractor) to IO-bound processes (which should have similar benchmarks if ...
marcandre (Marc-Andre Lafortune)
04:23 AM Bug #17497: Ractor performance issue
Thank you for the report. Let me investigate more.
(just curious) why is the name "CPU"?
ko1 (Koichi Sasada)
02:13 PM Revision 3108ad7b (git): [DOC] Fix grammar: "is same as" -> "is the same as"
stomar (Marcus Stollsteimer)
02:10 PM Revision 3d439447 (git): Fix a typo [ci skip]
znz (Kazuhiro NISHIYAMA)
01:43 PM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
Thanks for the merge!
My running Ruby on ARM Android is JUST FOR FUN :-)
I think it would be more productive to prepare a CI for AArch64 Android if you could, rather than for nearly out-of-date 32-bit ARM Android.
xtkoba (Tee KOBAYASHI)
05:02 AM Bug #17511: Segmentation fault when compiled with -O2 or higher on ARM Android
Thank you, I've imported your patch.
BTW, I'm curious for what purpose you are attempting to build Ruby for Android.
As I said, we currently have no CI or development environment for Arm Android.
So it is difficult for us to test th...
mame (Yusuke Endoh)
04:59 AM Bug #17511 (Closed): Segmentation fault when compiled with -O2 or higher on ARM Android
Applied in changeset commit:git|b9c1b3f8d82b6f2517786b2f9e06683909af34c3.
----------
configure.ac: disable using __builtin_setjmp on ARM Android
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17511]
mame (Yusuke Endoh)
12:26 PM Revision 83e62d77 (git): [ruby/io-console] Shrink struct query_args
https://github.com/ruby/io-console/commit/720be0a3e5 nobu (Nobuyoshi Nakada)
12:26 PM Revision 42723959 (git): [ruby/io-console] Pre-define chomp! ID
https://github.com/ruby/io-console/commit/028e1c9497 nobu (Nobuyoshi Nakada)
12:26 PM Revision ead8d89b (git): [ruby/io-console] Ignore chomp! result and return the modified string
https://github.com/ruby/io-console/commit/09e5ccc729 nobu (Nobuyoshi Nakada)
12:24 PM Revision 06454a94 (git): sync_default_gems.rb: added -a option
The option to merge all commits since the commit merged in the
last prefixed commit.
nobu (Nobuyoshi Nakada)
12:23 PM Revision 075824eb (git): sync_default_gems.rb: reduced accesses to REPOSITORIES
nobu (Nobuyoshi Nakada)
09:07 AM Revision 903af74b (git): [ruby/irb] Ensure to restore $VERBOSE
https://github.com/ruby/irb/commit/cef474a76a nobu (Nobuyoshi Nakada)
09:06 AM Revision 0123bc9d (git): [ruby/irb] Use error tokens if there are no correct tokens in the same place
For example, the broken code "%www" will result in only one error token.
https://github.com/ruby/irb/commit/9fa39a7cf3
aycabta (aycabta .)
09:06 AM Revision 5a1866ca (git): [ruby/irb] Use Ripper::Lexer#scan to take broken tokens
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/54f90cb6c9
aycabta (aycabta .)
09:06 AM Revision 505e01fe (git): [ruby/irb] Heredoc may contain multiple newlines in a single token
Use the start token as the indentation criteria so that it works properly in
heredoc.
ref. https://github.com/ruby/reline/pull/242
https://github.com/ruby/irb/commit/9704808dfd
aycabta (aycabta .)
09:06 AM Revision 50125123 (git): [ruby/irb] Handle indentations related to keyword "do" correctly
This fixes ruby/irb#158.
https://github.com/ruby/irb/commit/964643400b
aycabta (aycabta .)
09:05 AM Revision e72a6ed4 (git): [ruby/irb] Escape invalid byte sequence in Exception
This fixes ruby/irb#141.
https://github.com/ruby/irb/commit/0815317d42
aycabta (aycabta .)
09:04 AM Revision cce72a24 (git): [ruby/irb] Newline in oneliner def doesn't reset indent
This closes ruby/irb#132.
https://github.com/ruby/irb/commit/43456dcf5e
aycabta (aycabta .)
07:50 AM Revision e91160f7 (git): set RUBY_ON_BUG on runruby rule.
set RUBY_ON_BUG='gdb -x $(srcdir)/.gdbinit -p' to catch SEGV
on `make runruby` rule.
ko1 (Koichi Sasada)
04:59 AM Revision b9c1b3f8 (git): configure.ac: disable using __builtin_setjmp on ARM Android
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17511] mame (Yusuke Endoh)
04:39 AM Bug #14480: miniruby crashing when compiled with -O2 or -O1 on aarch64
Looks like the status of `__builtin_setjmp` is very complicated:
[The documentation of GCC](https://gcc.gnu.org/onlinedocs/gcc/Nonlocal-Gotos.html) says:
> GCC provides the built-in functions __builtin_setjmp and __builtin_longjmp ...
mame (Yusuke Endoh)
04:39 AM Revision f2d0d4cb (git): RDoc: Enhanced introduction for Enumerable (#4004)
* RDoc: Enhanced introduction for Enumerable
* RDoc: Enhanced introduction for Enumerable
* RDoc: Enhanced introduction for Enumerable
burdettelamar (Burdette Lamar)
04:14 AM Revision 515d6b47 (git): [ruby/irb] Stringify when a non-object is passed to PP#text
If a nested object is passed to #pp, it may be sometimes passed to the #text
method as an object without being stringified.
This is fixed on the Ruby main repository;
https://github.com/ruby/ruby/commit/433a3be86a811de0b4adbb92e054ee3a6...
aycabta (aycabta .)
03:59 AM Revision 451b4560 (git): [ruby/io-console] [DOC] Note that IO#getpass returns a chomped string
IO#getpass uses String#chomp! on the read input line.
https://github.com/ruby/io-console/commit/1e98c93bc8
stomar (Marcus Stollsteimer)
03:36 AM Bug #17508 (Assigned): io-console versioning
hsbt (Hiroshi SHIBATA)
03:19 AM Feature #17496: Add constant Math::TAU
@jzakiya I guess the resources you've listed up in the comment #9 are only describing tau's advantages or pi's disadvantages. They are not the evidence that shows the tau is usually used.
Why [math-tau.gem](https://rubygems.org/gems/...
mrkn (Kenta Murata)
02:53 AM Revision 3adf84a0 (git): Commented out the sh-specific code, in cmd.exe
nobu (Nobuyoshi Nakada)
02:24 AM Bug #15499 (Assigned): Breaking behavior on ruby 2.6: rb_thread_call_without_gvl doesn't invoke unblock_function when used on the main thread
Thank you for your report. I can reproduce the issue.
```ruby
Thread.new{ Ractor.receive }
Ractor.receive
```
It shouldn't be a `Ractor.receive`, but the condition are:
* Make two or more threads.
* All threads are waiting f...
ko1 (Koichi Sasada)
02:16 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
ko1 (Koichi Sasada) wrote in #note-7:
> If we allow to require from non-main ractors, the only problem is `$LOADED_FEATURES`?
There are some limitations in non-main ractors, in particular no non-shareable constants, so if a gem is lo...
marcandre (Marc-Andre Lafortune)
01:39 AM Bug #17420: Unsafe mutation of $" when doing non-RubyGems require in Ractor
Current `require` behavior with ractors are not well considered and we need to consider it.
> Maybe a solution would be to do all require in the main Ractor?
Yes, This is one good option. But not sure it is only one solution...
...
ko1 (Koichi Sasada)
01:41 AM Bug #17477 (Closed): Ractor and pp incompatibility
continue to discuss on #17420. ko1 (Koichi Sasada)
01:23 AM Bug #17491: `./configure' unsuccessful on Android NDK cross-build
I've committed your patch, thanks! mame (Yusuke Endoh)
01:23 AM Bug #17491 (Closed): `./configure' unsuccessful on Android NDK cross-build
Applied in changeset commit:git|449ef72cb97ae57e57c523d2252528f8eb7b9d3e.
----------
configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17491]
mame (Yusuke Endoh)
01:16 AM Revision 449ef72c (git): configure.ac: Stop auto-detection of __ANDROID_API__ when cross-compiling
A patch from Tee KOBAYASHI <xtkoba+ruby@gmail.com>. [Bug #17491] mame (Yusuke Endoh)
 

Also available in: Atom