Activity
From 08/02/2023 to 08/08/2023
08/08/2023
-
11:46 PM Revision 1b0da1e6 (git): Skip running brew upgrade (#8189)
- This has been unstable:
https://github.com/ruby/ruby/actions/runs/5797755676/job/15713988590
and I'm not sure if we need that in the first place, assuming the
OS image itself is maintained by GitHub. -
11:06 PM Revision cd8d20cd (git): YJIT: Compile exception handlers (#8171)
- Co-authored-by: Maxime Chevalier-Boisvert <maximechevalierb@gmail.com>
-
08:32 PM Feature #19832: Method#destructive?, UnboundMethod#destructive?
- Dan0042 (Daniel DeLorme) wrote in #note-10:
> For regular ruby code, probably the only way to know if a method is destructive is to check for instance variable assignments.
A lot of everyday Ruby code seems to be destructive, not s... -
07:28 PM Feature #19832: Method#destructive?, UnboundMethod#destructive?
- This is a great idea. No doubt there are many cases where it's impossible to know *for sure* if a method is destructive or not, but it should be possible to make it good enough to be useful.
> Consider for instance Array#map. Is this ... -
08:23 AM Feature #19832: Method#destructive?, UnboundMethod#destructive?
- Well yes this property could be very useful for Ractor, JIT, and many more... except it's impossible.
Consider for instance `Array#map`. Is this method destructive? Well it _could_ be used in a destructive way. But who knows.
A... -
01:44 PM Revision 74b9c7d2 (git): Remove wrapper functions of RVALUE_REMEMBERED
- Functions rgengc_remembered, rgengc_remembered_sweep, and
rgengc_remembersetbits_get are just wrappers of RVALUE_REMEMBERED and
doesn't do much more. We can remove all those and use RVALUE_REMEMBERED
directly instead. -
01:21 PM Revision 397a7755 (git): [ruby/yarp] Fix wrong conversion and cast
- Conversions from `uint64_t`/`VALUE` to `long` may loose upper bits.
https://github.com/ruby/yarp/commit/c26f650d96 -
01:21 PM Revision d931bf22 (git): [ruby/yarp] Adjust indents [ci skip]
- https://github.com/ruby/yarp/commit/2d1135769d
-
12:04 PM Bug #19771: Backport Speed up rebuilding the loaded feature index and realpath cache - 79a4484, abfac22
- The fix is reverted by the bot, is it possible to take another look at this issue?
https://github.com/ruby/ruby/pull/8023#ref-commit-1c76244 -
10:55 AM Bug #19833 (Closed): Superclass of BasicObject is broken.
- Applied in changeset commit:git|72d1a790cfe0e4a457db98c587f1acaa5e39f001.
----------
[Bug #19833] Fix index underflow at superclasses of `BasicObject` -
10:08 AM Bug #19833: Superclass of BasicObject is broken.
- https://github.com/ruby/ruby/pull/8185
-
08:52 AM Bug #19833: Superclass of BasicObject is broken.
- I can reproduce since 3.2.
```
$ docker run --platform linux/amd64 --rm -it ghcr.io/ruby/all-ruby env LANG=C.UTF-8 ALL_RUBY_SINCE=ruby-1.9 ./all-ruby -e 'class BasicObject; include ::Module.new; p superclass; end'
ruby-1.9.0-0 ... -
08:34 AM Bug #19833 (Closed): Superclass of BasicObject is broken.
- I encountered a phenomenon where a non-class object appeared in the superclass of BasicObject.
The minimum reproduction code is below.
```rb
module Mod
end
BasicObject.include Mod
# or BasicObject.prepend Mod
p BasicObject... -
10:37 AM Feature #19783: Weak References in the GC
- An alternative to recording the weak reference **fields** during tracing is recording the **objects** that contain weak references on creation. For example, we can record a `imemo_callcache` into a darray when the `imemo_callcache` is c...
-
10:03 AM Revision 72d1a790 (git): [Bug #19833] Fix index underflow at superclasses of `BasicObject`
-
06:48 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- > also afraid if this can work well in a signal handler.
Yeah, as @kjtsanaktsidis said, in theory the current one already use things that aren't async signal safe, so I don't think it really change much here.
`open(2)` should be as... -
05:34 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- > afraid if this can work well in a signal handler.
The current bugreporter does lots of things which are not _really_ safe to do in a signal handler... even `fprintf` is not async-signal-safe (at least on Linux, according to signal-saf... -
01:24 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- Note that the branch includes a testing feature, and is not ready to merge as-is.
-
01:11 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- byroot (Jean Boussier) wrote in #note-2:
> Thank you @nobu, I wasn't expecting someone to implement it :)
> ...
I'm positive, but also afraid if this can work well in a signal handler. -
12:21 AM Revision 69292676 (git): Add message for `--ruby` option [ci skip]
08/07/2023
-
11:48 PM Revision 694d99dd (git): Share duplicate code between Wasm and the others
-
11:34 PM Revision 1a83474d (git): Simplify try-rescue loop
-
11:34 PM Revision 89dbca89 (git): Remove unnecessary braces which make indents confusing
-
11:09 PM Revision 0e5da05a (git): Do not double "yp_" prefix [ci skip]
- 06:44 PM Revision a5ffcfbd (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.79 to 0.9.81.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.79...v0.9.81)
---
updated-depende... - 05:12 PM Revision 33056c29 (git): [rubygems/rubygems] Bump rb-sys
- Bumps [rb-sys](https://github.com/oxidize-rb/rb-sys) from 0.9.79 to 0.9.81.
- [Release notes](https://github.com/oxidize-rb/rb-sys/releases)
- [Commits](https://github.com/oxidize-rb/rb-sys/compare/v0.9.79...v0.9.81)
---
updated-depende... -
03:30 PM Revision 0387b86c (git): [ruby/irb] Remove unused `InputMethod#initialize`
- (https://github.com/ruby/irb/pull/635)
* Remove unused InputMethod#initialize
The constructor takes a `file_name` argument, but it is never used. The
only input method that needs a file is `FileInputMethod`, which has its
own construct... -
01:51 PM Revision 589c01c4 (git): [DOC] RDoc for Process (#8179)
-
07:18 AM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- Thank you @nobu, I wasn't expecting someone to implement it :)
I take it that you are supportive of the feature? -
01:32 AM Revision 11f33ba6 (git): Add hints of tag jumps for optimization
- Just as the state was originally passed as the return value of
`longjmp`, the state stored in EC cannot be 0 when the jump is
captured now too.
08/06/2023
-
09:45 AM Revision ef5b1d19 (git): Turn `jit_exec` and `jit_compile` into macros if disabled
-
09:45 AM Revision acd27e3e (git): Move `GC_CAN_COMPILE_COMPACTION` definition before used
-
04:46 AM Feature #19832: Method#destructive?, UnboundMethod#destructive?
- This may have some very interesting use-cases around Ractor of forbidding any state mutation methods inside of Ractor contexts.
Many of us who program Ruby enough probably know what is destructive, sure, but having that officially wri... -
04:39 AM Feature #19832 (Rejected): Method#destructive?, UnboundMethod#destructive?
- I propose to add `destructive?` property to `Method` and `UnboundMethod` instances, which shall behave like:
```ruby
String.instance_method(:<<).destructive? # => true
String.instance_method(:+).destructive? # => false
```
One m... -
12:26 AM Revision 3651f985 (git): Exclude files added to the toplevel
08/05/2023
-
10:40 PM Revision af13b038 (git): Remove unnecessarily copied document [ci skip]
-
05:30 PM Revision ac07d881 (git): [ruby/yarp] Add a Requirements section in Build System docs
- https://github.com/ruby/yarp/commit/298025314c
-
05:30 PM Revision 489120f1 (git): [ruby/yarp] Small fixes to docs/build_system.md
- https://github.com/ruby/yarp/commit/f9db0c282b
Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com> -
05:30 PM Revision 11f10bb1 (git): [ruby/yarp] Clarify shared library
- https://github.com/ruby/yarp/commit/0b174b76f1
Co-authored-by: Mike Dalessio <mike.dalessio@gmail.com> -
05:30 PM Revision 70ef66f2 (git): [ruby/yarp] Document the build system of YARP
- https://github.com/ruby/yarp/commit/85ae0e2816
-
02:07 PM Feature #19790: Optionally write Ruby crash reports into a file rather than STDERR
- https://github.com/nobu/ruby/tree/bugreport_path
Implemented `%%`, `%e`, `%E`, `%f`, `%F`, `%p`, `%t` and `%NNN`(octal).
When invoking pipe, the string is split with white spaces first without quoting, `%040` would be useful to repre... -
09:56 AM Revision 4e6861d3 (git): Fix `Gem::BUNDLED_GEMS.find_gem` return value
- If the required name is different from the found gem name, return the
gem name, instead of true that means the required name is an exact gem
name. -
03:50 AM Revision e176f841 (git): Just suppress a warning for non-Emscripten Wasm build
- Revert "Revert "Skip calling jit_exec on Wasm""
This reverts commit 2e94610f70baca4af004202f288a6b5dd10889ca.
It's not about whether it's optimized away or not. I just don't want to
leave and maintain the callsite (e.g. signature) in t... -
03:12 AM Revision 2e94610f (git): Revert "Skip calling jit_exec on Wasm"
- This reverts commit e80752f9bbc5228dba3066cd95a81e2e496bd9d7.
RJIT and YJIT are never enabled on Wasm. When both are disabled,
`jit_exec` is defined to return `Qundef` constantly, and is optimized
away. -
02:39 AM Revision 4e7e9728 (git): Remove uneeded int2big property for Universal Parser
-
01:32 AM Revision f07ef1d5 (git): Lrama v0.5.3
08/04/2023
-
10:39 PM Revision e80752f9 (git): Skip calling jit_exec on Wasm
- We often break Wasm build when we modify how jit_exec works. I'm
planning to modify it again soon.
We actually don't support running Ruby JIT on Wasm, so it doesn't seem
worth the maintenance effort. -
06:57 PM Revision 8d7861e3 (git): YJIT: expand bitwise shift support in x86 assembler (#8174)
-
05:13 PM Revision c4066af3 (git): [ruby/irb] Store integration tests' envs in an ivar
- (https://github.com/ruby/irb/pull/668)
https://github.com/ruby/irb/commit/bbd20445ea -
02:29 PM Feature #19830: Allow `Array#transpose` to take an optional size argument
- It doesn't feel elegant or concise to feed the element size to me.
For what use cases do you want it actually? -
07:42 AM Feature #19830: Allow `Array#transpose` to take an optional size argument
- nobu (Nobuyoshi Nakada) wrote in #note-1:
> Why not `ary.transpose[1]&.join`?
That avoids the exception but returns `nil` instead of taking advantage of `#join`’s knowledge of the “correct” result for an empty array, i.e. the empty s... -
01:14 AM Feature #19830: Allow `Array#transpose` to take an optional size argument
- Why not `ary.transpose[1]&.join`?
-
02:09 PM Revision fc0b2a8d (git): YJIT: guard for array_len >= num in expandarray (#8169)
- Avoid generating long dispatch chains for all array lengths seen.
-
01:13 PM Revision 61b76e74 (git): Revert "Tests to move between size pools are flaky on Windows too"
- This reverts commit c5abe0d08f8f7686422e6eef374cf8c78aefacb6.
-
01:13 PM Revision 4b45b276 (git): Don't check stack for moved after compaction
- We don't need to check stack for moved objects after compaction because
the mutator cannot run between marking the stack and the end of
compaction. However, the stack may have moved objects leftover from
marking and sweeping phases. This... -
12:12 PM Revision 6b570ff2 (git): Display call location with bundled gems warning
-
12:12 PM Revision ae8fd392 (git): Fixed worng key of bundled_gems list
-
12:12 PM Revision a0b695b4 (git): Also decorate warning message with future tense for bundler
-
12:12 PM Revision ede3c5ee (git): Use future tense if current version is older than list version
-
11:59 AM Revision 48f03522 (git): Fetch the last element only when not empty
- Also `flag_keyword_hash` sets to 0 or a hash object.
-
11:16 AM Revision 0dc0c24c (git): [ruby/irb] Fix IntegrationTestCase
- (https://github.com/ruby/irb/pull/667)
https://github.com/ruby/irb/commit/79fc6dcf5f -
09:21 AM Bug #19831 (Open): warning message of linker with macOS Sonoma beta
- Xcode 15 beta and macOS Sonoma beta show the following warnings with `make`
```
(snip)
linking miniruby
ld: warning: ignoring duplicate library '-lpthread'
miniruby: replacing existing signature
exe/ruby: replacing existing signa...
08/03/2023
-
08:14 PM Revision 4f99240b (git): YJIT: add jb (unsigned less-than) instruction to backend (#8168)
-
08:09 PM Revision 98b4256a (git): YJIT: handle expandarray_rhs_too_small case (#8161)
- * YJIT: handle expandarray_rhs_too_small case
YJIT: fix csel bug in x86 backend, add test
Remove commented out lines
Refactor expandarray to use chain guards
Propagate Type::Nil when known
Update yjit/src/codegen.rs
Co-authored-by:... -
06:52 PM Revision 132f0971 (git): No computing embed_capa_max in str_subseq
- Fix str_subseq so that it does not attempt to predict the size of the
object returned by str_alloc_heap. -
05:42 PM Feature #19830 (Open): Allow `Array#transpose` to take an optional size argument
- One benefit of supplying an initial value to `Enumerable#inject` is that it avoids an annoying edge case when the collection is empty:
```
>> [1, 2, 3].inject(:+)
=> 6 # good
> ...
=> nil # bad
>> [].inject(0, :+)
=> 0 # good... -
04:55 PM Revision b35a2223 (git): gdb.py: Support dumping a dummy frame [ci skip]
-
03:12 PM Revision c65856d4 (git): Remove unneeded function prototype
- Function prototype for gc_mode_transition is not needed as it's not
used before the implementation. -
02:27 PM Feature #19325: YJIT: Windows support lacking.
- Hello @tamaron. There is no update as of yet. One of the challenges is that it's not easy for us to have access to windows machines, it would be kind of a pain for us to debug things in a VM. This would also add complexity to our CI test...
-
10:27 AM Feature #19325: YJIT: Windows support lacking.
- Hello, any progress here?
I am very new to the Ruby community but interested in working on this. -
12:34 PM Revision aeff3116 (git): No computing embed_capa_max in ary_make_partial
- ary_make_partial now uses the actual embed_capa of an allocated heap
array to guide whether make an embedded copy or a slice view. -
10:45 AM Bug #19829 (Closed): Enumerator.product called with keyword arguments raises exception with not precise message
- The `Enumerator.product` method, added in Ruby 3.2, when it's called with keyword arguments (but it expects only a list of enums) raises `unknown keyword: ... (ArgumentError)` exception:
```ruby
Enumerator.product([], a: 1)
# (irb):... -
08:14 AM Bug #19792: arm の alpine 上でネストしたハッシュに長い文字列を入れると segmentation fault が発生する
- 以下の環境でも再現しました
- Docker version 24.0.2, build cb74dfc
- M1 Max
- Ventura 13.5 -
04:43 AM Revision 5336b2f0 (git): Move a local variable declaration after the protected region
-
04:17 AM Revision 8f2bbbbc (git): Add assertion in `RHASH_AR_TABLE_BOUND`
-
12:51 AM Revision fe977314 (git): Check if reader members are set
-
12:11 AM Revision 4b6c5840 (git): Remove --disable-gems for assert_separately
- assert_separately adds --disable=gems so we don't need to add
--disable-gems when calling assert_separately.
08/02/2023
- 11:43 PM Revision 29fd0503 (git): * remove trailing spaces. [ci skip]
-
11:43 PM Revision 192ed8e7 (git): gdb.py: Add -a option to dump all frames [ci skip]
-
11:25 PM Bug #19828 (Closed): Segfault when `OpenSSL::X509::Certificate#public_key=` is given a `OpenSSL::PKey::DH` object
- The OpenSSL bindings cause a SegFault when creating a new OpenSSL::X509::Certificate object and setting it's `public_key` to the `public_key` of a new `OpenSSL::PKey::DH` key-pair.
### Steps To Reproduce
```ruby
#!/usr/bin/env rub... -
11:23 PM Revision 5f5cc22b (git): gdb.py: Print Env based on EP instead of BP
- because EP could be escaped.
-
09:26 PM Feature #19572: Add a new TracePoint event for rescued exceptions
- @ko1 Thank you!
-
06:35 PM Revision 32e828bb (git): [ruby/irb] Deprecate multi-irb commands
- (https://github.com/ruby/irb/pull/654)
* Deprecate multi-irb commands
- Print deprecated message when any of the commands are used
- Put related commands under `Multi-irb` category with a deprecated
label
* Update readme
https://gi... -
06:33 PM Revision 8ecd300e (git): [ruby/irb] Extract integration testing helpers out of debug command
- tests
(https://github.com/ruby/irb/pull/660)
The ability to run a test case in a subprocess is useful for testing
many other features, like nested IRB sessions. So I think it's worth
extracting them into a new test case class.
https://... -
04:53 PM Revision dc54574a (git): Update to ruby/spec@9e278f5
- 03:33 PM Revision e20f1e44 (git): YJIT: Fallback setivar if the receiver isn't T_OBJECT (#8160)
- Followup: https://github.com/ruby/ruby/pull/8152
If the receiver is a T_MODULE or T_CLASS and has a lot of
ivars, `get_next_shape_internal` will return `NULL`.
Co-authored-by: Jean Boussier <byroot@ruby-lang.org> -
03:13 PM Revision 3c41a04b (git): Fix encoding switches when RUBYOPT is empty or only spaces
- * Follow-up of dbbc3583ba432c279f07b1fa0afb0a8a9ba50c91 which broke this.
-
02:55 PM Revision a502cd80 (git): Fix wrong assignment
-
02:19 PM Revision 81c198b5 (git): YJIT: Distinguish exit and fallback reasons for send (#8159)
-
02:16 PM Revision 452debba (git): YJIT: Fix --yjit-dump-disasm coloring on less(1) (#8158)
-
02:15 PM Revision d405410e (git): YJIT: Move ROBJECT_OFFSET_* to yjit.c (#8157)
-
01:32 PM Bug #19795: attr_accessor leading to nil values for re-assignment
- I got it in the end thanks to a peer. I misunderstood wrongly how this was working:
Running the following snippet helped me understand:
```ruby
# attr_accessor_nil.rb
class A
attr_accessor :a
def initialize
@a = 0
... -
12:55 PM Bug #19795: attr_accessor leading to nil values for re-assignment
- I guess that it is a local variable, but is it the expected behavior?
As a developer, I expect that I can access `a` without the `self.a`.
Since the following code works as expected without `self`:
```ruby
# attr_accessor_nil.rb
class... -
12:42 PM Bug #19795 (Closed): attr_accessor leading to nil values for re-assignment
- This is an assignment to the local variable, not the accessor.
```ruby
a += 1
```
You have to write:
```ruby
self.a += 1
``` -
12:21 PM Bug #19795 (Closed): attr_accessor leading to nil values for re-assignment
- ### Steps to reproduce:
- Create a class with an `attr_accessor` for an instance variable
- Create an instance method that reassign this variable using the current value stored in the variable
- Show that the variable is set to nil du... -
01:08 PM Bug #19793 (Closed): Segmentation fault when requiring files after defining Object#method_missing
- Applied in changeset commit:git|1d096c1e53581ed9fe94694c9760babd1e12e580.
----------
Fix crash in NoMethodError for dummy frames
[Bug #19793]
Dummy frames are created at the top level when requiring another file.
While requiring a fil... -
01:08 PM Revision 1d096c1e (git): Fix crash in NoMethodError for dummy frames
- [Bug #19793]
Dummy frames are created at the top level when requiring another file.
While requiring a file, it will try to convert using encodings. Some of
these encodings will not respond to to_str. If method_missing is
redefined on Ob... -
10:55 AM Revision 85ee4a65 (git): Allow to override environment variables for debug
-
10:55 AM Revision ffe0f9eb (git): `EnvUtil.invoke_ruby` also passes ASAN options
-
09:56 AM Revision 28c21367 (git): [rubygems/rubygems] Replaced remained local to lockfile
- https://github.com/rubygems/rubygems/commit/6ed69223d4
- 09:18 AM Revision fd8dd719 (git): Implement StringIO#pread (#56)
- Both for being closer to real IOs and also because it's a convenient API
in multithreaded scenarios.
Co-authored-by: Jean Boussier <jean.boussier@gmail.com> -
09:17 AM Revision 201fd575 (git): [ruby/irb] Drop src_encoding.rb
- (https://github.com/ruby/irb/pull/634)
Its method `IRB.default_src_encoding` was only used in `magic-file.rb`,
which has been removed.
https://github.com/ruby/irb/commit/ed98983b1f - 09:17 AM Revision fe255277 (git): [ruby/fiddle] Include stdbool.h explicitly
- https://github.com/ruby/fiddle/commit/c313a74632
- 09:17 AM Revision 673f4493 (git): [ruby/fiddle] Include stdbool.h explicitly
- https://github.com/ruby/fiddle/commit/69ff680bf6
- 09:17 AM Revision 15e8cf7a (git): [ruby/fiddle] Add support for bool
- GitHub: fix https://github.com/ruby/fiddle/pull/130
Reported by Benoit Daloze. Thanks!!!
https://github.com/ruby/fiddle/commit/bc6c66bbb9 - 09:17 AM Revision 10588fa1 (git): [ruby/fiddle] Use ifdef
- https://github.com/ruby/fiddle/commit/6cdf53726d
-
05:25 AM Revision fd782dcd (git): Revert "YJIT: implement `expandarray_rhs_too_small` case (#8153)"
- This reverts commit 3b88a0bee841aee77bee306d9d34e587561515cf.
This commit break aarch64 platform and Apple Silicon -
05:19 AM Revision c5abe0d0 (git): Tests to move between size pools are flaky on Windows too [ci skip]
- Needs more investigations.
-
05:08 AM Bug #19794 (Assigned): Ruby 3.2.2 fails to build on macOS Sonoma betas
- With Big Sur, Apple deprecated putting dylibs in /usr/local/lib. In Sonoma (beta 4), this directory has disappeared completely. However, ruby's configure script depends on its existence. So, virtually every ruby installer (RVM, rbenv, as...
-
04:48 AM Revision e4fcac42 (git): Find paths of tools [ci skip]
- Recent GitHub Actions Windows containers seem having Strawberry tools.
-
04:21 AM Revision 15b2e912 (git): Remove `kprintf` in addr2line.c
- According to @naruse, this `kprintf` was to avoid some segfaults, but
turned out it seemed another issue after all. -
04:21 AM Revision 31d12267 (git): Avoid aborting inside addr2line.c