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... -
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... -
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... -
12:13 PM Revision 66a844fd (git): Define printf qualifier prefix fallbacks
-
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. -
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.
-
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. -
05:00 AM Revision 5e00eeb4 (git): [ruby/matrix] use an exclusive range [Bug #17521]
-
02:39 AM Revision d2aaf865 (git): [ruby/etc] Added fallback definition of RUBY_ATOMIC_EXCHANGE
- https://github.com/ruby/etc/commit/0c5900bd21
-
02:39 AM Revision f6e2c41d (git): [ruby/etc] Check blocking variables at release
- https://github.com/ruby/etc/commit/f017bdfedf
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) - 09:21 PM Revision d8c8b79d (git): [ruby/matrix] Fix 0-th power [Bug #17521] (#4047)
- 08:39 PM Revision 8187228d (git): Fix ractor docs (#4048) [doc]
-
08:13 PM Revision 0e015f93 (git): Adds RDoc summary of Hash methods (#4045)
- * Adds RDoc summary of Hash methods
- 03:47 PM Revision 52257640 (git): * 2021-01-11 [ci skip]
-
03:33 PM Revision 480f436d (git): Suppress constant redefinition warnings
-
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. -
12:29 PM Revision c63552ea (git): Remove possibility of using same seeds
-
11:42 AM Revision 1e827d4c (git): Moved to ruby/actions workflow [ci skip]
-
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.
-
09:19 AM Revision 2adbf01a (git): dtoa.c: make thread-safe by using atomic CAS
-
07:42 AM Revision 34d02631 (git): dtoa.c: constified
- clang seems to locate never modified local data in the const
segment implicitly. -
07:28 AM Revision 63abb5c2 (git): dtoa.c: make compilable independently
- Except for `-Dxmalloc=malloc -Dxfree=free`.
01/09/2021
- 11:45 PM Revision 01aa0360 (git): * 2021-01-10 [ci skip]
- 11:40 PM Revision 2e9b6096 (git): [ruby/bigdecimal] Fix type name
- https://github.com/ruby/bigdecimal/commit/2dad4d17b2
- 11:36 PM Revision 8b53cbaf (git): [ruby/bigdecimal] Avoid casting negative value to size_t
- https://github.com/ruby/bigdecimal/f047b2786f
- 11:35 PM Revision 72d504c1 (git): [ruby/bigdecimal] Use smallest local variable scope in GetVpValueWithPrec
- https://github.com/ruby/bigdecimal/commit/44f26b9aa0
-
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... -
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... -
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 ... -
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... -
01:38 PM Revision 590dc06e (git): Get rid of defining methods for tests in core classes
- Not to interfere in other tests.
- 01:37 PM Revision 161a20df (git): gc fix typo for the timer instruction for ARM64.
- 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 - 11:36 AM Revision be34e31d (git): [ruby/bigdecimal] Add assertions for checking the argument types
- https://github.com/ruby/bigdecimal/commit/96c9ebd886
- 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 - 11:35 AM Revision 89f31252 (git): [ruby/bigdecimal] Add test cases of conversion from Float
- https://github.com/ruby/bigdecimal/commit/28d3836366
-
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
``... -
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.
-
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] -
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. -
04:37 AM Revision 0bb62dcc (git): Fixed a typo [Bug #17522]
-
04:33 AM Revision 7ff0e93f (git): parse.y: handle "duplicated argument name" appropriately on ripper.y
- refs: 733ed1e184
-
03:13 AM Bug #17518: escapeHTML segfaults on armv7hl
- Good to hear that. Thank you!
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)... -
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. -
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({ ...-
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_... -
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... -
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... -
03:59 PM Bug #17518 (Closed): escapeHTML segfaults on armv7hl
- Thx, that helped. Going to set backport flag.
-
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?
-
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... - 03:31 PM Revision 1a3343cf (git): * 2021-01-09 [ci skip]
-
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.
-
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 -
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 -
05:44 AM Revision d4b7e967 (git): should use `assert_include` here.
- Random ordering test can introduce antoher candidate so it should be
`assert_include`. -
05:39 AM Revision abdc634f (git): remove unused decl
-
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 - 04:38 AM Revision 5a221ead (git): * 2021-01-08 [ci skip]
-
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
-
04:25 AM Revision a8f4cbee (git): [ruby/reline] Add acknowledgments and license for rb-readline
- https://github.com/ruby/reline/commit/19df59b916
-
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 -
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 -
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 -
04:25 AM Revision e356b71d (git): [ruby/reline] Remove debug print
- https://github.com/ruby/reline/commit/d7fbaedc6a
-
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
-
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 -
04:25 AM Revision 559f844b (git): irb: Drop lines from backtrace for tests in Ruby repository
-
04:25 AM Revision 111fddd5 (git): [ruby/irb] Fix BACK_TRACE_LIMIT logic
- https://github.com/ruby/irb/commit/30dc5d43fe
-
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 -
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... -
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 -
04:25 AM Revision 4bb683a5 (git): [ruby/irb] fix typo in `IRB::Irb#convert_invalid_byte_sequence`
- https://github.com/ruby/irb/commit/d09d3c3d68
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... -
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 ... -
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... -
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... -
02:44 PM Revision 55e52c19 (git): simplify assertion
- searched_cme is used only this line so the variable is not needed.
-
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).
-
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... -
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()`).
-
06:33 AM Feature #17323: Ractor::LVar to provide ractor-local storage
- `Ractor::LocalVariable` ?
-
11:11 AM Revision 412d26a3 (git): Update bundled_gems
-
07:52 AM Revision 184e82e8 (git): Follow the NDEBUG given to the whole
-
05:55 AM Revision 96ce1d9a (git): rbconfig.rb: extract cpu from RUBY_PLATFORM when universal
-
04:40 AM Revision ee1e690a (git): We don't need "require 'uri'" after "require 'net/http'".
-
04:39 AM Bug #17517: File.expand_path returns us-ascii when both arguments are ascii compat
- Fix a typo in subject.
- 01:21 AM Revision 4d0985a7 (git): * 2021-01-07 [ci skip]
- 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
- 01:19 AM Revision 698d7947 (git): [ruby/bigdecimal] Include TestBigDecimalBase in TestBigDecimalUtil
- https://github.com/ruby/bigdecimal/commit/f732201df1
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 👍.
-
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.
-
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... -
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.
-
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... -
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 ... -
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.
-
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... -
03:17 PM Feature #12607: Ruby needs an atomic integer
- I agree this should be added to core because of ractor and #17433.
-
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... -
03:14 PM Feature #14706: Atomic Integer incr/decr
- Feature #12607 -
-
10:34 AM Feature #14706 (Closed): Atomic Integer incr/decr
- Closed due to duplication.
-
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... -
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] -
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 ... -
12:58 PM Revision 939729dd (git): fix result of example [ci skip]
-
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
-
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/... -
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.
-
10:09 AM Misc #17515 (Rejected): tar.bz2 edition of Ruby 3.0.0 is missing on cache.ruby-lang.org
-
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
-
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.... -
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
-
08:34 AM Revision 06964938 (git): strip trailing spaces [ci skip]
-
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 ... -
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(... -
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 -
05:57 AM Revision 954d6c74 (git): remove invalidated cc
- if cc is invalidated, cc should be released from iseq.
-
05:57 AM Revision 442bd0e9 (git): show more info about imemo_callcache
- 04:52 AM Revision fa8295cc (git): [ruby/bigdecimal] Rename BDIGIT to DECDIG
- https://github.com/ruby/bigdecimal/commit/686487d942
- 04:39 AM Revision 7da06c04 (git): Need to convert the return value of rb_big_cmp
- 01:56 AM Revision f289f8ae (git): [ruby/bigdecimal] Optimize the conversion from small Bignum
- https://github.com/ruby/bigdecimal/commit/4792a917d8
-
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 ... -
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
-
12:43 AM Bug #17512 (Closed): ostruct super regression
- Fixed and released as 0.3.2, thanks!
- 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
01/05/2021
- 11:35 PM Revision a0a6293e (git): [ruby/ostruct] Bump version
- 11:35 PM Revision e8945d5e (git): * 2021-01-06 [ci skip]
- 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> -
11:05 PM Bug #17512 (Assigned): ostruct super regression
-
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... -
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... -
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.
-
08:18 PM Feature #14706: Atomic Integer incr/decr
- should we revisit this now that we have ractor and Feature #17433
-
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.
-
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.
-
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... -
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... -
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 ... -
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... -
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... -
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 ... -
04:23 AM Bug #17497: Ractor performance issue
- Thank you for the report. Let me investigate more.
(just curious) why is the name "CPU"? -
02:13 PM Revision 3108ad7b (git): [DOC] Fix grammar: "is same as" -> "is the same as"
-
02:10 PM Revision 3d439447 (git): Fix a typo [ci skip]
-
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.
-
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... -
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] -
12:26 PM Revision 83e62d77 (git): [ruby/io-console] Shrink struct query_args
- https://github.com/ruby/io-console/commit/720be0a3e5
-
12:26 PM Revision 42723959 (git): [ruby/io-console] Pre-define chomp! ID
- https://github.com/ruby/io-console/commit/028e1c9497
-
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
-
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. -
12:23 PM Revision 075824eb (git): sync_default_gems.rb: reduced accesses to REPOSITORIES
-
09:07 AM Revision 903af74b (git): [ruby/irb] Ensure to restore $VERBOSE
- https://github.com/ruby/irb/commit/cef474a76a
-
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 -
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 -
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 -
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 -
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 -
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 -
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. -
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]
-
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 ... -
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 -
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... -
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 -
03:36 AM Bug #17508 (Assigned): io-console versioning
-
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/... -
02:53 AM Revision 3adf84a0 (git): Commented out the sh-specific code, in cmd.exe
-
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... -
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... -
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...
... -
01:41 AM Bug #17477 (Closed): Ractor and pp incompatibility
- continue to discuss on #17420.
-
01:23 AM Bug #17491: `./configure' unsuccessful on Android NDK cross-build
- I've committed your patch, thanks!
-
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] -
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]