Activity
From 01/18/2023 to 01/24/2023
01/24/2023
-
09:09 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- > I think the implementation issues are solvable but the bigger picture issue of adoption is of course up in the air.
The first step to adoption is to have a case for it that could be used. I believe the case I presented is viable and... -
05:42 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- > It has many issues as can be found on this bug tracker and when using it and as the warning says (Also there are many implementation issues.).
I think the implementation issues are solvable but the bigger picture issue of adoption i... -
11:35 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- > Note that Ractor is far from production-ready.
I am well aware. I just provide a justification and since my case seems to fit the limited scope of this functionality, I wanted to raise the attention.
> ...
This is exactly why I w... -
11:31 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- maciej.mensfeld (Maciej Mensfeld) wrote in #note-4:
> I find this issue important and if mitigated, it would allow me to release production-grade functionalities that would benefit users of the Ruby language.
Note that Ractor is far ... -
04:57 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- Here's a simple reproduction showing that the problem is not send/receive:
```ruby
RACTORS = ARGV.first == "ractor"
J = { rand => rand }.to_json
Ractor.make_shareable(J)
if RACTORS
rs = []
10.times.each do
rs << Ractor.... -
06:34 PM Revision 5eeebd68 (git): Remove function ary_recycle_hash
- Freeing the memory of a Hash should be done by the garbage collector
and not by array functions. This could potentially leak memory if
ary_recycle_hash was not implemented properly. -
05:57 PM Bug #19375: File objects are currently shareable, as are other extension objects that shouldn't be.
- The issue is with `Ractor.make_shareable`
The same issue occurs with Dir, Tempfile, IO objects, the ENV hash. StringIO and CSV have this problem too. Sockets I think have the issue.
For example, the issue with StringIO is that it needs... -
03:54 PM Bug #19375 (Closed): File objects are currently shareable, as are other extension objects that shouldn't be.
- I don't know the internals of file.c but I don't think files are thread-safe.
-
04:50 PM Bug #19373 (Closed): Segmentation fault at 0x00000003000179e8 when running pod install on an M1
-
04:39 PM Bug #19373: Segmentation fault at 0x00000003000179e8 when running pod install on an M1
- This was resolved by uninstalling homebrew and reinstalling. As well as rebuilding/reinstalling cocoapods :)
-
02:35 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
- gsamokovarov (Genadi Samokovarov) wrote in #note-16:
> What if we settle for an API and implement and test it first in the `debug` gem? The `debug` gem does need/has similar functionality for post-mortem debugging. That way, gems like `... -
02:23 PM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- If we use `Hash.new(capacity: 4096)` to set the capacity, then `Hash.new({ capacity: 4096 })` should keep the semantics of: `{ capacity: 4096 }` is the default value of the new Hash.
I think it's a little bit hacky/unclear/source of con... -
02:17 PM Feature #19366: Rename/alias Refinedment#refined_class => #refined_module
- Agreed, I think it's fine to have both `refined_class` and `refined_module`, much like we have {module,class}_{eval,exec}.
-
02:00 PM Bug #19354: Issues with arguments validation in IO.read
- I think the current error could be acceptable if it's clear IO#read is in the backtrace.
But it's not part of the backtrace currently (and on top it's not possible to differentiate IO.read and IO#read from the backtrace):
```
$ ruby -... -
12:40 PM Bug #19374 (Closed): Issue with Ractor.make_shareable with curried procs
- This works, but shouldn't:
```ruby
class Worker
def start(&blk)
blk = blk.curry # bug in ruby allows sharing of non-shareable proc
Ractor.make_shareable(blk)
@ractor = Ractor.new(blk) do |b|
main = b.call
... -
12:30 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
- Your new example, I think, is not possible with the current API.
However, there is a bug in Ruby that I just found that allows it.
```ruby
class Worker
def start(&blk)
blk = blk.curry # bug in ruby allows sharing of non-shareable... -
08:41 AM Revision a20061cb (git): merge revision(s) 72eb33066fa9e7dacb7470cd140b219abe37667e: [Backport #19320]
- Fix off-by-one error in rb_vm_each_stack_value
Applying the following patch to test/erb/test_erb.rb and running that
file will cause Ruby to crash on my machine (macOS 13.1 on M1 Pro):
```
--- a/test/erb... -
07:36 AM Revision 5a73e131 (git): Add tests for variables in `END` block shared with the toplevel
-
02:05 AM Bug #19339: Defining ivar on special constants with @ syntax causes segv
- ruby_3_2 c0df0a85dec77a09308caddb1e1efd4d38fbf7b8 merged revision(s) ed6fbb79e19bf401db0e85447fee955fd10a25c7.
-
01:44 AM Bug #19371 (Assigned): Having Psych 5 installed raises an error during another gem's C-extension installation when parsing YAML
- Thanks for your investigation. I got same report at https://github.com/ruby/psych/discussions/607.
-
01:41 AM Feature #19370 (Assigned): Anonymous parameters for blocks?
- IIRC, matz was negative against it.
-
01:37 AM Bug #19372: Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
- Maybe https://github.com/nobu/ruby/tree/ractor-unshareable-data fixes it?
- 01:35 AM Revision 98081ac7 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.56 to 0.9.58.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.56...v0.9.58)
---
updated-depende...
01/23/2023
- 10:14 PM Revision e23e8f4a (git): [rubygems/rubygems] Bump rb-sys in /test/rubygems/test_gem_ext_cargo_builder/custom_name
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.56 to 0.9.58.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.56...v0.9.58)
---
updated-depende... -
10:03 PM Bug #19373 (Closed): Segmentation fault at 0x00000003000179e8 when running pod install on an M1
- All the logs are in the files.
Context:
I'm trying to run pod install on a react native project that requires a ruby version of 2.7.5 after a react native upgrade. Others on my team have been able to build their projects so I think t... -
09:35 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- I've notified the flori/json people (https://github.com/flori/json/issues/511)
So to update everyone, the dtoa function is called during json generation, not parsing. As this script does both, it's hard to measure it using perf tools. Y... -
10:15 AM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- I find this issue important and if mitigated, it would allow me to release production-grade functionalities that would benefit users of the Ruby language.
I run an OSS project called Karafka (https://github.com/karafka/karafka) that a... -
07:24 PM Bug #19372: Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
- A separate but related issue is that the proc objects are not frozen too, so their ivars can be (re)assigned. I don't know how big an issue that is because
other ractors cannot read/write the ivars but IMO the proc should be frozen. -
07:23 PM Bug #19372 (Closed): Proc objects are not traversed for shareable check during Ractor.make_shareable(prok)
- ```ruby
class Proc
attr_accessor :obj1
def initialize
@obj1 = Object.new
end
end
p = true.instance_eval { Proc.new { puts "hi" } }
Ractor.make_shareable(p)
p "Obj1 frozen?", Ractor.shareable?(p.obj1)
P = p
r = Ra... -
03:49 PM Bug #19371: Having Psych 5 installed raises an error during another gem's C-extension installation when parsing YAML
- I can confirm this issue. We recently experienced it in rack's CI (https://github.com/rack/rack/actions/runs/3955055993/jobs/6776667247#step:3:65). In our case, we were able to easily work around the issue because the gem that was pull...
-
11:15 AM Bug #19371 (Third Party's Issue): Having Psych 5 installed raises an error during another gem's C-extension installation when parsing YAML
- ## Summary
There's an issue on Ruby versions with Psych 4 installed by default (Ruby 2.6 through 3.1) after installing the Psych gem version 5. This problem occurs when a Ruby gem has a C-extension installation script that parses a YAML... -
10:54 AM Feature #19324: Enumerator.product => Enumerable#product
- Just to add a few points:
1. I don't believe "zip with all arguments the same" has really any significant usage: at least, in codebases I looked in (Ruby stdlib, Rails, Rubocop, Sidekiq, my work apps) I can't find any. BTW, the trivia... -
12:07 AM Feature #19324: Enumerator.product => Enumerable#product
- Thinking about this a bit more, I guess both the "first argument is special" (A) and the "all arguments are the same" (B) have use cases. There's probably a third one, which is "all arguments are already in an array" (C). (B) and (C) are...
-
10:40 AM Revision fe733fb6 (git): svn.ruby-lang.org is already EOL
-
10:23 AM Feature #19370 (Closed): Anonymous parameters for blocks?
- Just to clarify: are anonymous parameters delegation is planned to support in blocks?
It would be a nice addition, if it is possible to implement:
```ruby
# data in form [request method, URL, params]:
[
[:get, 'https://google.c... -
10:22 AM Feature #19362 (Open): #dup on Proc doesn't call initialize_dup
- https://github.com/ruby/ruby/pull/7178
-
10:02 AM Revision 1e2523fa (git): Silence dozens of useless warnings from `ranlib` on macOS [ci skip]
-
08:06 AM Revision a22ed3e9 (git): Fix homepage url in gemspec
- GitHub Pages now hosted on *.github.io
-
06:14 AM Revision 4981206b (git): update-coverage needs to build ruby and all C-ext libraries
-
05:55 AM Revision d9fd0483 (git): [rubygems/rubygems] blade is hosted under ruby-lang.org now
- https://github.com/rubygems/rubygems/commit/00fdef8a41
-
04:52 AM Bug #19283: Regex error on ruby 3.2
- This case didn't become error after I tested this regex error case with ruby master branch(https://github.com/ruby/ruby/commit/5abb2ef1532e52f3e5fb63ea25e90a72c8e7d581).
This issue may be resolved by Bug #19273 and PR(https://github.co... -
04:07 AM Revision 5abb2ef1 (git): blade is hosted under ruby-lang.org now
-
03:43 AM Bug #19365: Ractors can access non-shareable values through enumerators
- Or rather, maybe they should be allowed to be passed but the deep clone logic should change? Not sure.
-
03:41 AM Revision d8751c0a (git): [ruby/cgi] blade is hosted under ruby-lang.org now
- https://github.com/ruby/cgi/commit/826ba3140c
- 02:48 AM Revision 93bb4155 (git): [DOC] Change local method to local variable in assignment docs
-
02:47 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- byroot (Jean Boussier) wrote in #note-4:
> What would be the timeline?
> ...
That would be the fastest way.
> > Off-topic: Array.new(capacity: 4096) is not yet available; I wonder if people want Hash.new(capacity: 4096) more than Ar... -
02:47 AM Bug #18119 (Assigned): Ractor crashes when instantiating classes
-
02:46 AM Feature #18919 (Assigned): Ractor: can't share #Method objects
-
02:14 AM Bug #19338 (Assigned): Ruby hangs when ouputting warnings inside ractor with VM lock held
-
02:13 AM Bug #19364 (Assigned): Issue with tracepoint enable/disable across ractors
-
02:10 AM Bug #19369: Small corner-case issue that breaks Ractor isolation: change cloned object from another thread
- If you wanted to fix this one way would be to disable thread creation in the current ractor (main in this case) while deep-cloning in `Ractor.new` or `Ractor#send`. Another idea would be to not call `initialize_clone` during deep-cloning...
-
01:28 AM Bug #19369 (Assigned): Small corner-case issue that breaks Ractor isolation: change cloned object from another thread
- I was looking into how objects are traversed for deep cloning and I came up with a way to break it. I don't think it'll ever happen in real life so it's not really an issue, just
an interesting case. Run with warnings disabled.
```ru... -
02:07 AM Revision 8fded5f5 (git): [ruby/psych] Fix RestrictedYAMLTree allowing the Symbol class should allow all symbols
- Ref: https://github.com/ruby/psych/pull/495
That's how it works for `safe_load`:
```ruby
>> YAML.safe_load(':foo', permitted_classes: [Symbol])
=> :foo
```
So `safe_dump` should mirror that.
https://github.com/ruby/psych/commit/592a75... -
12:34 AM Revision d6232108 (git): [DOC] Fix a link [ci skip]
01/22/2023
-
11:28 PM Bug #19365 (Assigned): Ractors can access non-shareable values through enumerators
-
02:05 PM Bug #19365 (Closed): Ractors can access non-shareable values through enumerators
- I don't think enumerators should be able to be passed to `Ractor.new`
```ruby
obj = Object.new # unshareable value
p obj
Ractor.new([obj].each) {|f| p f.first }.take
``` -
11:26 PM Bug #19368 (Assigned): Small issue with isolated procs and eval
-
06:04 PM Bug #19368: Small issue with isolated procs and eval
- Hopefully this illustrates this small, weird issue a bit more:
```ruby
fails = 0
a = Object.new # non-shareable value
pr_maker = Ractor.current.instance_eval do # instance eval allows make_shareable to work
Proc.new do
Proc.new do... -
05:40 PM Bug #19368 (Assigned): Small issue with isolated procs and eval
- ```
a = Object.new # non-shareable
prok = Ractor.current.instance_eval do
Proc.new do
eval('a')
end
end
prok.call # this should work, we're in the main ractor and the proc is not isolated
Ractor.make_shareable(prok) # thi... -
09:51 PM Bug #19367 (Assigned): Issue with ractor local storage API
-
02:49 PM Bug #19367: Issue with ractor local storage API
- PR here: https://github.com/ruby/ruby/pull/7174
-
02:46 PM Bug #19367 (Closed): Issue with ractor local storage API
- In a non-main ractor, you can do Ractor.main[:key] = 'val', but it only affects storage for Ractor.current, not Ractor.main (which is good!).
I think it should throw a RuntimeError if trying to get/set ractor-local storage for non-curre... -
09:50 PM Feature #19326 (Assigned): Please add a better API for passing a Proc to a Ractor
-
07:45 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
- New example:
```ruby
class Worker
def initialize(&block)
@block = block
end
def start
block = Ractor.make_shareable(@block)
@ractor = Ractor.new(block) do |callable|
message = receive
callable.call(messa... -
05:15 PM Bug #19343 (Closed): Integer#ceildiv should respect #coerce
- Applied in changeset commit:git|20a85ab6119964d1ff129f9c6676fa2a7b2a2be4.
----------
Fix Integer#ceildiv to respect #coerce (#7118)
Fixes [Bug #19343] -
03:44 PM Misc #13072 (Closed): Current state of date standard library
-
03:43 PM Feature #15527 (Closed): Redesign of timezone object requirements
-
03:38 PM Misc #16464 (Closed): Which core objects should support deconstruct/deconstruct_keys?
-
03:37 PM Misc #19247 (Closed): Ruby 3.2 documentation problems tracker
- I did what I could before the release, the other problems can be handled separately through the year.
-
03:23 PM Feature #19324: Enumerator.product => Enumerable#product
- > I believe quite many people are in favor of `Array.product` and/or `Array.zip`. I wish the implementation/existence of `Enumerator.product` will work as a pressure towards implementing these methods as well.
I can empathize with tha... -
02:29 PM Feature #19366 (Closed): Rename/alias Refinedment#refined_class => #refined_module
- In #12737, `Refinement#refined_class` is introduced.
As "module" is more generic concept than "class", the name misleadingly implies that either this method doesn't returns refined _modules_, or modules can't be refined. This is obvio... -
12:03 PM Feature #19362: #dup on Proc doesn't call initialize_dup
- > What do you expect as self of `Proc#initialize_dup`?
@nobu "the current proc object", like in any `initialize[...]`. I am not sure I understand why is it impossible. From layman's point of view, those two should work the same way:
... -
01:47 AM Feature #19362 (Feedback): #dup on Proc doesn't call initialize_dup
-
01:47 AM Feature #19362: #dup on Proc doesn't call initialize_dup
- While `String.allocate` and `Array.allocate` are defined, `Proc.allocate` is not.
What do you expect as `self` of `Proc#initialize_dup`? -
10:16 AM Feature #15778: Expose an API to pry-open the stack frames in Ruby
- What if we settle for an API and implement and test it first in the `debug` gem? The `debug` gem does need/has similar functionality for post-mortem debugging. That way, gems like `web-console` can depend on the `debug` standard gem whic...
-
09:53 AM Revision 20a85ab6 (git): Fix Integer#ceildiv to respect #coerce (#7118)
- Fixes [Bug #19343]
-
02:32 AM Revision cad09f70 (git): Adjust braces [ci skip]
- 12:49 AM Revision f5ea43a2 (git): More coverage tests & specs. (#7171)
- * Add spec for eval and line coverage.
* Add test for main file coverage.
01/21/2023
-
10:54 PM Bug #19364 (Assigned): Issue with tracepoint enable/disable across ractors
- This sometimes segfaults:
```ruby
def test_enable_disable_in_multiple_ractors_with_target
rs = []
100.times do |i|
# setup new iseqs
Kernel.define_method :"my_method_to_change_for_tracing_#{i}" do
true
end
... -
09:53 PM Bug #19360 (Closed): Enabling coverage with `-r` option isn't sufficient to intercept top level script.
- I've merged this fix. I would like this backported to 3.2 if possible, because it's blocking correct coverage computation and I don't want to wait a year to be able to use this fix.
-
12:02 PM Bug #19360: Enabling coverage with `-r` option isn't sufficient to intercept top level script.
- Fixed by https://github.com/ruby/ruby/pull/7169/files
-
11:10 AM Bug #19360 (Closed): Enabling coverage with `-r` option isn't sufficient to intercept top level script.
- For some reason, Ruby's coverage library doesn't work when the file is loaded from the command line. In the below example, test2.rb loads test.rb. If you run test2.rb with coverage enabled, it will report coverage for test.rb but not tes...
- 09:51 PM Revision 2c93c554 (git): Ensure main file has default coverage if required. (#7169)
- * Extract common code for coverage setup.
-
09:02 PM Bug #19363: Fix rb_transient_heap_mark: wrong header (T_STRUCT) segfault
- Thanks for the report, and for the comprehensive reproduction steps.
Triage note, it seems this issue can happen on `x86_64-linux-musl` without YJIT at runtime.
The crash logs there in the [Circle CI build](https://app.circleci.com/pip... -
06:53 PM Bug #19363 (Assigned): Fix rb_transient_heap_mark: wrong header (T_STRUCT) segfault
- ## Overview
Hello. 👋 I'm hitting an issue where my build is constantly failing with a segfault. The following is a snippet taken from my local machine with YJIT enabled (see attachments for details):
```
/Users/bkuhlmann/.cache/f... -
06:54 PM Bug #19361 (Rejected): String#[Integer] is orders slower for strings with some UTF characters
- This is expected. `String#[Integer]` doesn't return a byte but a character, which in UTF-8 may be of variable size, so Ruby has to scan the string from the beginning every time.
-
04:36 PM Bug #19361 (Rejected): String#[Integer] is orders slower for strings with some UTF characters
- #[] is not only slower compared to itself, but slower compared to #each_char.
seq1
```
# s = '*' * 10e4
s = 'ф' * 10e4
count = 0
size = s.size
while count < size
s[count]
count += 1
end
```
seq2
```
ss = 'ф' * 10e4
... -
06:19 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
- > I thought Ractor.new would only accept literal blocks.
I hope not, passing an arbitrary block helps with building functionality on top of Ractors (that I want to do).
> ...
My "Worker" class will have documentation stating that s... -
05:55 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
- I'm not sure this behavior is intended, cc @ko1.
I thought `Ractor.new` would only accept literal blocks.
The problem is the usual "does not respect the intent of the writer of the block, which expected a specific self".
Also it only ... -
07:07 AM Feature #19326: Please add a better API for passing a Proc to a Ractor
- OK, I had absolutely no idea you could do that. Thanks for the suggestion! My impressions was `instance_eval` could only be used around where a block is *written*.
Can we document this behaviour somewhere? Maybe in https://docs.ruby-l... -
05:04 PM Feature #19362 (Closed): #dup on Proc doesn't call initialize_dup
- In #17545, `#dup` had changed to create an instance of the subclass.
It, though, doesn't invoke `initialize_dup` of the subclass, unlike other standard classes.
```ruby
class MyAry < Array
def initialize_dup(...)
p(self.clas... -
02:16 PM Misc #19359 (Closed): Please close ticket :)
-
04:35 AM Misc #19359: Please close ticket :)
- Sorry, false alarm :) Stupidly my compilation was silently failing and that's why my printf debugging wasn't working :D
-
01:42 AM Misc #19359 (Closed): Please close ticket :)
- I'm not sure why but they aren't being collected. I was looking at the issue https://bugs.ruby-lang.org/issues/19112 to see if I could solve it
and when debugging it I noticed that ractor_free() is never called. I think it could be an i... - 11:13 AM Revision 3e7fdf29 (git): Windows build instructions documentation. (#6956)
- Windows build instructions.
- 11:12 AM Revision 5cdf312d (git): Add `doc/distribution.md` to help reduce some of the confusion. (#6856)
-
10:26 AM Revision 418b03c7 (git): tool/leaked-globals: ignore function typedef [ci skip]
-
12:48 AM Feature #19324: Enumerator.product => Enumerable#product
- > I believe quite many people are in favor of Array.product and/or Array.zip.
I personally find this surprising! It goes against what I find to be some of Ruby’s best design philosophies against Python:
Instance method versions are mor...
01/20/2023
-
10:49 PM Feature #15778: Expose an API to pry-open the stack frames in Ruby
- Outside of error reporting, having this or similar API will also:
- Allow IRB to display richer exception backtrace. This is helpful when used as `binding.irb`.
- Allow IRB to implement a `bt` command that's similar to `debug`'s.
... -
10:11 PM Revision 06b62cbb (git): Add `offsetof` so we can get the offset of members
- I want to get the offset of fields inside structs, but I don't want to
instantiate the struct. I need to embed the offsets inside machine
code, and I can't get the offsets without calling `new` on the struct.
This commit adds an `offse... -
10:09 PM Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
- To make sure it's collected:
```ruby
puts RUBY_DESCRIPTION
ractor_id = nil
if ENV['RUN_RACTOR'] == '1'
r = Ractor.new { 10 }
ractor_id = r.object_id
r.take
puts "Ractor ran!"
else
puts "Ractor DID NOT ran!"
end
gc_times = 0
r... -
09:51 PM Bug #19112: Ractor garbage collection breaks/disables all active tracepoints
- I was just looking into this bug and it's really strange, I initially thought it had to do with single ractor mode vs multi, but if we `sleep 100` inside the ractor everything behaves as it should, so it has to do with the ractor finishi...
-
09:07 PM Revision 887d2161 (git): YJIT: Avoid BorrowError on GC.compact (#7164)
-
08:58 PM Revision 4e037075 (git): Fix typo in RHASH_ST_CLEAR
- We should be setting as.st and not as.ar.
-
06:05 PM Bug #19358 (Closed): Segfault when setting RUBY_GC_HEAP_INIT_SLOTS to a low value
- Thank you for reporting this bug and @eightbitraptor for checking that the patch works on 3.1.3. I marked that patch for backporting to 3.1.
-
05:06 PM Bug #19358: Segfault when setting RUBY_GC_HEAP_INIT_SLOTS to a low value
- Can confirm that applying the patch from https://bugs.ruby-lang.org/issues/19284 to the 3.1.3 branch fixes the issue for me.
I think this should be marked for Backport
What do you think @peterzhu2118 -
04:08 PM Bug #19358 (Closed): Segfault when setting RUBY_GC_HEAP_INIT_SLOTS to a low value
- This bug is similar to #19284
In Ruby 2.7 this works fine
```
docker run --rm -it -e RUBY_GC_HEAP_INIT_SLOTS=1 ruby:2.7 ruby -e 'puts "hello, world!"'
hello, world!
```
On Ruby 3.1 I get a segfault
```
docker run --rm -it ... -
04:58 PM Feature #19347: Add Dir.fchdir
- ko1 (Koichi Sasada) wrote in #note-3:
> At the dev meeting there are 4 ideas:
I considered the first three ideas when implementing this support. Let me add my comments on each.
> ...
The reason I used this approach is that this f... -
06:25 AM Feature #19347: Add Dir.fchdir
- At the dev meeting there are 4 ideas:
* 4 ideas
* `Dir.fchdir(int)`
* Proposed
* Consistent to the POSIX API
* Can be extended for `Dir.fchdir(dir)` and `Dir.fchdir(io)`
* `Dir.chdir(int)`
* Do not need to ad... -
04:38 PM Bug #19237 (Closed): Hash default_proc is not thread-safe to lazy-initialize value for a given key
- Applied in changeset commit:git|ffd52412ab813854d134dbbc2b60f698fe536487.
----------
Document thread-safety issues with Hash default_proc
Fixes [Bug #19237] -
05:57 AM Bug #19237: Hash default_proc is not thread-safe to lazy-initialize value for a given key
- Discussed at the dev meeting. @matz said "The performance penalty is not acceptable. Addition to the documentation looks good enough."
-
04:36 PM Revision ffd52412 (git): Document thread-safety issues with Hash default_proc
- Fixes [Bug #19237]
-
04:11 PM Bug #18666: No rule to make target 'yaml/yaml.h', needed by 'api.o' - ______________________________________________
-
11:48 AM Bug #18666 (Feedback): No rule to make target 'yaml/yaml.h', needed by 'api.o'
- @duerst This issue may cause with your environment.
-
04:06 PM Feature #19326: Please add a better API for passing a Proc to a Ractor
- If you want Ractor to be an implementation detail of Worker you could do:
```ruby
class Worker
def initialize(&block)
@block = block
end
def run
block = @block
true.instance_eval { Ractor.new(&block) }
end
end
work... -
04:01 PM Revision 0457e434 (git): Remove unused struct member thgroup->group
- 03:57 PM Revision 36fa4f13 (git): YJIT: get rid of unneeded `.into()`
-
03:30 PM Revision 15328302 (git): In `UNALIGNED_MEMBER_PTR` cast through `void` pointer
- Suppress warnings shown even with `-Waddress-of-packed-member`
disabled in gcc 11. -
03:30 PM Revision f0f2535c (git): Add `queue_list` and `szqueue_list` macros
-
01:51 PM Revision 056e7a01 (git): Make all of the references of iseq movable
-
01:40 PM Revision 76e3d853 (git): [ruby/reline] Add autoindent test for indent after bracket and newline
- https://github.com/ruby/reline/commit/3f3da7d0e2
-
01:40 PM Revision 4241b3cf (git): [ruby/reline] accept new_indent > cursor_max
- https://github.com/ruby/reline/commit/61cc580da4
- 01:06 PM Revision 0cc91871 (git): [rubygems/rubygems] Update bundle-exec man page for with_unbundled_env
- `with_clean_env` has been deprecated in `with_unbundled_env`. It already generates a deprecation warning when it uses, but this man page was still referring to it.
-
12:41 PM Revision c948a081 (git): Add a NEWS entry for [Feature #19314] [ci skip]
-
11:39 AM Feature #16963 (Closed): Remove English.rb from Ruby 2.8/3.0
- I withdraw this proposal. We need to consider another deprecate plan.
-
11:33 AM Bug #18381: Default vs Bundled gems
- I'll document this.
-
11:33 AM Bug #19337 (Closed): What is the difference between "default" gems and "bundled" gems?
- This is duplicated as #18381
-
11:00 AM Bug #19354: Issues with arguments validation in IO.read
- Yeah, I understand that it's caused by the way how `IO.read` is implemented.
My point is that from the end-user point of view current error message (`given 3, expected 0..2`) is slightly misleading/confusing. -
06:08 AM Bug #19354 (Feedback): Issues with arguments validation in IO.read
- `IO.read` opens the file given as the first argument, then delegates the other arguments to `IO#read` on the instance.
Your error happens in the delegated `IO#read`.
Since 3.0, keyword arguments are separated from mere hashes.
I thi... -
10:39 AM Revision 53cd5796 (git): [rubygems/rubygems] Clean test output
- The output from the command is mixed in this test, even when
successful.
Use the output as a part of the message on failure instead.
https://github.com/rubygems/rubygems/commit/960509a133 -
09:02 AM Misc #16671 (Closed): BASERUBY version policy
- Applied in changeset commit:git|1edef08ddadf0bd76122f830ef7953cda61c78aa.
----------
Added version policy of BASERUBY
[Misc #16671] -
09:02 AM Revision cce39609 (git): [Feature #19314] Add new arguments of String#bytesplice
- bytesplice(index, length, str, str_index, str_length) -> string
bytesplice(range, str, str_range) -> string
In these forms, the content of +self+ is replaced by str.byteslice(str_index, str_length) or str.byteslice(str_range); however... -
08:54 AM Revision 845f6275 (git): OpenSSL, libyaml and zlib is always required to build. see test/test_extlibs.rb
-
08:54 AM Revision 231b09f1 (git): Added supported versions to OpenSSL and libyaml
-
08:54 AM Revision 1edef08d (git): Added version policy of BASERUBY
- [Misc #16671]
-
08:42 AM Revision 6aa9c845 (git): Separate dependencies section from quick start
-
08:42 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- Well, `Hash.new(capacity: 4096)` was definitely my first pick, so this is great news IMO.
> how about deprecating giving the keyword to Hash.new and then introducing Hash.new(capacity: 4096)?
What would be the timeline?
Depreca... -
05:31 AM Feature #19236: Allow to create hashes with a specific capacity from Ruby
- Discussed at the dev meeting.
@matz said that `Hash.create(capacity: 4096)` is acceptable (unless it conflicts with any major gems). However, several participants including @ko1 were a little cautious about introducing the new termino... -
08:38 AM Revision ea10dea6 (git): fixed wrong version of baseruby
-
08:14 AM Feature #19314 (Closed): String#bytesplice should support partial copy
- Applied in changeset commit:git|373e62248c9dceb660e95f1cf05fa2a4a469cd64.
----------
merge revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55: [Backport #19356]
String#bytesplice should return self
In Feature #19314,... -
08:14 AM Bug #19356 (Closed): Backport f7b72462aa27716370c6bea1f2c240983aca9a55
- Applied in changeset commit:git|373e62248c9dceb660e95f1cf05fa2a4a469cd64.
----------
merge revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55: [Backport #19356]
String#bytesplice should return self
In Feature #19314,... -
07:06 AM Bug #19356: Backport f7b72462aa27716370c6bea1f2c240983aca9a55
- ruby_3_2 373e62248c9dceb660e95f1cf05fa2a4a469cd64 merged revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55.
-
02:28 AM Bug #19356 (Closed): Backport f7b72462aa27716370c6bea1f2c240983aca9a55
- Please backport [f7b72462aa27716370c6bea1f2c240983aca9a55](https://github.com/ruby/ruby/commit/f7b72462aa27716370c6bea1f2c240983aca9a55).
In Feature #19314, we concluded that the return value of String#bytesplice should be changed fro... -
08:13 AM Revision a0626e11 (git): Bundle RBS 2.8.4 (#7159)
-
08:01 AM Revision c0df0a85 (git): merge revision(s) ed6fbb79e19bf401db0e85447fee955fd10a25c7: [Backport #19339]
- Fix crash when defining ivars on special constants
[Bug #19339]
---
test/ruby/test_variable.rb | 6 ++++++
vm_insnhelper.c | 5 +++++
2 files changed, 11 insertions(+) -
08:01 AM Bug #19316: YJIT crash in 3.2.0
- ruby_3_2 1fb5eb5740d4c4f1fc34a4a50bc0482eac27b545 merged revision(s) aeddc19340c7116d48fac3080553fbb823857d16.
- 07:05 AM Revision d80a574a (git): Update bundled gems list at 2023-01-20
-
06:51 AM Bug #19286 (Closed): What should kwargs' arity be?
- Withdrawing the issue. Thank you for your participation in the discussion!
-
05:58 AM Bug #19286: What should kwargs' arity be?
- Discussed at the dev meeting. @matz said the current behavior is fair, and @matsuda agreed with that. So keep it as is.
-
06:10 AM Misc #19357 (Closed): DevMeeting-2023-02-09
- # The next dev meeting
**Date: 2023/02/09 13:00-17:00** (JST)
Log: https://github.com/ruby/dev-meeting-log/blob/master/2023/DevMeeting-2023-02-09.md
- Dev meeting *IS NOT* a decision-making place. All decisions should be done at t... -
06:10 AM Misc #19240 (Closed): DevMeeting-2023-01-19
-
06:02 AM Bug #19293: The new Time.new(String) API is nice... but we still need a stricter version of this
- Discussed at the dev meeting. @naruse said "`Time.new("2023")` is 1.9.2 feature. We can’t deprecate on 3.2.1. Need to continue the discussion for Ruby 3.3."
BTW Ruby 3.2.0 accidentally allows `Time.new("2023-01")`, `Time.new("2023-01-... -
05:55 AM Bug #18518: NoMemoryError + [FATAL] failed to allocate memory for twice 1 << large
- Discussed at the dev meeting.
Are there any real-world use cases (other than rubyspec) where you would like to prohibit `integer << large`?
@matz was initially positive about prohibiting huge object generation as early failure. How... -
05:41 AM Feature #18285: NoMethodError#message uses a lot of CPU/is really expensive to call
- Discussed at the dev meeting. @matz is positive about the change and said he would give it a try. The message format is slightly changed as follows:
* If the receiver is a Class, `... for class <class name>` should be printed.
* If t... -
04:37 AM Feature #19245: Strict mode for Array#pack that doesn't silently truncate numbers that are too large for the given directive
- Discussed at the dev meeting. We need to determine some detailed behaviors:
* Should `[-1].pack("C", strict: true)` raise an exception because 'C' represents unsigned char? If what you want is "wrap around", it should raise an error b... -
03:24 AM Revision 373e6224 (git): merge revision(s) f7b72462aa27716370c6bea1f2c240983aca9a55: [Backport #19356]
- String#bytesplice should return self
In Feature #19314, we concluded that the return value of String#bytesplice
should be changed from the source string to the receiver, because the source
string is useless and c... -
02:05 AM Bug #19327: Backport commits 3be2acfafd3b3c6168e2266c7c6561d143d7ae5c and 9726736006b3f74635fd8af05814fe0908e2cf84
- ruby_3_2 6a8fcb50210f8414d76968298576e39b9fa82562 merged revision(s) 3be2acfafd3b3c6168e2266c7c6561d143d7ae5c.
-
01:18 AM Bug #19341 (Closed): Write cache issue with class variables
- Applied in changeset commit:git|f66804e6f78ed4cf81896d2256743a820b05939a.
----------
don't allow setting class variable on module that's frozen [Bug #19341]
01/19/2023
-
11:28 PM Bug #15507: Thread#raise is delivered to GC context
- ❤️ Thank you for fixing this @jeremyevans0 - I was debugging some instances of our Ruby 2.7 app's test suite hanging on exit, and narrowed it down to this reproduction:
```
require 'tempfile'
def forget_about_a_tempfile
Tempfile.new(... -
10:18 PM Feature #19355: Add finer coarsed locking for searching callable method entries
- ```ruby
MyClass = Object
class MyClass2 < Object;
def call_a_method
[]
end
def call_another_method
{}
end
end
USE_RACTORS = ARGV.first == "ractor"
puts "ractors: #{USE_RACTORS ? 't' : 'f'}"
class FakeRactor
def initial... -
09:04 PM Feature #19355 (Open): Add finer coarsed locking for searching callable method entries
- During multi-ractor mode, unfortunately when calling methods often there's a call to the internal cruby function `callable_method_entry`, which
returns a cached CME or a new one. In the case that it's cached, there's a VM lock around it... -
10:02 PM Misc #19352 (Closed): Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker.
-
06:05 PM Misc #19352: Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker.
- I’m not entirely sure, as I have never used a version of Rails that has webpacker (I last used Rails 4.2), so I don’t know its initialization process (whether it sees `application.rb` or an initializer). Worst case, you could put that co...
-
05:37 PM Misc #19352: Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker.
- > That said, this is easily monkey patched:
> ...
@Austin, That is AWESOME! Thank you for that!
Where would be the best place for that code go? In application.rb? or as an initializer or? What would you recommend?
I am asking m... -
07:39 AM Misc #19352: Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker.
- Personally, I preferred exists? over exist? but I can live with the change.
"If the file xy.txt exists then ...": if File.exists?("xy.txt") do
I made a gem to monkeypatch the exists? functionality.
The code from austin might however be... -
03:10 AM Misc #19352: Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker.
- I do not believe that this should be reversed.
There’s an older post at FastRuby indicating [version compatibility](https://www.fastruby.io/blog/ruby/rails/versions/compatibility-table.html), which mostly captures something that I bel... -
12:57 AM Misc #19352 (Closed): Feature #17391 was not such a good idea because now Ruby 3.2 can not install Rails v5 or v6 if they use webpacker.
- Hello,
I tried logging a GitHub issue to Rails to make them aware of this issue but they said they are no longer bugfixing Rails v6.1 anymore.
So since this IS a Ruby issue at its core this might be the best place for this.
You re... -
09:26 PM Revision 0949cd71 (git): [ci skip] Add ticket label to test
-
09:25 PM Revision f66804e6 (git): don't allow setting class variable on module that's frozen [Bug #19341]
- 09:10 PM Revision bf3940a3 (git): YJIT: Refactor side_exits
-
08:02 PM Revision 5ce0c13f (git): YJIT: Remove duplicated information in BranchTarget (#7151)
- Note: On the new code of yjit/src/core.rs:2178, we no longer leave the state `.block=None` but `.address=Some...`, which might be important.
We assume it's actually not needed and take a risk here to minimize heap allocations, but in ca... -
06:58 PM Revision 401aa9dd (git): [ruby/net-http] [DOC] Header doc
- (https://github.com/ruby/net-http/pull/104)
https://github.com/ruby/net-http/commit/3308362d9b - 06:42 PM Revision 762a3d80 (git): Implement splat for cfuncs. Split exit exit cases to better capture where we are exiting (#6929)
- YJIT: Implement splat for cfuncs. Split exit cases
This also implements a new check for ruby2keywords as the last
argument of a splat. This does mean that we generate more code, but in
actual benchmarks where we gained speed from this (... -
05:22 PM Revision 8872ebec (git): Fix compilation warnings in thread_sync.c
- Fixes the following compilation warnings:
thread_sync.c:908:48: warning: taking address of packed member of `struct rb_queue` may result in an unaligned pointer value [-Waddress-of-packed-member]
thread_sync.c:1181:48: warning: taking ... -
04:23 PM Revision 9af84c95 (git): Combine code paths for marking cc
- This commit avoids a separate code path for marking and moving the
callcache of the iseq. -
04:23 PM Revision 41bf2354 (git): Add rb_gc_mark_and_move and implement on iseq
- This commit adds rb_gc_mark_and_move which takes a pointer to an object
and marks it during marking phase and updates references during compaction.
This allows for marking and reference updating to be combined into a
single function, whi... -
04:15 PM Misc #19265: please remove rust yjit
- It is going to be very hard to maintain 3.1 YJIT long-term. There are significant updates to the CRuby internal object structures. We're updating it in 3.2, but the older C-based code is still using the older CRuby internal structures. I...
-
04:07 PM Misc #19353: Drop gcc <= 6 and clang <= 9
- I recently encountered a CI failure when testing against `C++98` due to the lack of variadic macros. `internal/gc.h` states that
```
* @note To ruby-core: remember that this header can be possibly
* recursiv... -
08:07 AM Misc #19353: Drop gcc <= 6 and clang <= 9
- OpenBSD/sparc64 uses gcc 4.2.1 (last GPLv2 version) as the system compiler. The sparc64 backend for clang is not yet mature (last I checked), so this would make it so Ruby 3.3+ would be unlikely to be supported on OpenBSD/sparc64 (at le...
-
07:04 AM Misc #19353 (Closed): Drop gcc <= 6 and clang <= 9
- We test those old compilers using Ubuntu bionic. This OS is reaching its EOL.
Making them available would become harder.
I would like to drop supporting them. Any opinions? -
03:30 PM Bug #19289 (Closed): RbConfig::CONFIG["STRIP"] should keep `ruby_abi_version` and `ruby_abi_version` should always be part of Ruby
- Applied in changeset commit:git|6f3aff3961a4c5ce87e05096a1a9dcf1055b7647.
----------
[Bug #19289] Retain `ruby_abi_version` function
A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to b... -
03:26 PM Revision 6f3aff39 (git): [Bug #19289] Retain `ruby_abi_version` function
- A few extension libraries, to hide all symbols except for necessary to
load, hardcode the symbols to be exported in symbol list files for
linker without even checking by `have_func`. As a workaround for such
libraries, retain `ruby_abi_... -
03:21 PM Revision 569fbf22 (git): Run `after-update` in the same main make process [ci skip]
-
03:20 PM Revision f3617800 (git): Fix a typo in BUG message [ci skip]
-
02:47 PM Revision dcc676a8 (git): ci in iseq can only be object or null
- It looks like rb_callinfo in iseq can only be either a Ruby object or
null, since it cannot be allocated on the stack. -
02:07 PM Bug #19354 (Feedback): Issues with arguments validation in IO.read
- I've noticed a strange error message when `IO.read` is called with additional positional argument:
```ruby
IO.read("a.txt", 3, 0, {mode: "r+"})
# (irb):2:in `read': wrong number of arguments (given 3, expected 0..2) (ArgumentError)
... -
12:52 PM Revision 6a8fcb50 (git): merge revision(s) 3be2acfafd3b3c6168e2266c7c6561d143d7ae5c: [Backport #19327]
- Fix re-embedding of strings during compaction
The reference updating code for strings is not re-embedding strings
because the code is incorrectly wrapped inside of a
`if (STR_SHARED_P(obj))` clause. Shared string... -
12:50 PM Bug #19319: Crash in rb_str_casemap
- ruby_3_2 686b38f83e70b3e1796092c71dd0b7dc2206b118 merged revision(s) d8ef0a98c670449b20436947f5ebbd327ed5ab0d.
-
12:17 PM Feature #12698: Method to delete a substring by regex match
- I now agree with https://bugs.ruby-lang.org/issues/12698#note-9. This issue can be considered to be along that line.
-
09:14 AM Feature #19314: String#bytesplice should support partial copy
- Accepted.
Matz.
-
08:30 AM Feature #19314 (Open): String#bytesplice should support partial copy
-
08:19 AM Feature #19314 (Closed): String#bytesplice should support partial copy
- Applied in changeset commit:git|f7b72462aa27716370c6bea1f2c240983aca9a55.
----------
String#bytesplice should return self
In Feature #19314, we concluded that the return value of String#bytesplice
should be changed from the source stri... -
08:59 AM Feature #13890: Allow a regexp as an argument to 'count', to count more interesting things than single characters
- Overlapping can be realized by putting the original regexp within a look-ahead.
```ruby
s = "abcdefghij"
re = /.{3}/
```
Non-overlapping count:
```ruby
s.scan(re).count # => 3
s.count(re) # => Expect 3
```
Overlapping count:
```ruby... -
05:20 AM Feature #13890: Allow a regexp as an argument to 'count', to count more interesting things than single characters
- If `str.count(re)` works as `str.scan(re).size` (besides efficiency), it's acceptable. But if someone needs overlapping, they needs to explain their use-case.
Matz.
-
08:58 AM Feature #19333: Setting (Fiber Local|Thread Local|Fiber Storage) to nil should delete value in order to avoid memory leaks.
- Accepted, although we foresee some possible issues. One example is that people may use `nil` as a value when they only care about existence of keys (set-like usage). They should use non-nil values (e.g., true) for the case.
Matz. -
08:13 AM Revision f7b72462 (git): String#bytesplice should return self
- In Feature #19314, we concluded that the return value of String#bytesplice
should be changed from the source string to the receiver, because the source
string is useless and confusing when extra arguments are added.
This change should b... -
06:50 AM Revision 98abe4a0 (git): Fix test when Ruby is verbose
- The test added in 90a80eb0 fails if Ruby is verbose, it outputs the
following line to stderr:
RUBY_GC_HEAP_INIT_SLOTS=100 (default value: 10000) -
06:19 AM Feature #19245: Strict mode for Array#pack that doesn't silently truncate numbers that are too large for the given directive
- I don't think it would be default, but adding `strict:` (or any other keyword argument) is OK for me.
Matz.
-
05:12 AM Bug #18658 (Assigned): Need openssl 3 support for Ubuntu 22.04 (Ruby 2.7.x and 3.0.x)
- I discussed @usa.
* We want to backport [openssl-3.0.2 gem](https://github.com/ruby/openssl/releases/tag/v3.0.2) into `ruby_3_0` branch.
* We need keep compatibility of OpenSSL-1.1 with openssl-3.0.2 gem
* @usa is considering dropping s... -
02:59 AM Revision 686b38f8 (git): merge revision(s) d8ef0a98c670449b20436947f5ebbd327ed5ab0d: [Backport #19319]
- [Bug #19319] Fix crash in rb_str_casemap
The following code crashes on my machine:
```
GC.stress = true
str = "testing testing testing"
puts str.capitalize
```
We need to ensur... -
02:48 AM Bug #19262: Segmentation fault on RubyVM::AbstractSyntaxTree.node_id_for_backtrace_location
- ruby_3_2 1a2447ac9925e7794a7c5aa07960ad4de08e6aca merged revision(s) 979dd02e2f0a70f3f30d47c6115780d8fac6147e.
-
02:05 AM Revision 1a2447ac (git): merge revision(s) 979dd02e2f0a70f3f30d47c6115780d8fac6147e: [Backport #19262]
- Check if the argument is Thread::Backtrace::Location object
[Bug #19262]
---
ast.c | 5 +++++
test/ruby/test_ast.rb | 6 ++++++
2 files changed, 11 insertions(+) -
02:05 AM Bug #19248: TestGCCompact#test_moving_objects_between_size_pools test failure
- ruby_3_2 08ae7f64dc52c2b61e451d6e79ebdae73d482677 merged revision(s) 273dca3aed7989120d57f80c789733d4bc870ffe.
-
01:52 AM Revision 4b42392f (git): YJIT: Use .as_side_exit() for jumps to counted exits
- Fewer cycles running nops when these jumps are not taken. Fixing all
these so when they get copy pasted in the future we save on padding. -
01:23 AM Revision 4cf1d9b3 (git): YJIT: Set RUST_BACKTRACE=1 on YJIT GitHub Actions (#7152)
-
01:08 AM Feature #19322: Support spawning "private" child processes
- Hey @nobu, @eregon - any further thoughts on this?
@nobu - I changed the proposal not to depend on any new platform-specific process management APIs, but instead to leverage the existing code for managing process waits in `process.c`.... -
01:07 AM Feature #19351 (Assigned): Promote bundled gems at Ruby 3.3
- >I believe that for instance strscan is used to parse the Gemfile.lock. Historically Bundler simply vendored the gems it needs, but not sure how it could do that since it has a C-ext part.
Thanks. I also confirm that RubyGems/Bundler ... -
12:53 AM Feature #19351: Promote bundled gems at Ruby 3.3
- I'm OK with gems maintained by me.
-
12:31 AM Revision 08ae7f64 (git): merge revision(s) 273dca3aed7989120d57f80c789733d4bc870ffe: [Backport #19248]
- Fix undefined behavior in shape.c
Under strict aliasing, writing to the memory location of a different
type is not allowed and will result in undefined behavior. This was
happening in shape.c due to `rb_id_table_... -
12:29 AM Bug #19305: TracePoint#parameters segfaults when certain method creation pattern is used
- ruby_3_2 d7fb4629b4058eb86be03760e6b9f1f272e44147 merged revision(s) 837ef8911c638c3e2bdb6af710de7c1fac7b5f90.
01/18/2023
- 10:59 PM Revision edd00697 (git): Test some missing coverage too. (#7041)
-
09:03 PM Revision 30894292 (git): [ruby/net-http] [DOC] Enhanced RDoc for set_form
- (https://github.com/ruby/net-http/pull/103)
https://github.com/ruby/net-http/commit/f6506ff889 -
08:41 PM Revision 6bb576fe (git): YJIT: implement codegen for `String#empty?` (#7148)
- YJIT: implement codegen for String#empty?
-
04:54 PM Revision 0fd5a664 (git): Remove macro RHASH_ITER_LEV
- The function rb_hash_iter_lev doesn't exist as it was removed.
-
04:45 PM Bug #19288: Ractor JSON parsing significantly slower than linear parsing
- I just took a look at this and it looks like the culprit is the c dtoa function that's called in the json parser, specifically a helper function `Balloc`. It uses a lock for some reason *shrug*.
Edit: It looks like in ruby's missing/dto... -
04:08 PM Revision cd979763 (git): Add stats so we can keep track of x86 rel32 vs register calls (#7142)
- * Add stats so we can keep track of x86 rel32 vs register calls
To know if we get that "prime real estate" as Alan put it.
* Fix bug pointed by Alan -
03:59 PM Bug #19340: Ruby master 'make install' not installing rbs gem
- The particular issue with rbs has been fixed with https://github.com/ruby/ruby/pull/7143
> The current build-system of bundled gems is very complex
Agreed. Several recent commits show updates to it.
Given issues with whether on... -
06:36 AM Bug #19340: Ruby master 'make install' not installing rbs gem
- We discuss this issue with @mame @nobu @ko1 and @soutaro. The current build-system of bundled gems is very complex.
We decide to the following specification for building the bundled gems.
When we provide this `bundled_gems` file:
... -
03:58 PM Feature #19333: Setting (Fiber Local|Thread Local|Fiber Storage) to nil should delete value in order to avoid memory leaks.
- There is also `Thread#key?` for Fiber locals, so not just `thread_variable?`.
Above I am talking more about the performance issue than the semantic incompatibility.
Doing delete+insert is more expensive than set+set, and even much mo... -
03:48 PM Feature #19351: Promote bundled gems at Ruby 3.3
- vo.x (Vit Ondruch) wrote in #note-3:
> BTW I don't think there would be that much fixing needed after all.
As we have seen with the `mail` gem, it can be a [huge](https://github.com/mikel/mail/pull/1439) [pain](https://github.com/mikel/... -
02:01 PM Feature #19351: Promote bundled gems at Ruby 3.3
- Yeah, a few of these will need to be handled by rubygems/bundler.
I believe that for instance `strscan` is used to parse the `Gemfile.lock`. Historically Bundler simply vendored the gems it needs, but not sure how it could do that sin... -
09:47 AM Feature #19351: Promote bundled gems at Ruby 3.3
- I update rails dependencies.
@vo.x Thanks for your comment. Maybe we should remove `irb` from this list.
I welcome feedback for these list and additional gem proposal like `cgi`, `erb` and others. -
09:28 AM Feature #19351: Promote bundled gems at Ruby 3.3
- vo.x (Vit Ondruch) wrote in #note-1:
> > But if we promote them to bundled gems, many of users need to add gem "csv" into their Gemfile. I'm considering to avoid this situation.
> ...
BTW I don't think there would be that much fixing n... -
09:04 AM Feature #19351: Promote bundled gems at Ruby 3.3
- > But if we promote them to bundled gems, many of users need to add gem "csv" into their Gemfile. I'm considering to avoid this situation.
Please let gems to be gems. Please let everybody fix their Gemfiles. Don't make exceptions. The... -
08:48 AM Feature #19351 (Closed): Promote bundled gems at Ruby 3.3
- In Ruby 3.2, the default gems and bundled gems are changed only adding `syntax_suggest`. I and some committers are considering promote default gems to bundled gems again for Ruby 3.3+.
We hope to keep the current developer experience ... -
02:55 PM Revision 03f5db01 (git): Make installation messages verbose a little [ci skip]
-
02:49 PM Revision 8e53f09b (git): [ruby/reline] Add constant MINIMUM_SCROLLBAR_HEIGHT for scrollbar rendering when dialog content is very long
- https://github.com/ruby/reline/commit/d4c95f89ec
-
02:49 PM Revision 976d72a9 (git): [ruby/reline] Add scrollbar scroll-to-bottom test and fix existing scrollbar rendeing test
- https://github.com/ruby/reline/commit/268e02b155
-
02:49 PM Revision a712f2a2 (git): [ruby/reline] Fix dialog scrollbar rendering position and disappearing bug
- https://github.com/ruby/reline/commit/e21b69ade4
-
01:49 PM Revision 4fa7d383 (git): Don't redefine RB_OBJ_WRITE
- RB_OBJ_WRITE already exists in rgengc.h, so we shouldn't redefine it in
gc.h. -
12:59 PM Revision e3336e09 (git): Define RUBY_VERSION_IS_3_3 macro in rubyspec.h
-
12:16 PM Bug #19350: Backport the latest stable version of RubyGems/Bundler
- I removed https://github.com/ruby/ruby/commit/2bbf63dd867fe3d349b1758805ad4421f2d772ab from https://github.com/ruby/ruby/pull/7061
-
08:33 AM Bug #19350 (Closed): Backport the latest stable version of RubyGems/Bundler
- RubyGems 3.4.4 and Bundler 2.4.4 have been released. We should backport them into `ruby_3_2` branch.
https://github.com/ruby/ruby/pull/7061
I also added patch for [Bug #19298] to above pull-request. -
11:19 AM Revision d275adde (git): Pin simplecov-0.20.0
-
11:19 AM Revision 18d8333c (git): Switch to use gem version of simplecov, not git clone
-
11:15 AM Revision d7fb4629 (git): merge revision(s) 837ef8911c638c3e2bdb6af710de7c1fac7b5f90: [Backport #19305]
- Fix crash in TracePoint c_call for removed method
trace_arg->id is the ID of the original method of an aliased method. If
the original method is removed, then the lookup will fail. We should use
trace_arg->called... -
11:15 AM Bug #19271: irb ignores rbs and debug
- ruby_3_2 f7e9b79f815e08e0a29fff11f77466f4ffb92520 merged revision(s) 4959e01932cf6c4d3e5e90d3e0b4fa780f754fa6.
-
11:14 AM Bug #19298: `lib/mjit/instruction.rb` was reintroduced by merge mistake
- ruby_3_2 44a3043d1182acf3147935d9c1564028b5538417 merged revision(s) 2bbf63dd867fe3d349b1758805ad4421f2d772ab.
-
11:14 AM Revision 44a3043d (git): merge revision(s) 2bbf63dd867fe3d349b1758805ad4421f2d772ab: [Backport #19298]
- Remove lib/mjit/instruction.rb
This was accidentally re-introduced in f6620037ba1477d2c337d7b511f094d6d0fbb69c.
[Bug #19298]
---
lib/mjit/instruction.rb | 2162 ------------------------------------------... -
09:58 AM Bug #19336: Backport commit eab7f4623fbf0488e828b75843d70c8e02dc8aa5
- ruby_3_2 057eff7663a0a4bc95a4799336a2bc14ca2480f0 merged revision(s) eab7f4623fbf0488e828b75843d70c8e02dc8aa5.
-
09:56 AM Revision 1fb5eb57 (git): merge revision(s) aeddc19340c7116d48fac3080553fbb823857d16: [Backport #19316]
- YJIT: Save PC and SP before calling leaf builtins (#7090)
Previously, we did not update `cfp->sp` before calling the C function of
ISEQs marked with `Primitive.attr! "inline"` (leaf builtins). This
caused the GC ... -
09:56 AM Revision f7e9b79f (git): merge revision(s) 4959e01932cf6c4d3e5e90d3e0b4fa780f754fa6: [Backport #19271]
- common.mk: Do not invoke outdate-bundled-gems by default
If baseruby is available (and its version is different from one being
built) when compiling ruby, tool/outdate-bundled-gems.rb (which is
invoked by `make i... -
09:54 AM Bug #19296: Time.new's argument check is incomplete
- ruby_3_2 52ea5ea9906c3a96c60a68e01b303672602a6832 merged revision(s) 291a4098cf649c027cb50c16b872455f26ad1dfb,5be0d42d2c4dc765230c76738289560f9ee37f09.
-
09:09 AM Bug #19297: Don't download content from internet to execute Ruby test suite
- For what it's worth, Bundler's main test suite should pass now without an internet connection since https://github.com/rubygems/rubygems/pull/6243.
-
08:18 AM Revision 97c32b49 (git): merge revision(s) 43ff0c2c488c80aaf83b486d45bcd4a92ebe3848: [Backport #19299]
- YJIT: Fix `yield` into block with >=30 locals on ARM
It's a register spill issue. Fix by moving the Qnil fill snippet to
after registers are released.
[Bug #19299]
---
test/ruby/test_yjit.rb | 1... -
08:17 AM Revision 52ea5ea9 (git): merge revision(s) 291a4098cf649c027cb50c16b872455f26ad1dfb,5be0d42d2c4dc765230c76738289560f9ee37f09: [Backport #19296]
- Add missing assertion
---
test/ruby/test_time.rb | 3 +++
1 file changed, 3 insertions(+)
[Bug #19296] Precheck bits of time components
---
test/ruby/test_time.rb | 15 +++++++++++++++
... -
08:09 AM Bug #19264: Backport 9f2378959e5c5b5c39c9993f1a84e5304ff113d6
- I think this shouldn't be backported
-
08:08 AM Revision 057eff76 (git): merge revision(s) eab7f4623fbf0488e828b75843d70c8e02dc8aa5: [Backport #19336]
- Return 0 if there is no CFP on the EC yet
StackProf uses a signal handler to call `rb_profile_frames`. Signals
are delivered to threads randomly, and can be delivered after the thread
has been created but before... -
08:04 AM Bug #19292: Time object's wday, yday, and isdst returns broken value (and so does to_a) when kwarg in: 'UTC' was given
- ruby_3_2 89cd61890fe78e0491708f87a5df678b03fda8a3 merged revision(s) 542e984d82fa25098eb15398d716d907acc52b93.
-
08:03 AM Bug #19284: Integer overflow when using RUBY_GC_HEAP_INIT_SLOTS environment variable
- ruby_3_2 49cf0896a2934547c0764aadaec021fb37a2e96f merged revision(s) 90a80eb076429978e720e11fb17a3cbb96de3454.
-
07:14 AM Revision ba45be3c (git): Supressing warnings messages like:
- Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.
Revert "Clear gem paths for each test"
This reverts commit 6698b580ddad8cfa8c5c86df9328472820d3ee6a. -
06:26 AM Revision 5fc97f34 (git): benchmark_driver v0.16.3
- Some chruby-related features and bug fixes.
-
05:31 AM Revision 7e97e2ba (git): Update RBS commit hash (#7143)
- Use a commit at the top of RBS 2.8.3, not 3.0.0.dev.N.
-
05:28 AM Revision 2d7e6395 (git): [ruby/reline] multiline_repl do not need to depend on RubyLex
- (https://github.com/ruby/reline/pull/502)
* multiline_repl do not need to depend on RubyLex
* Add auto indent test -
05:25 AM Revision 46066d0b (git): Change ArgumentError message when Comparable#clamp receives min value higher than max value
- 04:53 AM Revision 5ce3855d (git): Update default gems list at 8a771efec21c9dacad5bb8bf14b81c [ci skip]
-
04:53 AM Revision 8a771efe (git): [ruby/psych] Bump up 5.0.2
- https://github.com/ruby/psych/commit/a170b8eb46
-
03:27 AM Bug #19349: Kernel.Integer silently discards base argument that does not have a #to_int
- https://github.com/ruby/ruby/pull/7144
-
03:02 AM Revision 8ae4e3dd (git): Clean up removed directories in ext/Setup* [ci skip]
-
02:57 AM Revision 2fa3fda0 (git): Remove removed files from ext/.document [ci skip]
- - dbm/dbm.c removed at 55cd3e4ebff8fa75854ecadcd77abbf7cf4b5823
- fiber/fiber.c removed at 521ad9a13aef1e1dae4eaff70d3e6b2e358aa095
- gdbm/gdbm.c removed at edcc29dcff1b269b7748ab83adf21b2f3f97ebff