Project

General

Profile

Activity

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

11/11/2021

11:47 PM Bug #18330 (Closed): Make failure on 32-bit Linux (Android) with Clang due to implicit 64-to-32-bit integer truncation
Observed in crossruby CI for armv7a-android30 (http://rubyci.s3.amazonaws.com/crossruby/crossruby-master-armv7a-andro... xtkoba (Tee KOBAYASHI)
09:52 PM Bug #18329 (Closed): Calling super to non-existent method dumps core
peterzhu2118 (Peter Zhu)
04:57 PM Bug #18329: Calling super to non-existent method dumps core
Thank you for the report. I have a fix prepared here: https://github.com/ruby/ruby/pull/5108 peterzhu2118 (Peter Zhu)
05:49 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
It seems like C -> builtin conversion makes method calls with keyword arguments faster, but C seems faster on method ... k0kubun (Takashi Kokubun)
01:13 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
Current status:
```
$ cat /tmp/a.yml
benchmark:
- Time.at(0)
$ benchmark-driver -v --rbenv '3.0.0;before;after' /...
k0kubun (Takashi Kokubun)
02:06 PM Feature #18296: Custom exception formatting should override `Exception#full_message`.
Eregon (Benoit Daloze) wrote in #note-7:
> mame (Yusuke Endoh) wrote in #note-6:
> > Does this proposal include tha...
mame (Yusuke Endoh)
11:38 AM Feature #18296: Custom exception formatting should override `Exception#full_message`.
While initially thinking about this issue I kind of forgot `full_message` includes the backtrace (the name doesn't ma... Eregon (Benoit Daloze)
11:07 AM Feature #18296: Custom exception formatting should override `Exception#full_message`.
mame (Yusuke Endoh) wrote in #note-6:
> Does this proposal include that the ruby interpreter should use `#full_messa...
Eregon (Benoit Daloze)
05:49 AM Feature #18296: Custom exception formatting should override `Exception#full_message`.
TBH I'm unsure if I could understand what you propose. It would be very helpful if you could create a proof-of-concep... mame (Yusuke Endoh)
01:52 PM Bug #18170: Exception#inspect should not include newlines
Eregon (Benoit Daloze) wrote in #note-19:
> BTW it seems `irb` disables `error_highlight` somehow:
Because irb us...
mame (Yusuke Endoh)
10:28 AM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
shyouhei (Shyouhei Urabe) wrote in #note-13:
> Fix merged ATM to delete the attribute, for the sake of compatibility...
ukolovda (Dmitry Ukolov)
08:30 AM Feature #18280: Allow rb_utf8_str_new_cstr(NULL)
Fix merged ATM to delete the attribute, for the sake of compatibility.
What to do with those other functions shall...
shyouhei (Shyouhei Urabe)
10:10 AM Feature #10917: Add GC.stat[:total_time] when GC profiling enabled
> for experts who want to tuning the GC performance. So I think the difference (ns, ms in Integer and sec in Float) i... byroot (Jean Boussier)
09:44 AM Feature #10917: Add GC.stat[:total_time] when GC profiling enabled
* `GC.total_time` returns measured total time in nano seconds.
* `GC.stat(:time)` (and Hash) returns measured total ...
ko1 (Koichi Sasada)
09:23 AM Feature #10917: Add GC.stat[:total_time] when GC profiling enabled
I cleanup the patch:
https://github.com/ruby/ruby/pull/4757
GC measurement feature
* `GC.measure_tot...
ko1 (Koichi Sasada)

11/10/2021

11:46 PM Bug #18329 (Closed): Calling super to non-existent method dumps core
The following code runs on Ruby 2.7.4 and doesn't produce a core dump. On Ruby 3.0.0, 3.0.2 and 3.1.0-preview 1 the f... lewispb (Lewis Buckley)
07:05 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
On current master I get `6044704` i/s and `5368058` i/s on 3.0.2, 11.2% slower. Eregon (Benoit Daloze)
07:02 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
FYI in TruffleRuby when we need to know if an argument is passed or not we use a default value of `undefined` which w... Eregon (Benoit Daloze)
11:19 AM Bug #18293 (Open): Time.at in master branch was 25% slower then Ruby 3.0
byroot (Jean Boussier)
09:18 AM Bug #18293 (Closed): Time.at in master branch was 25% slower then Ruby 3.0
Applied in changeset commit:git|8bcff5604b15fd29f357669dd8cb65a6618c9926.
----------
Tentative fix of subsec to `Tim...
nobu (Nobuyoshi Nakada)
08:44 AM Bug #18293 (Open): Time.at in master branch was 25% slower then Ruby 3.0
I thought and tried it but still 10% slower than 3.0. nobu (Nobuyoshi Nakada)
08:42 AM Bug #18293 (Closed): Time.at in master branch was 25% slower then Ruby 3.0
Applied in changeset commit:git|83bdc2f00c4565a091d88399e5a315a96f6afed6.
----------
Simplify default values of `Tim...
nobu (Nobuyoshi Nakada)
08:07 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
FYI, the current iseq is:
```
irb(main)[01:0]> puts RubyVM::InstructionSequence.of(Time.method(:at)).disasm
== d...
k0kubun (Takashi Kokubun)
07:32 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
I don't understand why we need to detect wether the parameters were passed, why can't we just have default values?
...
byroot (Jean Boussier)
04:24 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
`Time.at` has complicated default arguments. I believe that would result in 5 local variable assignments in VM and be... k0kubun (Takashi Kokubun)
06:08 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Lack of codesigning on Apple Silicon is an excellent guess, but unfortunately does not seem to be the cause here as T... ccaviness (Clay Caviness)
05:50 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Sure. I had suspected that at some point so I checked the signature using `codesign -dvvvvv`. But I also just repeate... timsutton (Tim Sutton)
05:25 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
Can you please try `codesign -s - ruby`? Because Apple's arm chip requires the exectutables signed.
I encountered ...
ecnelises (Chaofan QIU)
01:00 PM Feature #6210: load should provide a way to specify the top-level module
Agreed, it could be used to experiment with new ways to load code in a non global manner.
That being said it would...
byroot (Jean Boussier)
12:23 PM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
My initial assessment, based on the changes we made, is that we are potentially incorrectly using `fd` before this PR... ioquatix (Samuel Williams)
09:04 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
Thanks @mame, yes this change adds fiber scheduler hooks for low level file read/write operations and this necessitat... ioquatix (Samuel Williams)
08:06 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
The change caused SEGV on Solaris.
http://rubyci.s3.amazonaws.com/solaris10-gcc/ruby-master/log/20211110T070003Z.f...
mame (Yusuke Endoh)
06:24 AM Feature #18020 (Closed): Introduce `IO::Buffer` for fiber scheduler.
I have merged this. We will follow up with additional changes in new tickets as needed. ioquatix (Samuel Williams)
12:02 PM Misc #18266: DevelopersMeeting20211118Japan
- [Bug #18296] Custom exception formatting should override `Exception#full_message`.
* (mame: you need to write you...
ioquatix (Samuel Williams)
11:58 AM Feature #18296: Custom exception formatting should override `Exception#full_message`.
Also given how this works, I believe we should remove `ErrorHighlight.formatter` from the public interface. https://g... ioquatix (Samuel Williams)
11:57 AM Feature #18296: Custom exception formatting should override `Exception#full_message`.
I think this is a clean and simple proposal/fix, which enables users to choose whether they want that extra informati... Eregon (Benoit Daloze)
11:49 AM Feature #18296 (Closed): Custom exception formatting should override `Exception#full_message`.
After discussing with @eregon, we came to the conclusion that the current implementation of `did_you_mean` and `error... ioquatix (Samuel Williams)
11:26 AM Feature #18033: Time.new to parse a string
If I might add a nitpick, the actual format is RFC 3339, which is pretty much a subset of ISO 8601.
But yes, +1 to...
byroot (Jean Boussier)
10:44 AM Feature #18033: Time.new to parse a string
Like @ioquatix and @byroot I think `Time.new` taking a iso-like String is not a good idea.
Also it's technically inc...
Eregon (Benoit Daloze)
11:15 AM Bug #18170: Exception#inspect should not include newlines
ioquatix (Samuel Williams) wrote in #note-18:
> Here is what I want:
>
> - `Exception.new(message).message` is al...
Eregon (Benoit Daloze)
11:10 AM Bug #18170: Exception#inspect should not include newlines
BTW it seems `irb` disables `error_highlight` somehow:
```
$ ruby -ve 'self.instance_off'
ruby 3.1.0dev (2021-11-0...
Eregon (Benoit Daloze)
11:10 AM Bug #18170: Exception#inspect should not include newlines
Here is what I want:
- `Exception.new(message).message` is always `message`.
- Top level unhandled exception hand...
ioquatix (Samuel Williams)
11:03 AM Bug #18170: Exception#inspect should not include newlines
I've been thinking about this again, and I'm not sure if
```
#<Foo:0x00007f15aeb4ba48 @exception=#<NameError: undef...
Eregon (Benoit Daloze)

11/09/2021

04:55 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
I think it'd be good to understand the slow down here.
Is it due to having the method in Ruby and using `Primitive.`...
Eregon (Benoit Daloze)
09:04 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
It's quite a hotspot in our cache serializers:
- https://github.com/Shopify/paquito/blob/aabd8740175f37b382d425d...
byroot (Jean Boussier)
04:38 AM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
Could anybody share use cases (preferably a link to a particular code calling it) where `Time.at`'s performance matters? k0kubun (Takashi Kokubun)
04:47 PM Feature #18035: Introduce general model/semantic for immutability.
@Dan0042 I think you can experiment with that in a gem if you'd like.
I wouldn't call the module `Immutable` to avoi...
Eregon (Benoit Daloze)
04:42 PM Feature #18035: Introduce general model/semantic for immutability.
Re flags, can we just remove the highest FL_USER flags and use it to mark immutable instead?
Those FL_USER flags are...
Eregon (Benoit Daloze)
04:33 PM Feature #18035: Introduce general model/semantic for immutability.
Question for the immutability-minded folks here. What would you think of an `Immutable` refinement like:
```ruby
...
Dan0042 (Daniel DeLorme)
04:32 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
@zverok No, that can't work because then in your example the actual place where the stack is queried is e.g. inside `... Eregon (Benoit Daloze)
01:28 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
Can't the specialized Enumerator be used for that? The downside is it probably would be inconsistent with the existin... zverok (Victor Shepelev)
12:36 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
The non-local return like `return frame` is likely to be rather costly in this case unfortunately.
Stack walking typ...
Eregon (Benoit Daloze)
12:27 PM Feature #16663: Add block or filtered forms of Kernel#caller to allow early bail-out
:+1: this seems a great idea.
I was initially thinking this might be tricky to implement, but it seems most APIs t...
Eregon (Benoit Daloze)
02:45 PM Feature #18127: Ractor-local version of Singleton
ioquatix (Samuel Williams) wrote in #note-4:
> 1. Existing Ruby code is incompatible with Ractor.
> 2. New code tha...
Dan0042 (Daniel DeLorme)
01:19 AM Feature #18127: Ractor-local version of Singleton
I appreciate the work that is being done here. However I am against introducing this feature as currently proposed an... ioquatix (Samuel Williams)
12:43 PM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
No need to say sorry. Thanks for providing fixes. https://github.com/ruby/ruby/pull/5097 resolves segmentation fault ... yahonda (Yasuo Honda)
12:23 PM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Could you please try this PR? https://github.com/ruby/ruby/pull/5097
I knew that the fix was incomplete but I coul...
mame (Yusuke Endoh)
11:02 AM Bug #18282: Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Thanks for the update.
I have attempt to validate the fix, actually it still raises segmentation fault with `ruby 3....
yahonda (Yasuo Honda)
07:15 AM Bug #18282 (Closed): Rails CI raises Segmentation fault with ruby 3.1.0dev supporting `Class#descendants`
Applied in changeset commit:git|428227472fc6563046d8138aab17f07bef6af753.
----------
class.c: calculate the length o...
mame (Yusuke Endoh)
02:09 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
Eregon (Benoit Daloze) wrote in #note-22:
> @mame How do you explain the test I linked above fails (still does with ...
mame (Yusuke Endoh)

11/08/2021

09:27 PM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
@matz thanks, I will rebase and merge it with experimental warning. ioquatix (Samuel Williams)
02:35 AM Feature #18020: Introduce `IO::Buffer` for fiber scheduler.
I am not fully satisfied with the quality of the code (at the last time I checked a while ago), but basically, I agre... matz (Yukihiro Matsumoto)
09:25 PM Bug #18295 (Third Party's Issue): gtk2 won't work with newest versions of its dependencies
This looks like an issue with your setup. You'll need to install version 3.4.3 of the atk, pango, and gdk_pixbuf2 ge... jeremyevans0 (Jeremy Evans)
09:13 PM Bug #18295 (Third Party's Issue): gtk2 won't work with newest versions of its dependencies
I am running an up-to-date version of Artix, which installs ruby-atk 3.4.5-1 ruby-pango 3.4.5-1 and ruby-gdk_pixbuf2 ... zsd (Jim D)
07:24 PM Bug #18286: Universal arm64/x86_84 binary built on an x86_64 machine segfaults/is killed on arm64
I have been hoping to do the same operation here for my org, as a way to distribute a universal Ruby binary that woul... timsutton (Tim Sutton)
07:16 PM Bug #18293: Time.at in master branch was 25% slower then Ruby 3.0
I was able to repro this on Ubuntu 20.04 on an AMD CPU. Looks like moving these functions from `time.c` to `timev.rb`... peterzhu2118 (Peter Zhu)
02:27 PM Bug #18293 (Closed): Time.at in master branch was 25% slower then Ruby 3.0
− | Ruby 3.0.2 | Ruby 3.1.0-dev | result
-- | -- | -- | --
Time.at | 8.223M | ...
watson1978 (Shizuo Fujita)
07:06 PM Feature #18290 (Closed): Deprecate rb_gc_force_recycle
Applied in changeset commit:git|aeae6e2842e1702dfb89b8ae69b48c4f5f64c662.
----------
[Feature #18290] Remove all usa...
peterzhu2118 (Peter Zhu)
06:33 PM Bug #18294 (Closed): error when parsing regexp comment
The following code generates the error "too short escaped multibyte character"
``` ruby
_re = /
foo # \M-ca
/x...
thyresias (Thierry Lambert)
06:13 PM Feature #12125: Proposal: Shorthand operator for Object#method
Hello,
I cannot help myself to see than all proposal are of the form:
` (expression) (shorthand_operator) (method_na...
Azuma-01 (Azuma Eleth)
06:01 PM Misc #18266: DevelopersMeeting20211118Japan
* [Feature #6210] load should provide a way to specify the top-level module (jeremyevans0)
* This is fairly easy t...
jeremyevans0 (Jeremy Evans)
05:33 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
@mame How do you explain the test I linked above fails (still does with latest CRuby) then?
https://bugs.ruby-lang.o...
Eregon (Benoit Daloze)
08:58 AM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
@headius
headius (Charles Nutter) wrote in #note-18:
> This is incorrect code.
I believe that my code is corr...
mame (Yusuke Endoh)
03:45 PM Feature #18276: `Proc#bind_call(obj)` same as `obj.instance_exec(..., &proc_obj)`
Eregon (Benoit Daloze) wrote in #note-10:
> I'd assume on that object's singleton class like `instance_exec`, but I ...
Dan0042 (Daniel DeLorme)
01:27 PM Bug #18292 (Closed): 3.1.0-dev `include` cause Module to be marked as initialized
Some subtle change I found while testing our app compatibility with Ruby head:
```ruby
class Mod1 < Module
def...
byroot (Jean Boussier)
11:43 AM Feature #18272: Please replace unsafe SHA1 with another digest algorithm
Another suggestion from our internal discussion:
```
SHA1 should work for you, though it would be better if you c...
pvalena (Pavel Valena)

11/06/2021

01:25 PM Feature #18287: Support nil value for sort in Dir.glob
Eregon (Benoit Daloze) wrote in #note-8:
> ```ruby
> > Integer("x", exception: nil)
> (irb):3:in `Integer': true or f...
Strech (Sergey Fedorov)
12:19 PM Feature #18287: Support nil value for sort in Dir.glob
nobu (Nobuyoshi Nakada) wrote in #note-7:
> For instance,
> ```ruby
> Integer("010", nil) #=> 8
> ```
`base` i...
Eregon (Benoit Daloze)
01:24 AM Feature #18287: Support nil value for sort in Dir.glob
Eregon (Benoit Daloze) wrote in #note-5:
> @jeremyevans0 Do you know any other core method with this behavior?
Th...
nobu (Nobuyoshi Nakada)
12:36 PM Feature #18291: When use =~ with named group, if regex is on the right side, variable not defined.
jeremyevans0 (Jeremy Evans) wrote in #note-1:
> `regexp.rdoc` documents that the literal regexp must be on the left ...
zw963 (Wei Zheng)
12:03 PM Feature #17849: Fix Timeout.timeout so that it can be used in threaded Web servers
Another way would be to default to `Thread.handle_interrupt(Exception => :on_blocking) do` for all threads, which is ... Eregon (Benoit Daloze)
07:57 AM Bug #18264: TracePoint leaks memory
ruby_3_0 75e74993916e9abda1a74164fed5b59fc3d9b7ce merged revision(s) a4d5ee4f31bf3ff36c1a8c8fe3cda16aa1016b12. nagachika (Tomoyuki Chikanaga)
07:45 AM Bug #18252: Backport openssl 2.2.1 to ruby_3_0
Merged at 00e89fe36b57e2d7c4ea269bc827d9806edef5ed. nagachika (Tomoyuki Chikanaga)
05:33 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
`grep` doesn't appear to have the same issue as `to_a`, since it explicitly calls `each` with no arguments (unlike `t... jeremyevans0 (Jeremy Evans)
05:00 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
jeremyevans0 (Jeremy Evans) wrote in #note-5:
> nobu (Nobuyoshi Nakada) wrote in #note-4:
> > Recently I've encount...
nobu (Nobuyoshi Nakada)
02:26 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
nobu (Nobuyoshi Nakada) wrote in #note-4:
> Recently I've encountered similar issue with `grep(regexp, chomp: true)`...
jeremyevans0 (Jeremy Evans)
02:06 AM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
Recently I've encountered similar issue with `grep(regexp, chomp: true)`.
And `IO#each` has the separator and limit ...
nobu (Nobuyoshi Nakada)

11/05/2021

07:06 PM Feature #18287: Support nil value for sort in Dir.glob
Eregon (Benoit Daloze) wrote in #note-5:
> @jeremyevans0 Do you know any other core method with this behavior?
I ...
jeremyevans0 (Jeremy Evans)
06:38 PM Feature #18287: Support nil value for sort in Dir.glob
@jeremyevans0 Do you know any other core method with this behavior?
I am sure they are many dozens that meet my crit...
Eregon (Benoit Daloze)
06:42 PM Misc #18266: DevelopersMeeting20211118Japan
* [Feature #18287] Support nil value for sort in Dir.glob (eregon)
* Let's be consistent for core methods and trea...
Eregon (Benoit Daloze)
08:55 AM Misc #18266: DevelopersMeeting20211118Japan
- [Feature #18273] `Class#subclasses`
- Something we forgot to discuss as part of [Feature #14394].
- There ar...
byroot (Jean Boussier)
03:22 PM Bug #18289 (Closed): Enumerable#to_a should delegate keyword arguments to #each
Applied in changeset commit:git|e83c02a768af61cd0890a75e90bcae1119d8bd93.
----------
Delegate keywords from Enumerab...
jeremyevans (Jeremy Evans)
02:10 PM Bug #18289: Enumerable#to_a should delegate keyword arguments to #each
I've submitted a pull request to fix this: https://github.com/ruby/ruby/pull/5086 jeremyevans0 (Jeremy Evans)
11:11 AM Bug #18289 (Closed): Enumerable#to_a should delegate keyword arguments to #each
`Enumerable#to_a` has always delegated its arguments to `#each`, but it does not handle keyword arguments. This seems... Ethan (Ethan -)
03:21 PM Feature #18291: When use =~ with named group, if regex is on the right side, variable not defined.
`regexp.rdoc` documents that the literal regexp must be on the left hand side in order to assign to local variables, ... jeremyevans0 (Jeremy Evans)
03:12 PM Feature #18291 (Open): When use =~ with named group, if regex is on the right side, variable not defined.
Following code not work.
```rb
if "Billy Zheng" =~ /(?<first_name>\w+)\s+(?<last_name>\w+)/
p first_name
...
zw963 (Wei Zheng)
02:01 PM Feature #18290 (Closed): Deprecate rb_gc_force_recycle
# GitHub PR: https://github.com/ruby/ruby/pull/4363
I'm proposing to deprecate `rb_gc_force_recycle` and make it a...
peterzhu2118 (Peter Zhu)
07:00 AM Bug #18288 (Third Party's Issue): Getting error while installing Pod
I think this is the same issue as #17862, #17922, #17988, and #18071. See also https://github.com/typhoeus/ethon/issu... mame (Yusuke Endoh)
06:34 AM Bug #18288 (Third Party's Issue): Getting error while installing Pod
Getting below error while installing Pod.
You may have encountered a bug in the Ruby interpreter or extension libr...
Ritesh8313 (Ritesh Deopa)
 

Also available in: Atom