Activity
From 02/11/2021 to 02/17/2021
02/17/2021
-
08:44 PM Feature #17640: allow // for comments
- Like you mention, `//` is a Regexp literal, so it seems to me this would be a nonstarter since it'd break a ton of code. How would the parser know whether it's meant to be a Regexp or comment?
I've not found `#` cumbersome at all. It ... -
06:07 PM Feature #17640 (Rejected): allow // for comments
- - ruby uses '#' for comments (from the sh heritage)
- js and css use '//' for comments (from the C++ heritage)
I'd like to discuss,
to allow '//' in ruby code for comments
Motivation:
- writing comments is good
- it's cumbersom... -
06:14 PM Bug #17585: DWARF5 support?
- Just FTR, there are long time outstanding platform specific issues with SIGSEV handler such as #16492 so this might be just coincidence. Not sure though
-
03:53 PM Bug #17585: DWARF5 support?
- For the libbacktrace library, I made a feature request (Feature #17638).
What I feel strange is that the failures were reported to happen only on two platforms, contrary to my experiment in which a crash occurred with x86_64-linux + `... -
08:32 AM Bug #17585: DWARF5 support?
- Excuse me, but the patch in #note-6 is just a scratch and is not expected to work as it is.
And it is highly probable that there exist new attributes from DWARF-5 that are not covered by the patch in #note-5.
Once I thought it would be... -
06:13 PM Misc #17637: Endless ranges with `nil` boundary weird behavior
- What I would like to have in a programming language is standard library explicitly designed.
So my example from the description with range 0 to Nothing speaks for itself.
`0..Float::INFINITY` is pretty intuitive but `0..nil` looks mo... -
05:36 PM Misc #17637: Endless ranges with `nil` boundary weird behavior
- Hi, I proposed and implemented a endless range.
This is a trade-off between early failure and usability/consistency.
While the feature is indeed error-prone in some cases, it is more consistent and useful.
It is possible to allow ... -
02:29 PM Misc #17637: Endless ranges with `nil` boundary weird behavior
- It's not clear what you are proposing. If it is to restore previous behavior, this won't be acceptable because of compatibility.
Note: you should be using `size` (lazy), not `count` (typically exhaustive):
```ruby
(0..nil).size # ... -
11:10 AM Misc #17637: Endless ranges with `nil` boundary weird behavior
- I believe that using `nil` as a signifier of the "open end" is a compromise due to Ruby's ranges polymorphism. You can have range from a string, from time, from date, from any custom comparable class, how you'd signify the "open end" in ...
-
10:49 AM Misc #17637 (Open): Endless ranges with `nil` boundary weird behavior
Basically it's about this https://andycroll.com/ruby/watch-out-for-nils-in-ranges/
Since Ruby 2.6 we have this weird syntax (0..nil) which is really really bug prone
e.g. we have dynamic upper boundary like
```
lower = 0
upp...-
04:17 PM Bug #17639 (Closed): TYPO in define constant
- ソース内で下記の定義が行われていますが、ENABLE_VIRTUAL_TERMINAL_PROCESSING は正しくは 4 です。
```
#ifndef ENABLE_VIRTUAL_TERMINAL_PROCESSING
#define ENABLE_VIRTUAL_TERMINAL_PROCESSING 0x200
#endif
```
コンパイルした環境のシステムヘッダに依存して挙動が変わる場合がありうるので、バイナリによって挙動が違う困っ... -
01:03 PM Feature #17638 (Assigned): Support backtracing with the libbacktrace library
- It seems that Ruby's current `addr2line.c` has trouble with the DWARF 5 debugging format (Bug #17585).
I propose that there be an option to use the libbacktrace library instead of `addr2line.c`.
A patch is attached for that. When u... -
11:15 AM Revision 42a16e59 (git): Removed no-longer used variable
-
09:06 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- nobu (Nobuyoshi Nakada) wrote in #note-12:
> Off topic:
> ...
The ignored gems are not in the `Gemfile`?
If so, it's intentional. Bundler loads only listed gems. -
08:56 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- kou (Kouhei Sutou) wrote in #note-10:
> Maybe most users specify `gem "test-unit"` in their Gemfile. If an user uses Gemfile, the user can't use test-unit without specifying `gem "test-unit"` in Gemfile. Maybe many users are using Gemfi... -
08:47 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- > > I wonder if it would make sense to include test-unit 3.4.0 in the next Ruby 2.7 release (e.g., 2.7.3)?
> ...
In principle I bump up the version of bundle gems only for security fixes.
The users can specify test-unit in Gemfile if t... -
08:06 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- > I wonder if it would make sense to include test-unit 3.4.0 in the next Ruby 2.7 release (e.g., 2.7.3)?
@nagachika What do you think about
> ...
Maybe most users specify `gem "test-unit"` in their Gemfile. If an user uses Gemfile,... -
08:51 AM Bug #17561: The timeout option for Addrinfo.getaddrinfo is not reliable on Ruby 2.7.2
- I agree that this should be removed from Ruby 2.7. In https://gitlab.com/gitlab-org/gitlab/-/issues/11951#note_510756578, we were able to trigger a seg fault by doing this:
```ruby
require 'socket'
loop do
Addrinfo.getaddrinfo(... -
07:06 AM Bug #17634 (Assigned): Ractor code gives me malloc(): unaligned fastbin chunk detected
- Thank you, I could reproduce the issue.
I spent half day to debug, but I couldn't figure out the reason. hmm.
-
12:24 AM Feature #17592: Ractor should allowing reading shareable class instance variables
- Additionally, my suggestion would make synchronization not necessary across threads in the sense that multiple writes from different threads would simply produce "bad" results but wouldn't crash. It would be up to developpers to use `Mut...
-
12:20 AM Feature #17592: Ractor should allowing reading shareable class instance variables
- Sorry, I should have been more clear. Synchronization for writing: yes (as it should probably already be the case, see my crashing example). I meant that the access for reading wouldn't have to be synchronized I believe.
In short: allowi...
02/16/2021
-
11:33 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- I should add, instance variable writes on modules on TruffleRuby are already synchronized (for modules assigned to a constant, and effectively reachable by multiple threads), and that doesn't seem to be a performance issue at all.
Readi... -
11:26 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- marcandre (Marc-Andre Lafortune) wrote in #note-18:
> I am surprised this is the case. Would it not be possible to have overwriting an existing instance variable be a single memory write operation? Adding a new instance variable would s... -
08:29 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- ko1 (Koichi Sasada) wrote in #note-13:
> (2) Performance concern
> ...
I am surprised this is the case. Would it not be possible to have overwriting an existing instance variable be a single memory write operation? Adding a new instance ... -
12:45 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- ko1 (Koichi Sasada) wrote in #note-16:
> OK, you meant sharable or not, but not about class/module (class/module are typical cases, though).
Isn't it actually only about class/module though?
For a `Fixnum` or a `Ractor.make_shareabl... -
02:14 AM Feature #17592: Ractor should allowing reading shareable class instance variables
- Eregon (Benoit Daloze) wrote in #note-15:
> There is a behavior difference, before Ractor `@foo` would always work and never raise.
> ...
OK, you meant sharable or not, but not about class/module (class/module are typical cases, though... -
11:07 PM Revision 33b8bd97 (git): Remove unreachable if statement in gc_page_sweep
- This if statement is not reachable because `was_compacting` cannot be true when `heap->compact_cursor` is NULL.
-
10:01 PM Feature #17613 (Closed): Eliminate useless catch tables and nops from lambdas
- Applied in changeset commit:git|938e027cdf019ff2cb6ee8a7229e6d9a4d8fc953.
----------
Eliminate useless catch tables and nops from lambdas
Before this commit:
```
$ ruby --dump=insn -e '1.times { |x| puts x }'
== disasm: #<ISeq:<main>@... - 10:00 PM Revision 7bd93293 (git): * 2021-02-17 [ci skip]
-
10:00 PM Revision 938e027c (git): Eliminate useless catch tables and nops from lambdas
- Before this commit:
```
$ ruby --dump=insn -e '1.times { |x| puts x }'
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,22)> (catch: FALSE)
== catch table
| catch type: break st: 0000 ed: 0004 sp: 0000 cont: 0004
| == disasm: #<ISeq:block in <ma... -
07:58 PM Feature #17627: Suggestion: Implement `freeze_values` instance method on collection-like classes.
- Could you provide some actual real-world use cases?
-
05:37 AM Feature #17627: Suggestion: Implement `freeze_values` instance method on collection-like classes.
- I don't think the `Ractor#make_shareable` method and the `shareable_constant_value` pragma address this issue, for a few reasons:
1) they do a recursive deep freeze; `freeze_values` is just for a single level freeze; that is, call `fr... -
03:38 PM Bug #17585: DWARF5 support?
- With the later patch, it crashes even on my x86_64 :(
-
12:00 PM Bug #17585: DWARF5 support?
- xtkoba (Tee KOBAYASHI) wrote in #note-5:
> A patch is attached to avoid segfaults with DWARF5.
I can't see any change with this patch. It fails on ppc64le and armv7hl. Will try the other one.
-
03:25 PM Bug #17636 (Closed): Race condition in check_rvalue_consistency_force when using ractors
- [GitHub PR](https://github.com/ruby/ruby/pull/4191)
When `RGENGC_CHECK_MODE` is enabled and we use multiple ractors, there is a race condition in `check_rvalue_consistency_force` that causes an assertion to fail. It happens when a pag... -
03:21 PM Misc #17635 (Closed): DevelopersMeeting20210317Japan
- # The next dev meeting
**Date: 2021/03/17 13:00-17:00**
Place/Sign-up/Agenda/Log: https://github.com/ruby/dev-meeting-log/blob/master/DevelopersMeeting20210317Japan.md
- Dev meeting *IS NOT* a decision-making place. All decisions ... -
03:21 PM Misc #17535 (Closed): DevelopersMeeting20210216Japan
-
02:19 PM Bug #17634 (Closed): Ractor code gives me malloc(): unaligned fastbin chunk detected
- I'm running this code against ruby 3.0.0
```
# frozen_string_literal: true
def number_combinations
@number_combinations ||= (1..50).to_a.combination(5)
end
def max_sequence_numbers_reached?(elements)
elements.slice_when { ... -
01:35 PM Bug #17201: Backport webrick patch for CVE-2020-25613
- backported at r67893 for ruby_2_5
- 01:35 PM Revision d6d2f179 (git): Backport webrick patch for CVE-2020-25613
- [Backport #17201]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e -
01:33 PM Feature #17633 (Rejected): Wrong place
- Sorry, I've created the report on the wrong place. Can be deleted/closed.
-
01:25 PM Feature #17363: Timeouts
- Through my experience on implementing write_timeout for net/http, there are 2 layers for this type of APIs.
Low-level layer has SELECT (or wait_readable/wait_writable) and nonblock write/read APIs. (IO and Socket)
High-level layer ha... -
12:31 PM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- I mixed experimental and deprecation warnings in my comment just above, sorry for that.
Experimental warnings are already shown in IRB, as they should.
I think deprecation warnings should also be shown in IRB/REPLs in general, if a d... -
12:26 PM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- aycabta (aycabta .) wrote in #note-6:
> IRB is often used by beginners for learning purposes, so I disagree.
I think a warning when using an experimental feature in IRB is a good thing.
For example, if one uses Ractor and that later... -
12:19 PM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- kou (Kouhei Sutou) wrote in #note-4:
> test-unit 3.4.0 enables it by default.
Great to hear!
I wonder if it would make sense to include test-unit 3.4.0 in the next Ruby 2.7 release (e.g., 2.7.3)?
Do you know if test/unit users ty... -
06:56 AM Misc #17591: Test frameworks and REPLs do not show deprecation warnings by default
- IRB is often used by beginners for learning purposes, so I disagree.
-
12:01 PM Feature #15752: A dedicated module for experimental features
- matz (Yukihiro Matsumoto) wrote in #note-27:
> If we put experimental features in a certain place, we need to rewrite our programs when the feature graduated from the experimental state. It would be a pain for users who participate in ex... -
06:54 AM Feature #15752: A dedicated module for experimental features
- Repeating myself, I don't think we need a place for experimental features. If we put experimental features in a certain place, we need to rewrite our programs when the feature graduated from the experimental state. It would be a pain for...
-
11:37 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
- I think 'real' in this context just means 'not complex'.
-
03:25 AM Bug #17631: `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
- IEEE754 follows the extended real number system that is a real number system with positive and negative Infinities. So, at least, `Float::INFINITY.real?` can return `true`. `BigDecimal` also employs the extended real number system, so ...
-
02:53 AM Bug #17631 (Rejected): `Numeric#real?` incorrectly returns true for `NaN` and `INFINITY`
- In mathematics, infinity is not a real number. See https://math.stackexchange.com/a/750787
I don't have a source for this, but I also believe that `NaN` is not a real number.
`Numeric#real?` incorrectly returns `true` for both of the... -
11:34 AM Feature #17544 (Closed): `Time#strftime` supports RFC 3339 UTC for unknown offset local time
- Applied in changeset commit:git|9ef66ce3fcfee06d628b611dbc22026d7cc72d0e.
----------
strftime.c: support unknown offset UTC in RFC 3339 [Feature #17544]
In RFC 3339, -00:00 is used for the time in UTC is known, but the
offset to local ... -
11:34 AM Revision 296a2cab (git): Parse "-00:00" as UTC for the round-trip [Feature #17544]
-
11:34 AM Revision 5b7439bb (git): UTC zone should be still "+00:00" [Feature #17544]
-
11:34 AM Revision 9ef66ce3 (git): strftime.c: support unknown offset UTC in RFC 3339 [Feature #17544]
- In RFC 3339, -00:00 is used for the time in UTC is known, but the
offset to local time is unknown. Support that representation by
`-` flag for `z`. -
11:26 AM Feature #17608: Compact and sum in one step
- I think this is an endless argument. [An idiom "`.compact.max`" is 10x more frequent than "`.compact.sum`"](https://github.com/search?l=Ruby&q=compact.max&type=Code
) in GitHub search. If we introduce `Array#compact_max`, then `#compact... -
07:13 AM Feature #17608: Compact and sum in one step
- I think your code is actually `rel.pluck(:col).compact.sum`.
It can be written as `rel.sum(:col)`
https://api.rubyonrails.org/v6.1.0/classes/ActiveRecord/Calculations.html#method-i-sum -
11:03 AM Feature #17632 (Closed): Improve performance some Numeric methods
- Improve performance some `Nuemric` methods(write in Ruby)
benchmark:
```yml
prelude: |
int = 42
flo = 4.2
benchmark:
real?: |
int.real?
integer?: |
flo.integer?
finite?: |
int.finite?
infinite?: |
... -
10:54 AM Revision 4fc6fb2d (git): Update bundled_gems
-
10:54 AM Revision b1149bf3 (git): Make the commit of updated bundled_gems file
-
09:52 AM Revision 96228e3e (git): Fix a spec failure
- http://ci.rvm.jp/logfiles/brlog.trunk-test.20210216-182358
```
1)
$LOAD_PATH.resolve_feature_path raises LoadError if feature cannot be found FAILED
Expected LoadError but no exception was raised (nil was returned)
/tmp/ruby/v3/src/trunk... -
09:17 AM Feature #16043 (Closed): `$LOAD_PATH.resolve_feature_path` should not raise
- Applied in changeset commit:git|4dfc5496b7b64a063b36cbabe95b43abe9fb48cd.
----------
Add NEWS entry for [Feature #16043] -
09:17 AM Revision 1a84c077 (git): Fix a failure
- http://ci.rvm.jp/results/trunk-test@ruby-sky1/3359644
```
: 1)
: TestEncoding#test_nonascii_library_path [/tmp/ruby/v3/src/trunk-test/test/ruby/test_encoding.rb:157]:
: Exception(LoadError) with message matches to /\[Bug #16382\]/.
``` -
09:13 AM Revision 4dfc5496 (git): Add NEWS entry for [Feature #16043]
- 09:11 AM Revision b75c0cd2 (git): * 2021-02-16 [ci skip]
-
09:11 AM Revision 02151dad (git): `$LOAD_PATH.resolve_feature_path` should not raise
- I think it's more friendly and easier to work with to return `nil` when
the feature is not found in the $LOAD_PATH. -
08:57 AM Bug #17338: ruby-spec stuck in "C-API Kernel function rb_rescue2"
- jeremyevans0 (Jeremy Evans) wrote in #note-4:
> I think @nobu fixed this issue a different way in commit:97cf290063ab940d08819cd96cbcca0ef6d50e4c. If this is still an issue, please reopen.
Thx for pointing this. It helps it seems. I... -
08:27 AM Feature #17593: load_iseq_eval should override the ISeq path
- That's great to hear, let me know if I can help in any way.
-
07:28 AM Feature #17593: load_iseq_eval should override the ISeq path
- Matz accepted this proposal, so I'll try to reconsider the implementation.
-
07:32 AM Feature #14394 (Assigned): Class.descendants
-
07:32 AM Feature #14394: Class.descendants
- Sorry I forget.
I'll implement `Class#descendants`, but not Module because the spec is not clear yet.
-
07:22 AM Bug #17594 (Rejected): Sort order of UTF-16LE is based on binary representation instead of codepoints
- In Ruby, UTF-16 and UTF-32 are not a first citizen. This behavior is by design.
As you say we can implement better comparison, but we didn't think there are no real needs for UTF-16.
If you have real world needs, we can re-consider,... -
04:17 AM Bug #17626: FileUtils.cp may cause utime_failed
- ruby_3_0 551f1236a43ad014522d120dea1f136052879c0a merged revision(s) a681c484a3c5b9235c84bc5c253b4406e498e8cf.
-
04:16 AM Revision 551f1236 (git): merge revision(s) a681c484a3c5b9235c84bc5c253b4406e498e8cf: [Backport #17626]
- Fixed codepage for utime [Bug #17626]
Should use the given codepage argument.
Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org>
---
test/ruby/test_file_exhaustive.rb | 7 +++++++
win32/win32... -
04:13 AM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- ruby_3_0 38f9c832e812f96fd06ca73688ff2baa528c119c merged revision(s) 49d3830f44031174ad450a0ea1cdcdf0eabf9d0e.
-
04:13 AM Revision 38f9c832 (git): merge revision(s) 49d3830f44031174ad450a0ea1cdcdf0eabf9d0e: [Backport #17560]
- Fix documentation for Module#ruby2_keywords
It returns nil, not self.
Fixes [Bug #17560]
---
vm_method.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
04:11 AM Bug #17553 (Assigned): Rails CI shows infinite loop of method_missing since f4ce78d5c139a8825ee2d09f39aef03ef762dfc6
-
12:27 AM Bug #17606: Make failed on i386-cygwin (miniruby.exe aborted)
- Consider the following code, in which all the assertions would be expected to hold:
```C
#include <assert.h>
#include <stddef.h>
/* excerpts from rb_mjit_header.h */
typedef unsigned long VALUE;
typedef unsigned long long rb_serial_t;
t...
02/15/2021
-
09:40 PM Bug #17497: Ractor performance issue
- Koichi -
Huge improvement! Thank you!
I installed Ruby head and now have the following output from `ruby -v`:
```
ruby 3.1.0dev (2021-02-15T09:29:35Z master 37b90bcdc1) [x86_64-linux]
```
I made minor modifications to your ... -
09:07 PM Bug #16651: Extensions Do Not Compile on Mingw64 with mingw32-make
- Any thoughts?
-
08:36 PM Bug #17607 (Open): ChildProcess vs RUBY_PIPE_NONBLOCK_DEFAULT
- Sorry for chaos, but this is real issue. I was confused for a while, because I forgot to add the `CHILDPROCESS_POSIX_SPAWN=true` to the childprocess test suite to exercise the specific branch. More details is in the chidlprocess [ticket]...
-
04:49 PM Feature #17592: Ractor should allowing reading shareable class instance variables
- ko1 (Koichi Sasada) wrote in #note-14:
> Sorry, I couldn't understand this point.
> ...
There is a behavior difference, before Ractor `@foo` would always work and never raise.
And `@foo =` would only raise if the receiver is frozen.
... -
09:42 AM Feature #17592: Ractor should allowing reading shareable class instance variables
- Eregon (Benoit Daloze) wrote in #note-11:
> This is BTW one thing I dislike about Ractor: @ivar accesses depend on the receiver, if it's a module it's completely different than for all other objects, and requires synchronization.
> ...
S... -
09:35 AM Feature #17592: Ractor should allowing reading shareable class instance variables
- This is a summary for tomorrow's dev-meeting by my understanding.
----
* ko1: This ticket proposal: To maintain global configuration (mutable information), class/module instance variables should be readable from other ractors.
... -
03:53 PM Feature #17593: load_iseq_eval should override the ISeq path
- > __FILE__ will be replaced with a string given at compile time
Yes, that is why I mentioned `__FILE__` would need to be changed to behave like `__dir__`.
> ...
Yes, I have the same feeling. It would make it about 4X times slower... -
11:38 AM Feature #17593: load_iseq_eval should override the ISeq path
- > It would have to be InstructionSequence.load_from_binary(..., filename: name)
`__FILE__` will be replaced with a string given at compile time, so to make it we need to change the compilation strategy.
It increased the runtime overhead... -
10:42 AM Feature #17593: load_iseq_eval should override the ISeq path
- > `InstructionSequence.compile_file(..., filename: name)` can solves it?
Unfortunately no, as it would require to know where the file will be moved.
It would have to be `InstructionSequence.load_from_binary(..., filename: name)` -
05:28 AM Feature #17593: load_iseq_eval should override the ISeq path
- `InstructionSequence.compile_file(..., filename: name)` can solves it? It means making a ISeq with given name. However it doesn't solve the problem if the location name is not decided.
-
05:18 AM Feature #17593 (Assigned): load_iseq_eval should override the ISeq path
-
03:33 PM Bug #17630 (Rejected): '+' doesn't work correctly for some floats (x.07 + y.4 will give z.46999999999997 instead of z.47)
- As they say, this is by design. Closing.
-
02:18 PM Bug #17630: '+' doesn't work correctly for some floats (x.07 + y.4 will give z.46999999999997 instead of z.47)
- You might also want to take a look at this: https://0.30000000000000004.com/
-
01:38 PM Bug #17630: '+' doesn't work correctly for some floats (x.07 + y.4 will give z.46999999999997 instead of z.47)
- Did you read this?
https://bugs.ruby-lang.org/#Floating-point-numbers -
01:35 PM Bug #17630 (Rejected): '+' doesn't work correctly for some floats (x.07 + y.4 will give z.46999999999997 instead of z.47)
- 1.02 + 1.4 will give 2.42 as expected
but not for all cases.
examples for wrong answers:
``` ruby
1.07 + 1.4
-> 2.4699999999999998
255.07 + 5.4
-> 260.46999999999997
480.07 + 5.4
-> 485.46999999999997
```
other numbers w... -
09:29 AM Feature #17479 (Closed): Enable to get "--backtrace-limit" value by "$-B"
- Applied in changeset commit:git|4f47d655e357a7f09943f199969b437a25665ed2.
----------
Added Thread::Backtrace.limit [Feature #17479] -
09:29 AM Revision 37b90bcd (git): [DOC] NEWS for Thread::Backtrace.limit [Feature #17479]
-
09:29 AM Revision 4f47d655 (git): Added Thread::Backtrace.limit [Feature #17479]
-
09:29 AM Revision 522b2566 (git): Added tests for --backtrace-limit option
- 08:16 AM Revision dfd029c9 (git): supports for stack protection for haiku.
-
07:18 AM Misc #17499: Documentation backporting
- @usa
> You should create the backport ticket on redmine (this site) as "Bug" tracker and "Closed" status, with "REQUIRED" backport status.
Unfortunately, I don't have enough rights to use statuses other than `Open`, neither to fil... -
06:59 AM Misc #17499: Documentation backporting
- To adding mame-san's comment,
- You should create the backport ticket on redmine (this site) as "Bug" tracker and "Closed" status, with "REQUIRED" backport status. -
06:56 AM Misc #17499 (Closed): Documentation backporting
- I've asked @usa, one of the branch maintainers. He said "If you want a change to be backported, please create a backport ticket with a master commit or a patch. I will review them and determine whether each of them should be backported o...
-
06:32 AM Feature #17608: Compact and sum in one step
- ko1 (Koichi Sasada) wrote in #note-11:
> Can you count on your app or your observation?
> ...
I searched on my company's private repository (the `***` in the following was replaced by the repository name):
https://github.com/search?q=or... -
05:48 AM Feature #17608: Compact and sum in one step
- > Many use cases of Array#sum are preceded with the compact
Can you count on your app or your observation?
```
ko1@aluminium:~$ gem-codesearch 'compact\.sum' | wc -l
75
```
not so many cases in gem-codesearch. - 01:46 AM Revision 2947ae32 (git): * 2021-02-15 [ci skip]
- 01:46 AM Revision 990b5405 (git): Add a missing semicolon.
-
12:42 AM Feature #16652 (Closed): Use RubyGems facilities to install Gems during Ruby installation
- https://github.com/ruby/ruby/pull/2545 was merged for Ruby 3.1.
02/14/2021
-
03:28 PM Feature #17627: Suggestion: Implement `freeze_values` instance method on collection-like classes.
- I do not see the use case, especially now that we have two safe ways to deep freeze:
1) `Ractor.make_shareable`
2) `# shareable_constant_value: literal`
-
01:31 AM Feature #17627: Suggestion: Implement `freeze_values` instance method on collection-like classes.
- Discussion of the related but different `deep_freeze` feature suggestion is at https://bugs.ruby-lang.org/issues/17145.
-
01:20 AM Feature #17627 (Open): Suggestion: Implement `freeze_values` instance method on collection-like classes.
- Suggestion: Implement `freeze_values` instance method on collection-like classes.
By collection-like classes, I mean classes such as Array, Hash, Set, Struct, OpenStruct, and custom classes containing multiple objects.
There has be... -
02:56 PM Bug #17629: macOS, readline compiled with libedit: adding entries to history doesn't work unless Readline.readline is called before populating it
- I added `Dockerfile` with instructions to build ruby with libedit library to reproduce this bug more easily.
```
docker docker build -t readline-bug . # run inside directory with Dockerfile and bug.rb files
```
To reproduce bug:
```
d... -
01:29 PM Bug #17629 (Closed): macOS, readline compiled with libedit: adding entries to history doesn't work unless Readline.readline is called before populating it
- **Description**
If Ruby's readline extension is linked with libedit library and readline history is populated before `Readline.readline` method is called then items are not available via history navigation mechanism (`up/down` arrows)... - 01:12 PM Revision dbeddfb0 (git): Make global ruby namespace usage explicit
- If the use of the ruby namespace isn't prepended by `::` to make it
explicit that the global ruby namespace is referenced here, it can
clash with other non-global namespace named ruby, e.g.
```
// declaration
namespace myproject {
... -
12:07 PM Bug #17626: FileUtils.cp may cause utime_failed
- Thank you very much!
-
10:46 AM Bug #17626 (Closed): FileUtils.cp may cause utime_failed
- Applied in changeset commit:git|a681c484a3c5b9235c84bc5c253b4406e498e8cf.
----------
Fixed codepage for utime [Bug #17626]
Should use the given codepage argument.
Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org> -
02:29 AM Bug #17626: FileUtils.cp may cause utime_failed
- I have found a solution to this issue. See the attached patch.
BTW I didn't know that special functions must be used to handle non-ASCII filenames with MinGW. -
10:44 AM Revision a681c484 (git): Fixed codepage for utime [Bug #17626]
- Should use the given codepage argument.
Co-Authored-By: Nobuyoshi Nakada <nobu@ruby-lang.org> -
09:34 AM Bug #17628: macOS Ruby 3.0.0 source build compilation errors w/ OpenSSL 3.0.0-alpha12-dev
- There exists a related issue in GitHub: https://github.com/ruby/openssl/issues/369
-
09:16 AM Bug #17628 (Closed): macOS Ruby 3.0.0 source build compilation errors w/ OpenSSL 3.0.0-alpha12-dev
- Following [this guide](https://www.ruby-lang.org/en/documentation/installation/#building-from-source) and [Ruby 3.0.0](https://cache.ruby-lang.org/pub/ruby/3.0/ruby-3.0.0.tar.gz) I attempted to install Ruby 3.0.0 from source on macOS Cat...
-
09:29 AM Bug #17625 (Closed): OpenSSL::Timestamp::Response#failure_info does not work as documented
- Merged the patch at [ruby/openssl@f2d004679a](https://github.com/ruby/openssl/commit/f2d004679a62408a89d7304b229c24e789b94776).
-
08:06 AM Bug #17625: OpenSSL::Timestamp::Response#failure_info does not work as documented
- I want to help try out the patch. However, I have issues compiling Ruby from the source.
It somewhat deviates from the main topic, but here I go anyway.
I followed compiling instructions from the README and got an error that I do not... -
08:47 AM Revision 416956af (git): Set verbose flag at retrying
-
08:41 AM Revision 0dad3410 (git): Directory mapping for default gems
- To uniform directory structures, sometimes files are gathered in
different directory than the upstreams, executable files in
`libexec` for instance. Re-map these files to consistent with the
upstreams. -
07:57 AM Revision 504d6dc4 (git): Revert following rbinstall.rb changes
- Because unexpected names are listed in gemspec files.
* "Fix gemspec only case"
fc56b96b09e477686975c978142e3af9179219cd
* "Refined installation of gemspecs placed other than ext and lib"
31f4dec6373c15a58899f8b86e35d48a7d813bf6 - 05:09 AM Revision ff527e7e (git): Remove binstubs which are generated by `Gem::Installer` now.
- There is no real reason to carry these around, since they can be
generated during the installation. The `Gem::Installer` generates up to
date date stubs, where the racc stubs were of older format and
regenerated anyway. - 05:09 AM Revision 763b8fed (git): Use UnpackedInstaller to install default gems.
- Use UnpackedInstaller for installation of default gems similarly it is
already used to install bundled gems.
This allows to reuse RubyGems functionality instead of custom code full
of exceptions. -
04:20 AM Revision fc56b96b (git): Fix gemspec only case
- 02:07 AM Revision 07a8f09b (git): * 2021-02-14 [ci skip]
-
02:05 AM Revision 31f4dec6 (git): Refined installation of gemspecs placed other than ext and lib
02/13/2021
-
02:52 PM Bug #17625: OpenSSL::Timestamp::Response#failure_info does not work as documented
- It may suffice to substitute `ID2SYM(rb_intern_const("BAD_ALG"))` for `rb_intern_const("BAD_ALG")` and so on in `ext/openssl/ossl_ts.c`.
-
06:35 AM Bug #17625 (Closed): OpenSSL::Timestamp::Response#failure_info does not work as documented
- I was playing around with `OpenSSL::Timestamp` and found that `#failure_info` does not work as documented.
Here what's [the document](https://ruby-doc.org/stdlib-3.0.0/libdoc/openssl/rdoc/OpenSSL/Timestamp/Response.html#method-i-failure... -
01:25 PM Bug #17626: FileUtils.cp may cause utime_failed
- I compiled the following code by `x86_64-w64-mingw32-gcc`:
```
/* -*- coding: utf-8 -*- */
#include <stdio.h>
void touch(char *path) {
FILE *file = fopen(path, "a");
if (file != NULL) fclose(file);
}
int main() {
touch("fooコピー");
... -
11:48 AM Bug #17626 (Closed): FileUtils.cp may cause utime_failed
- FileUtils.cp will cause utime_failed if the file name contains Japanese characters and preserve is true.
This will probably only happen on Windows. It occures on Windows 10 version 2004 build 21301.1010.
``` ruby
require 'fileutil... -
07:55 AM Bug #17338 (Closed): ruby-spec stuck in "C-API Kernel function rb_rescue2"
- I think @nobu fixed this issue a different way in commit:97cf290063ab940d08819cd96cbcca0ef6d50e4c. If this is still an issue, please reopen.
-
07:49 AM Misc #15925 (Closed): Speed up SortedSet#min, #max, #sum etc.?
- SortedSet is no longer part of stdlib, so this can be closed.
-
02:52 AM Bug #17497: Ractor performance issue
- maybe git|813fe4c256f89babebb8ab53821ae5eb6bb138c6 solved the issue.
could you check it? -
02:52 AM Bug #17497 (Closed): Ractor performance issue
- Applied in changeset commit:git|813fe4c256f89babebb8ab53821ae5eb6bb138c6.
----------
opt_equality_by_mid for rb_equal_opt
This patch improves the performance of sequential and parallel
execution of rb_equal() (and rb_eql()).
[Bug #1749... -
02:51 AM Revision 813fe4c2 (git): opt_equality_by_mid for rb_equal_opt
- This patch improves the performance of sequential and parallel
execution of rb_equal() (and rb_eql()).
[Bug #17497]
rb_equal_opt (and rb_eql_opt) does not have own cd and it waste
a time to initialize cd. This patch introduces opt_equal... -
02:14 AM Bug #17624 (Closed): Ractor.receive is not thread-safe
- It does not seem to be possible to have multiple blocked `Ractor.receive` calls concurrently in the same Ractor (but different threads). One may succeed but the others will hang indefinitely, even if messages are present in the queue.
...
02/12/2021
-
07:24 PM Bug #17622 (Closed): Segfault in new Rails app
- Applied in changeset commit:git|15dbaa0b54f10e43976d594ef987da5f51e0c7c1.
----------
[Fixes #17622] Mark and move the previous ep - 07:24 PM Revision 81995797 (git): * 2021-02-13 [ci skip]
-
07:23 PM Revision 15dbaa0b (git): [Fixes #17622] Mark and move the previous ep
-
04:49 PM Bug #17623: irb starts with some local variables already defined
- I think that might be caused by https://bugs.ruby-lang.org/issues/9580#change-88660 cc @marcandre
-
04:08 PM Bug #17623: irb starts with some local variables already defined
- I found that `f` is indeed defined in RubyInstaller's `irb.cmd`:
```
--- original/irb.cmd
+++ RubyInstaller/irb.cmd
@@ -28,7 +28,7 @@
end
if Gem.respond_to?(:activate_bin_path)
-load Gem.activate_bin_path('irb', 'irb', version)
+f = ... -
03:30 PM Bug #17623: irb starts with some local variables already defined
- It reproduces with Ruby 3.0.0-1 (x64) from RubyInstaller, and it seems that `f` has already been defined when the first prompt (`irb(main):001:0> `) appears.
It does not reproduce with my own x64-mingw32 build. -
11:06 AM Bug #17623: irb starts with some local variables already defined
- I cannot reproduce the issue.
```
$ ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x86_64-linux]
$ irb
irb(main):001:0* a = 1
=> 1
irb(main):002:1* def f = a
=> :f
irb(main):003:0> f
Traceback (most recent call last... -
09:27 AM Bug #17623 (Closed): irb starts with some local variables already defined
- ``` ruby
irb(main):001:0> a = 1
=> 1
irb(main):002:0> def f = a
=> :f
irb(main):003:0> f
=> "D:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/irb-1.3.0/exe/irb"
```
I have not idea what it means.
The codes just work fine outside irb.
May... -
08:02 AM Bug #17497 (Assigned): Ractor performance issue
- keithrbennett (Keith Bennett) wrote in #note-17:
> I've tested my benchmark against Ruby head, and performance with multiple cores seem to have degraded. Perhaps I have made an error in my approaches, I don't know. I will paste my resul... -
04:36 AM Feature #17327 (Closed): The Queue constructor should take an initial set of items
- Applied in changeset commit:git|1f0e0dfb228fd14b3f6687539ba274ba6a2d1643.
----------
Thread::Queue.new should accept an Enumerable [Feature #17327]
Enumerable implements #to_a but not #to_array. -
03:21 AM Revision 1f0e0dfb (git): Thread::Queue.new should accept an Enumerable [Feature #17327]
- Enumerable implements #to_a but not #to_array.
-
03:15 AM Revision e8b21054 (git): Define rb_to_array which converts with to_a
-
02:05 AM Feature #17470: Introduce non-blocking `Timeout.timeout`
- @jsc I tried your example but it seems to work fine?
``` ruby
MESSAGE = "Hello World"
def test_timeout_on_main_fiber
message = nil
thread = Thread.new do
scheduler = Scheduler.new
Fiber.set_scheduler scheduler
...
02/11/2021
-
11:30 PM Feature #17363: Timeouts
- This seems like a good idea. Thank you everyone for the great discussion here.
I agree with the following things:
- Move `Timeout` to core.
- Add `Timeout::Error` as base class in core.
- Add new method for predictable timeout during s... -
11:23 PM Feature #17470: Introduce non-blocking `Timeout.timeout`
- @eregon without preemptive scheduling it won't be possible. There are other cases where the GVL is not released, e.g. the sqlite3 gem. In the case of the scheduler, `Timeout.timeout` is completely broken, so this is an improvement any wa...
- 09:56 PM Revision 1a3b68e7 (git): correct the result of casecmp? examples [ci skip]
-
09:26 PM Bug #17622 (Closed): Segfault in new Rails app
- [Pull request on GitHub](https://github.com/ruby/ruby/pull/4175).
There is a segfault in Ruby master and Ruby 3.0.0, but not present in Ruby 2.7.2. A bisect shows that it's present since commit [a53e2850c572135ed657144bc14e47b29c64fa9... -
03:56 PM Bug #17594: Sort order of UTF-16LE is based on binary representation instead of codepoints
- Technically speaking I'm not sure this is a bug per se. The code correctly implements the spec of sorting by byte, but we might consider this a bug in the spec, or a feature request?
### summary for dev meeting
For most encodings, ... -
03:45 PM Revision 2d877327 (git): Make a cyclic prepend not modify ancestors for the receiver
- Check for cyclic prepend before making any changes. This requires
scanning the module ancestor chain twice, but in general modules
do not have large numbers of ancestors. -
03:34 PM Bug #17505: Can `Thread#group` actually be `nil`?
- Perfect, so this confirms the spec has changed a long time ago 👍
-
02:39 PM Bug #17505: Can `Thread#group` actually be `nil`?
- Just FYI
Japanese documents says
```
死んでいるスレッドは nil を返します。
```
Dead thread's group returns `nil` from 1.8.0 to 1.9.0-0.
```
% docker run -it --rm ghcr.io/ruby/all-ruby env ALL_RUBY_SINCE=ruby-1.8 ./all-ruby -e 'th=Thread.sta... - 03:02 PM Revision b83ad029 (git): * 2021-02-12 [ci skip]
-
03:02 PM Revision b83b27cd (git): [ruby/irb] Fix inverse separator condition
- https://github.com/ruby/irb/commit/33f933196f
-
02:53 PM Revision aea40f44 (git): Fixed time_t conversion modifiers for debug
-
02:48 PM Misc #17535: DevelopersMeeting20210216Japan
- * [Bug #17594] Sort order of UTF-16LE is based on binary representation instead of codepoints (dan0042)
* 'a' < 'ā' is true for UTF-16BE and false for UTF-16LE; imho it would be better to have the same result.
* casecmp compares co... -
01:25 PM Revision 81f17857 (git): Merged too-short salt conditions instead of UNREACHABLE_RETURN
-
01:20 PM Revision f3f78f96 (git): [DOC] Improved regexp.rdoc [ci skip]
- * Sub-sectioned "Repetition" section
* Added examples of "Possessive match" -
01:18 PM Revision 8544f51e (git): Comment in sh needs to be the beginning of a word
-
11:36 AM Revision 6eb5b3ac (git): [ruby/irb] The command "irb_info" should show RUBY_PLATFORM
- https://github.com/ruby/irb/commit/39d1cd874f
-
11:31 AM Revision b2d2d25b (git): [ruby/irb] Suppress colorize on Windows tests
- https://github.com/ruby/irb/commit/5be9354cf9
-
11:27 AM Revision d77a42fb (git): [ruby/irb] Suppress error when File::ALT_SEPARATOR is nil
- https://github.com/ruby/irb/commit/96accf3b95
- 10:14 AM Revision c3b2bb09 (git): The Queue constructor should take an initial set of objects
- Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
-
08:25 AM Revision a0216b1a (git): Do not run File.write while Ractors are running
- also make sure all local variables have the __bmdv_ prefix.
-
05:24 AM Revision 27382eb9 (git): Add a benchmark-driver runner for Ractor (#4172)
- * Add a benchmark-driver runner for Ractor
* Process.clock_gettime(Process:CLOCK_MONOTONIC) could be slow
in Ruby 3.0 Ractor
* Fetching Time could also be slow
* Fix a comment
* Assert overriding a private method -
05:14 AM Bug #17560: Does `Module#ruby2_keywords` return `nil` or `self`?
- ruby_2_7 ea222b05571741f36b59f615c2e83b3adafbd398 merged revision(s) 49d3830f44031174ad450a0ea1cdcdf0eabf9d0e.
-
05:13 AM Revision ea222b05 (git): merge revision(s) 49d3830f44031174ad450a0ea1cdcdf0eabf9d0e: [Backport #17560]
- Fix documentation for Module#ruby2_keywords
It returns nil, not self.
Fixes [Bug #17560]
---
vm_method.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-) -
05:10 AM Bug #17572: coerceで作成した(0.0/1)を計算に用いるとコアダンプする
- ruby_2_7 4b6df7f735c10f326f09a44fe38dc10b05ced21c merged revision(s) a55eb9a2af7950d180d9d31ffde2bce66710f44f.
-
05:09 AM Bug #17605: Please backport Apple Silicon arm64 vs arm bugfix to 2.6 and 2.7
- ruby_2_7 f03ba00f40e7c964efcfffc7a761074800ecc1a4 merged revision(s) 43a9a974e276dc49b03ec81ccace0adb534a3d20.
-
05:09 AM Bug #17549: Backport e033c9d7db0 Include missing AvailabilityMacros.h
- ruby_2_7 9cc8b2a672f50fa9a849105353e332d3a72d7b28 merged revision(s) e033c9d7db02a4e8d2973364ecb47744b63aecd3.
-
05:08 AM Bug #17192: ISeq.load_from_binary can cause BUG if binary is a rbinc-derived
- ruby_2_7 f49355a720afe492ea49809e469dce36a9ea961a merged revision(s) 555bd83a8e8b1e859f698089cbbd9ad938159a0e.
-
04:52 AM Revision f03ba00f (git): merge revision(s) 43a9a974e276dc49b03ec81ccace0adb534a3d20: [Backport #17021] [Backport #17605]
- [Bug #17021] Make host_* values consistent with target_*
---
configure.ac | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-) -
04:52 AM Revision 4b6df7f7 (git): merge revision(s) a55eb9a2af7950d180d9d31ffde2bce66710f44f: [Backport #17572]
- Make reciprocal properly of non-integral rational [Bug #17572]
---
rational.c | 2 +-
test/ruby/test_rational.rb | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-) -
04:51 AM Revision 9cc8b2a6 (git): merge revision(s) e033c9d7db02a4e8d2973364ecb47744b63aecd3: [Backport #17549]
- Include missing AvailabilityMacros.h
---
random.c | 4 ++++
1 file changed, 4 insertions(+) -
04:51 AM Revision f49355a7 (git): merge revision(s) 555bd83a8e8b1e859f698089cbbd9ad938159a0e: [Backport #17192]
- Raise when loading unprovided builtin function [Bug #17192]
---
compile.c | 7 +++----
test/ruby/test_iseq.rb | 15 +++++++++++++++
2 files changed, 18 insertions(+), 4 deletions(-) -
04:33 AM Revision 9e66c511 (git): Fix 404 link
-
03:52 AM Bug #16695: Stack consistency error when using the return value
- ruby_2_7 c271c7a225c6175f56f00b785e3034cb4a2b7658 merged revision(s) ce7a053475cbebfb2f3e5ed6614e0ba631541917,1cbb1f1720127b0b34b38c77e27b51b182008699.
-
03:52 AM Revision c271c7a2 (git): merge revision(s) ce7a053475cbebfb2f3e5ed6614e0ba631541917,1cbb1f1720127b0b34b38c77e27b51b182008699: [Backport #16695]
- Adjust sp for `x = false; y = (return until x unless x)` [Bug #16695]
---
compile.c | 8 +++-----
test/ruby/test_syntax.rb | 9 +++++++++
2 files changed, 12 insertions(+), 5 deletions(-)
... -
03:32 AM Bug #17621: Ripper can call on_parse_error multiple times for syntax error. Is this correct?
- > What do you mean by "more context"?
The responses from Ilya here make sense https://twitter.com/schneems/status/1359613202460459010. Basically just because a syntax error is reached it doesn't mean that parsing stops. Multiple error... -
01:02 AM Bug #17621: Ripper can call on_parse_error multiple times for syntax error. Is this correct?
- mauro_oto (Mauro Otonelli) wrote:
> The source it's parsing has a syntax error, so I would only expect one parse error. However, when you execute this code, you see two:
> ...
As you can see with `ruby -c`, it is an expected behavior.
... -
03:31 AM Bug #17313: Backport 9fb60672d55162a92ab7e97b000a7e277458aab1 to Ruby 2.7
- ruby_2_7 29bc77f780bbefca60724e52129f5229aa373551 merged revision(s) 9fb60672d55162a92ab7e97b000a7e277458aab1.
-
03:31 AM Revision 29bc77f7 (git): merge revision(s) 9fb60672d55162a92ab7e97b000a7e277458aab1: [Backport #17313]
- Fix a use-after-free bug reported by ASAN
If a fiber and thread are collected at the same time, the thread might
get collected first and the pointer on the fiber will go bad. I don't
think we need to check wheth...