Activity
From 01/20/2025 to 01/26/2025
01/26/2025
-
09:54 PM Revision b346b497 (git): [DOC] Tweaks for rb_hash_s_create
-
03:21 PM Bug #21090 (Closed): SEGV from require in Thread in Ractor
- When ruby calls 'require' in Thread in non-main Ractor, it can cause SEGV sometimes.
```
$ ruby -e '1000.times { Ractor.new { th = Thread.new { require "rbconfig" }; Thread.pass }.take }' > segv.log 2>&1
Segmentation fault (core dum... -
12:08 PM Bug #21089 (Assigned): Missing methods on enumerators created from Enumerator::product and Enumerator::Chain
- I was using `Enumerator.product` and noticed the enumerators it returned were missing the `next` method.
When looking at the source code, I saw all the stateful enumerator methods were missing (`next`, `peek_values`, `peek`, `next_val... -
08:52 AM Revision d4a1a278 (git): rb_feature_p: skip `get_expanded_load_path` for absolute paths
- Ref: https://github.com/fxn/zeitwerk/pull/308
```ruby
require 'benchmark'
$LOAD_PATH << 'relative-path'
autoload :FOO, '/tmp/foo.rb'
puts Benchmark.realtime {
500_000.times do
Object.autoload?(:FOO)
end
}
```
The above scrip...
01/25/2025
-
06:34 AM Bug #20997: YJIT panic assertion `left == right` failed: leave instruction expects stack size 1, but was: 2
- ruby_3_2 commit:7c0c2df9b497dbf9c1376a995eebe6d43a00e21b merged revision(s) commit:dd80d9b089e35729d585bae2f8866c845c48f3b7.
-
06:34 AM Bug #21038: Preserve `errno` in `rb_fiber_scheduler_unblock`
- ruby_3_2 commit:97243cc9c76b9cc2803cfd1c01165ab5bd432450 merged revision(s) commit:04ec07794657cd2444ecb001a522b9df2db1b90a.
-
06:33 AM Bug #21012: Compiling `a['a','b'],=1` with parse.y fails
- ruby_3_2 commit:f9adaab928dff8dd7ecd4c560c288300a3c74880 merged revision(s) commit:e0d600ec190c64aff76cfcbd6009cffb927da166.
-
06:21 AM Bug #21046: Backport: TLS fix for ARM64
- Backporting commit git:f7059af50a31a4d27a04ace0beadb60616f3f971 into `ruby_3_2` depends on the changeset for the M:N Threads scheduler for Ractor (git:be1bbd5b7d40ad863ab35097765d3754726bbd54).
I would appreciate it if you could create ... -
05:51 AM Revision 7c0c2df9 (git): merge revision(s) dd80d9b089e35729d585bae2f8866c845c48f3b7: [Backport #20997]
- YJIT: Filter `&` calls from specialized C method codegen
Evident with the crash reported in [Bug #20997], the C replacement
codegen functions aren't authored to handle block arguments (nor
should they because the... -
05:39 AM Revision 97243cc9 (git): merge revision(s) 04ec07794657cd2444ecb001a522b9df2db1b90a: [Backport #21038]
- Preserve `errno` in `rb_fiber_scheduler_unblock`. (#12576)
[Bug #21038]
Co-authored-by: Julian Scheid <[email protected]> -
05:37 AM Revision f9adaab9 (git): merge revision(s) e0d600ec190c64aff76cfcbd6009cffb927da166: [Backport #21012]
- Avoid opt_aset_with optimization inside multiple assignment
Previously, since the opt_aset_with optimization was introduced,
use of the opt_aset_with optimization inside multiple assignment
would result in a segf... -
04:53 AM Bug #21088: TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
- This might be related to HEv2(#20108). Try testing with `Socket.tcp_fast_fallback = false`.
01/24/2025
-
09:52 PM Bug #21037: Ractors hang with multiple threads
- I created a PR here: https://github.com/ruby/ruby/pull/12633. I don't know how to get it working for Win32 builds yet, I'll have to take a closer look at that.
Edit: Everything works now except for Visual Studio 2022, I'm trying to setu... -
06:12 PM Bug #21088 (Closed): TCPSocket.new raises Socket::ResolutionError instead of Errno::ECONNREFUSED for hosts defined in /etc/hosts
- `TCPSocket.new` raises `Socket::ResolutionError` when the connection is refused for hosts defined in /etc/hosts. It should raise `Errno::ECONNREFUSED`.
```ruby
[6] pry(main)> TCPSocket.new("test_system", 22)
=> #<TCPSocket:fd 8, AF... -
04:39 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Benoit_Tigeot (Benoit Tigeot) wrote in #note-23:
> The "good" news, is I am able to reproduce at 100% if I use concurrency.
For what it's worth on #21034, that environment is a Falcon environment so yes, concurrency is in play there as ... -
01:11 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- byroot (Jean Boussier) wrote in #note-22:
> But that's terribly hard to track down :/
Arf.
The "good" news, is I am able to reproduce at 100% if I use concurrency.
alanwu (Alan Wu) wrote in #note-19:
> ...
I see no positiv impac... -
12:17 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- > Using GC.stress completely block the app.
Yes, `GC.stress` isn't really viable except for short snippets.
I suspect we've seen this bug in some form at Shopify too. It's likely some missing write barrier in the ISeq loading code... -
12:11 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- I started again with a fresh build with the last [two patch proposals[(https://github.com/ruby/ruby/compare/master...benoittgt:ruby:crash-on-t_none). Yjit is enable in dev mode, bootsnap too (`ruby 3.4.1 (2025-01-23 revision e4722fe585) ...
-
04:07 PM Revision dd863714 (git): Remove dead vm_cc_valid_p
-
03:44 PM Revision 22e5d83c (git): [DOC] Tweaks for Hash.new
-
03:05 PM Bug #21024: Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
- Marked backport to 3.4: required.
-
02:28 PM Bug #21024: Ruby including <cstdbool> generates compilation warning with GCC 15, header is deprecated in C++17,
- Sent a backport for Ruby 3.4 as well https://github.com/ruby/ruby/pull/12628
as that the Ruby we ship in Fedora in combination with GCC 15 where the warning was encountered. -
11:47 AM Bug #19967: Already installed libruby.dylib is used for test on macOS
- Hi! Sorry if this is the wrong place to ask (it's my first time here), but does this not break the --enable-load-relative case? Wasn't the commit that this reverts added to make sure mkmf works for those builds?
-
10:57 AM Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
- p8 (Petrik de Heus) wrote in #note-5:
> Disabling YJIT seems to fix the problem.
I don't know if this could help. But I received [some suggestions](https://github.com/ruby/ruby/compare/master...benoittgt:ruby:crash-on-t_none) for pat... -
08:29 AM Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
- alanwu (Alan Wu) wrote in #note-4:
> Thank you! It's nice to have a reproducer with full source access.
> ...
This happens to me on an 8 core M2.
Is just tried running the fortunes test only and didn't get the error.
Maybe run all th... -
10:25 AM Revision f6e259da (git): Improve docs of -I ruby option
-
08:06 AM Revision 96a5da67 (git): Fix "Relax expectations of errors from `getgrnam`"
- Use `assert_raise_kind_of` instead of `assert_raise`, that rejects sub
classes of the given exceptions. - 08:00 AM Revision 4138b187 (git): Update default gems list at c51668d24962602b781a7348451de8 [ci skip]
-
06:53 AM Revision ae94fca7 (git): Add test for `Test::Unit::CoreAssertions#assert_raise_with_message`
-
06:51 AM Revision c51668d2 (git): Add `Test::Unit::CoreAssertions#assert_raise_kind_of`
- Similar to `Test::Unit::assert_raise`, but allows sub classes too.
- 06:47 AM Revision 87426f57 (git): Update bundled gems list at 47723bb59162f25b3dc9dbff22645f [ci skip]
-
06:46 AM Revision 47723bb5 (git): Added tracer for irb test
-
06:46 AM Revision ca871b96 (git): Use workaround version of irb and reline
-
06:46 AM Revision 5422c0f7 (git): Update irb and reline, readline entries
-
06:46 AM Revision be1d0fcd (git): Added force_activate feature again
-
06:46 AM Revision 68095ffc (git): irb and reline are now bundled gems, we don't need to skip workaround for them
-
06:46 AM Revision 750e6195 (git): Omit irb related examples temporary
-
06:46 AM Revision 6bdccb35 (git): Restructured irb related example at spec/ruby
-
06:46 AM Revision 0fdc9b9f (git): Migrate irb and reline to the bundled gems
-
01:45 AM Revision 881924f2 (git): [ruby/uri] [DOC] Make documentation 100%
- https://github.com/ruby/uri/commit/fe7aa3dac2
01/23/2025
-
11:37 PM Revision 76a67e46 (git): Launchable: Enable PTS observation mode (#12617)
- Launchable offers the Predictive Test Selection feature for speeding up CI execution. Predictive Test Selection leverages machine learning to identify the right tests to run for a specific code change. By analyzing data from past test ru...
-
10:47 PM Bug #21087: "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
- Thank you! It's nice to have a reproducer with full source access.
I ran this a couple times and and it didn't crash for me on a 2-cpu x86 machine, though. Maybe it's aarch64 specific? -
08:27 PM Bug #21087 (Closed): "try to mark T_NONE object" error in Rage/ActiveRecord/Fiber with 3.4.1 upgrade
- The TechEmpower benchmarks for `rage` fail when setting the `isolation_level` to `:fiber`.
The bug can be replicated by checking out [the branch](https://github.com/p8/FrameworkBenchmarks/tree/rage/fiber) and running the following:
`... -
09:49 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
- alanwu (Alan Wu) wrote in #note-10:
> Curious if you get this crash without YJIT?
I can confirm, if I disable YJIT, the crashes seem to stop happening. -
07:51 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
- Hi Alan, I haven't tried to be honest. Let me deploy now with it disabled and I will let you know. It reliably happens within minutes so it's very easy to check.
-
07:39 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
- Curious if you get this crash without YJIT?
-
07:01 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
- Awesome! Thanks for the how to. Really appreciate it.
Alright, here's the results;
```
(gdb) frame 13
#13 rb_gc_mark_vm_stack_values (n=64, values=0x7f26022c0000) at gc.c:2346
warning: 2346 gc.c: No such file or directory
```
... -
07:11 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Here's some "bisecting" pointers to narrow this down some more. Are you able to crash it without bootsnap? Specifically without the iseq cache, but you should be able to turn off everything with the `DISABLE_BOOTSNAP` env var. Also, it's...
-
06:05 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- ```
/home/appuser/app/models/kubernetes_item.rb: [BUG] Segmentation fault at 0x000055bf92769c2c
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) +YJIT dev +PRISM [x86_64-linux]
-- Control frame information -------------------------------... -
05:29 PM Bug #21021: "try to mark T_NONE object" with 3.4.1
- Thanks Alan
The rb_bug was not printed. I followed [something similar](https://github.com/byroot/nokogiri/commit/5f88bd96667b2f690d964c14c8166534ffefccdc) to Jean's work and enable `GC.stress` closer to the region. The code was very v... -
09:20 AM Bug #21021: "try to mark T_NONE object" with 3.4.1
- The following patch combined with the crash output should narrow the culprit down to a couple entries in the stack trace. It prints an index of the "Ruby level backtrace information" section, but it relies on a heuristic so could be off ...
-
04:23 PM Bug #21083: current SystemCallError.new(-1) behavior on windows is not in accordance with the intent of the source code.
- I made a patch. Includes spec changes.
The message of SystemCallError out of the errno range is "Unknown Error", same as ucrt's.
[github #12622](https://github.com/ruby/ruby/pull/12622)
-
03:33 PM Feature #21086: Declare rb_profile_frames() family as async-signal-safe
- I've created a pull request: https://github.com/ruby/ruby/pull/12621
-
03:32 PM Feature #21086 (Open): Declare rb_profile_frames() family as async-signal-safe
- Since @ivoanjo 's change in https://github.com/ruby/ruby/pull/11036 , I believe `rb_profile_frames()` and `rb_profile_thread_frames()` could be marked as async-signal-safe.
I remember @ko1 had a few reasons not to do so. I'd like to a... -
03:24 PM Revision 7ed08c4f (git): Fix memory leak in rb_gc_vm_weak_table_foreach
- When deleting from the generic ivar table, we need to free the gen_ivtbl
otherwise we will have a memory leak. -
03:09 PM Feature #20249: Introduce a backtrace-only mode for rb_bug()
- > I prefer to extend RUBY_CRASH_REPORT but is it possible to use the path name like foo=bar?
I don't think extending `RUBY_CRASH_REPORT` would be fully backwards-compatible. Nevertheless, use cases using paths including `=` could be r... -
07:09 AM Revision abde86af (git): Update win32ole entries under the doc directory
-
07:09 AM Revision 74946461 (git): Use pure ruby library instead of C ext library for dependency warning example
-
07:08 AM Revision d11ca207 (git): Use openssl instead of fiddle and erb for native extension test
-
05:17 AM Revision a7dfd0c6 (git): Yield from `create_makefile` in bundled gems too
-
02:48 AM Revision 7d25007b (git): Ignore to add Documentation label when we pushed doc and src both
-
12:28 AM Revision 5244fd32 (git): Repair documentation markup in object.c
- Issue was visible in https://docs.ruby-lang.org/en/3.4/Kernel.html#module-Kernel-label-IO
-
12:27 AM Revision 5b1caffc (git): Added actions/labeler
-
12:24 AM Revision a1ba3946 (git): [ruby/weakref] weakref.gemspec: Drop gemspec config on executables
- This gem does not expose any executables.
https://github.com/ruby/weakref/commit/819471ce35
01/22/2025
-
11:54 PM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
- @travisbell if you can do it, try to load [this gdbinit script](https://github.com/ruby/ruby/blob/6f6654e5045f1a86ba9522bfb71395eb58ac51aa/.gdbinit) inside your gdb session (either copy the file to your home directory or the directory wh...
-
12:24 AM Bug #21034: try to mark T_NONE object error after upgrading to 3.4.1
- Thanks Aaron.
This is a bit out of my wheelhouse. Here, I've got a new backtrace:
```
(gdb) bt
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_intern... -
11:39 PM Revision 9bec592c (git): Skip test_params(OpenSSLDHTest) at rbs tests with test-bundled-gems
-
08:48 PM Bug #21048 (Closed): [Prism] rescue in modifier form with condition behaves differently
- Fixed by https://github.com/ruby/ruby/commit/c2908613368b2ae404d094a15df61d830fc46dc9
-
08:12 PM Revision 6f6654e5 (git): [DOC] Hash defaults doc
-
07:58 PM Revision c2908613 (git): [ruby/prism] Fix rescue modifier precedence
- Fixes [Bug #21048]
https://github.com/ruby/prism/commit/07202005cb -
07:09 PM Bug #21085 (Closed): [BUG] Stack consistency error with -ne
- Applied in changeset commit:git|241ada7b1ca4fd71dc47a83d912ee25162a555d9.
----------
[ruby/prism] Do not put empty statements in while because of -n
Fixes [Bug #21085]
https://github.com/ruby/prism/commit/ebb9c36a10 -
07:09 PM Revision 241ada7b (git): [ruby/prism] Do not put empty statements in while because of -n
- Fixes [Bug #21085]
https://github.com/ruby/prism/commit/ebb9c36a10 -
04:45 PM Revision 495b1cad (git): [ruby/openssl] ts: use TS_VERIFY_CTX_set0_{store,certs}() on OpenSSL 3.4
- In OpenSSL 3.4, TS_VERIFY_CTX_set_certs() and TS_VERIFY_CTX_set_store()
are deprecated in favor of the new functions with "set0" in the names.
The new functions have a slightly different behavior. They will free the
previous value autom... -
04:45 PM Revision 87316d58 (git): [ruby/openssl] pkey: change PKey::{RSA,DSA,DH}#params to use nil for missing parameters
- The returned Hash from these methods contain 0 in place of a missing
parameter in the key, for example:
pkey = OpenSSL::PKey.read(OpenSSL::PKey::RSA.new(2048).public_to_pem)
pp pkey.params
#=>
# {"n"=>#<O... -
04:45 PM Revision ec459228 (git): [ruby/openssl] pkey: implement PKey::{RSA,DSA,DH}#params in Ruby
- Move the definitions to lib/openssl/pkey.rb. They need not to be in the
extension and can be implemented using existing methods.
This reduces direct usage of the now-deprecated OpenSSL APIs around the
low-level structs such as DH, DSA, ... -
04:45 PM Revision 47fe59cd (git): [ruby/openssl] pkey: add tests for PKey::{RSA,DSA,DH}#params
- Add missing test cases to verify the current behavior. The next patch
will rewrite those methods.
https://github.com/ruby/openssl/commit/c0e0669f9b -
04:45 PM Revision 72480389 (git): [ruby/openssl] ssl: fix SSLSocket#sysread leaking locktmp String on timeout
- Commit https://github.com/ruby/openssl/commit/3bbf5178a90e made blocking methods on SSLSocket follow the
IO#timeout= value. The commit changed io_wait_readable() to potentially
raise an exception without unlocking the String.
The String... -
04:07 PM Revision 4df16051 (git): [ruby/mmtk] Remove unused lazy_static dependency
- https://github.com/ruby/mmtk/commit/f47a1e2d17
-
03:58 PM Revision 8c4134a3 (git): [ruby/irb] Use EnvUtil.rubybin instead of "ruby" in copy command
- test
(https://github.com/ruby/irb/pull/1071)
`ruby` is not always available.
https://github.com/ruby/irb/commit/f6c5106364 - 02:09 PM Revision 8a9e3b57 (git): Update default gems list at 6821b0574980191e34149853af1962 [ci skip]
-
02:08 PM Revision 6821b057 (git): [ruby/irb] Bump version to 1.15.1
- (https://github.com/ruby/irb/pull/1070)
https://github.com/ruby/irb/commit/df37b074e3 -
02:08 PM Revision c0664531 (git): [ruby/irb] Fix pager preview with escape sequence and newlines
- (https://github.com/ruby/irb/pull/1069)
https://github.com/ruby/irb/commit/a139562a07 -
02:08 PM Revision 9ce642c2 (git): [ruby/irb] Update documentation about the new copy command
- (https://github.com/ruby/irb/pull/1067)
https://github.com/ruby/irb/commit/6194111611 -
02:08 PM Revision 7813edbe (git): [ruby/irb] Show a quick preview of inspect result before pager
- launch
(https://github.com/ruby/irb/pull/1040)
* Quickly show inspect preview even if pretty_print takes too much time
* Show a message "Inspecting..." while generating pretty_print content
* Update inspecting message
Co-authored-by:... -
02:08 PM Revision c6e8ee45 (git): [ruby/irb] Add copy command (https://github.com/ruby/irb/pull/1044)
- Closes https://github.com/ruby/irb/pull/753
https://github.com/ruby/irb/commit/a24ac53d48 -
01:54 PM Revision 89240eb2 (git): Add generic ivar reference updating step
- Previously, generic ivars worked differently than the other global tables
during compaction. The other global tables had their references updated
through iteration during rb_gc_update_vm_references. Generic ivars updated
the keys when th... -
11:47 AM Feature #21082: Alias it to its
- > Second, Ruby has up to now rejected grammatical inflections such as includes instead of include.
`File.exists?` was even removed.
Many methods could do with a alias that reads nicer in certain situations. For example, `posts.each... -
12:12 AM Feature #21082: Alias it to its
- Hey Martin! Thanks for your input.
It seems like there's a very small amount of core method names that would have such a level of linguistic dissonance based on the receiver. However, even something like `ledger.include? transaction` ... -
09:19 AM Revision 7070b1b1 (git): Relax expectations of errors from `getgrnam`
- The list of errors cited in 58bc97628c14933b73f13e0856d1a56e70e8b0e4
is not exhaustive and other errors may be raised by `getgrnam`.
Additionally, these errors are system dependent and may not be listed
on all platforms. - 06:59 AM Revision 9f78c727 (git): Update bundled gems list as of 2025-01-21
-
06:07 AM Revision 99792d06 (git): [DOC] Fix code markup in String#match
-
05:27 AM Bug #21083: current SystemCallError.new(-1) behavior on windows is not in accordance with the intent of the source code.
- I think we should drop that code (and the example in ruby/spec).
It is undocumented, non-portable, and unreliable.
01/21/2025
-
11:26 PM Feature #21082: Alias it to its
- northeastprince (Matt Almeida) wrote:
> One of Ruby's core tenants is beautiful code - and a key part of that is sweating the names. Adding `it` as a pointer to the first block parameter was a huge step forward in that regard, but we're... -
02:46 PM Feature #21082 (Rejected): Alias it to its
- One of Ruby's core tenants is beautiful code - and a key part of that is sweating the names. Adding `it` as a pointer to the first block parameter was a huge step forward in that regard, but we're not done yet. If `[1, 2, 3].each { puts ...
-
09:49 PM Bug #21085: [BUG] Stack consistency error with -ne
- Good catch.
```
❯ ruby --dump=insns -vne '' --parser=parse.y
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) [arm64-darwin24]
== disasm: #<ISeq:<main>@-e:1 (1,0)-(1,0)>
0000 jump 4 ... -
09:45 PM Bug #21085: [BUG] Stack consistency error with -ne
- This succeeds with the `parse.y` parser, so it seems to be a Prism compiler bug:
```shell
❯ echo '' | ruby --parser=parse.y -vne ''
ruby 3.4.1 (2024-12-25 revision 48d4efcb85) [arm64-darwin23]
❯ echo '' | ruby --parser=prism -vne '... -
08:53 PM Bug #21085 (Closed): [BUG] Stack consistency error with -ne
- Running the following crashes for me
``` shell
echo '' | ruby -ne ''
```
Attached the diagnostic report as requested - 06:17 PM Revision 72fdba15 (git): [ruby/openssl] Use X509_ALGOR_get0() accessor for X509_ALGOR
- While the struct is currently still public in OpenSSL, there has been
an accessor since OpenSSL 0.9.8h. It would be nice if this accessor
could be used so that the struct can be made opaque at some point in
the future.
https://github.co... -
06:14 PM Revision 43c48e30 (git): [ruby/openssl] Require OpenSSL 1.1.1 or later
- Drop support for OpenSSL 1.1.0. OpenSSL 1.1.0 was a non-LTS release and
it has reached upstream EOL in 2019-12 along with OpenSSL 1.0.2.
Distributions that shipped with OpenSSL 1.1.0 include:
- Debian 9 (EOL 2022-06)
- Ubuntu 18.04 LT... -
06:14 PM Revision e7bd1d1a (git): [ruby/openssl] pkey/dh: do not skip test_params_ok? on LibreSSL
- https://github.com/ruby/openssl/commit/cd91cef590
-
05:02 PM Revision be664483 (git): [ruby/mmtk] Bump mmtk-core
- Fixes a bug where there is an infinite loop when MMTK_HEAP_MIN is small.
https://github.com/ruby/mmtk/commit/12c7ede20b -
05:02 PM Revision 6d806031 (git): [ruby/mmtk] Add tests for MMTK_HEAP_MIN
- https://github.com/ruby/mmtk/commit/a725b95f51
-
04:48 PM Misc #21019: DevMeeting-2025-02-13
- * [Feature #21084] Declare objects have weak references (peterzhu2118)
* The current way of marking weak references uses `rb_gc_mark_weak(VALUE *ptr)`.
* This presents challenges because Ruby's GC is incremental, meaning that if th... -
04:47 PM Feature #21084 (Open): Declare objects have weak references
- # Summary
The current way of marking weak references uses `rb_gc_mark_weak(VALUE *ptr)`. This presents challenges because Ruby's GC is incremental, meaning that if the `ptr` changes (e.g. realloc'd or free'd), then we could have an in... - 04:25 PM Revision b8a2b106 (git): Update default gems list at abed4ea81029d7169ef07b85622dfb [ci skip]
-
04:24 PM Revision abed4ea8 (git): [ruby/irb] Bump version to v1.15.0
- (https://github.com/ruby/irb/pull/1066)
https://github.com/ruby/irb/commit/d3531d8fc0 -
03:12 PM Bug #21083 (Closed): current SystemCallError.new(-1) behavior on windows is not in accordance with the intent of the source code.
- spec/ruby/core/exception/system_call_error_spec.rb says
```
platform_is :windows do
SystemCallError.new(-1).message.should == "The operation completed successfully."
end
```
but source code says ```if (e < 0) e = GetL... -
02:12 PM Revision a47ed9f4 (git): Fix lrama for snapshot
- - Old versions should compile parse.y by `bison` or the bundled
version `lrama`, not the `lrama` in the running repository.
- Check variables for ruby executable more strictly. -
11:25 AM Revision 2b1db0fa (git): Remove unnecessary assignments to local variables in `f_arg_asgn`
- Local variables are not reassigned and are not needed.
-
11:25 AM Revision 3260b0b6 (git): Remove unnecessary assignments to local variables in `strings`
- Local variables are not reassigned and are not needed.
-
10:45 AM Revision 5d6f76cf (git): ext/json/parser/prereq.mk is removed from sync target
-
08:03 AM Revision b1d5d166 (git): [ruby/resolv] Check for Windows in JRuby-compatible way
- https://github.com/ruby/resolv/commit/de95f557b0
-
07:58 AM Revision d3bd8df2 (git): [ruby/resolv] Use port number 0 for ephemeral port if save
- On platforms where ephemeral port randomization is implemented, the
same randomization is not needed in the ruby library layer.
Fixes https://github.com/ruby/resolv/pull/63.
https://github.com/ruby/resolv/commit/45e1b563c0 -
03:32 AM Revision e5f81e51 (git): [ruby/error_highlight] Use `$stderr` instead of STDERR for Ractor
- https://github.com/ruby/error_highlight/commit/a221a4b0eb
-
01:16 AM Revision f33a76bf (git): Lrama v0.7.0
01/20/2025
-
06:03 PM Revision 769cccba (git): [ruby/prism] Fix parser translator scope issues for implicit hash values
- `builder.pair_label` is no good since it makes use of variables that the parser gem encountered.
Since the prism translator doesn't keep proper track of that information, the following code interprets
the implicit value as a local variab... -
05:12 PM Revision c6c1e7a9 (git): [ruby/openssl] extconf.rb: remove dir_config("kerberos")
- The dir_config was introduced by Ruby trunk r4181. Since support for
Kerberos cipher suites has been removed in OpenSSL 1.1.0, it is no
longer necessary.
Although ruby/openssl did not directly depend on the MIT Kerberos
library, it was ... -
05:12 PM Revision 441862dc (git): [ruby/openssl] Require OpenSSL 1.1.0 or later
- Drop support for OpenSSL 1.0.2. It has reached upstream EOL in 2019-12.
Most distributions that shipped with OpenSSL 1.0.2 have also reached
EOL, or provide a newer version in the package repository:
- RHEL 7 (EOL 2024-06)
- Ubuntu 1... -
05:12 PM Revision 010e8bff (git): [ruby/openssl] pkcs7: remove unnecessary const cast
- PKCS7_encrypt() and PKCS7_SIGNER_INFO_set() take const EVP_CIPHER and
EVP_MD at least since OpenSSL 0.9.7.
https://github.com/ruby/openssl/commit/9db621a5c0 -
05:12 PM Revision 04cc7629 (git): [ruby/openssl] engine: remove constants for ENGINE_METHOD_BN_MOD_EXP{,_CRT}
- These macros do not exist in OpenSSL 0.9.7 or later, which was released
in 2002.
https://github.com/ruby/openssl/commit/938a1e6aab -
03:31 PM Revision 5a448a87 (git): Remove dead function rb_func_proc_new
-
02:52 PM Revision 5c95898e (git): Remove rb_obj_as_string for Parser
- Ruby Parser not used rb_obj_as_string.
And obj_as_string property can be removed from Universal Parser. - 02:48 PM Revision 6d3951e7 (git): .travis.yml: Drop arm64 case.
- We started running a Linux arm64 case in GitHub Actions.[1] So, it's time to
drop the Linux arm64 case in Travis CI.
[1] https://github.com/ruby/ruby/commit/a9d37ac3e5385c7aaec64e32de3d254903f4b5c0 -
02:18 PM Bug #21045: [patch & workaround] "make test-all" failed with FreeBSD 13.4
- I tried a clean install of FreeBSD 13.4 on VMware, and the unpatched version still failed.
The records of all operations from installation to "make test-all" are as follows.
1. Download [ISO](https://download.freebsd.org/releases/ISO... -
01:20 PM Revision 86b26217 (git): [ruby/json] Reject invalid number: `-` `-.1` `-e0`
- https://github.com/ruby/json/commit/b9bfeecfa9
-
01:20 PM Revision 525d7a68 (git): [ruby/json] Raise parse error on invalid comments
- https://github.com/ruby/json/commit/2f57f40467
-
01:20 PM Revision c026e44b (git): [ruby/json] Fix parsing incomplete unicode escape "\uaaa"
- https://github.com/ruby/json/commit/86c0d4eb7e
-
01:20 PM Revision 2b4b7bdb (git): [ruby/json] Fix JSON::Fragment#to_json signature
- https://github.com/ruby/json/commit/f8817fe56c
-
01:20 PM Revision e8676cad (git): [ruby/json] Introduce JSON::Fragment
- https://github.com/ruby/json/commit/9e3500f345
Co-authored-by: Jean Boussier <[email protected]> -
12:41 PM Bug #14582: Unable to use `method__entry` and `method_return` tracing probes since 2.5
- I'm really interested in using DTrace on Ruby as well. One of the major advantages of DTrace is that it's always available and doesn't require any code changes or restarts of the system that is being instrumented. But with the current wa...
-
12:37 PM Revision ba44e925 (git): ext/json no longer uses ragel
-
09:47 AM Bug #20965: `it` vs `binding.local_variables`
- I have created a new issue as #21049.
-
09:46 AM Bug #21049 (Open): Reconsider handling of the numbered parameters and "it" parameter in `Binding#local_variables`
- Currently, `Binding#local_variable*` APIs wrongly handles the numbered parameters.
```ruby
# Binding#local_variables includes numbered parameters that should not be visible
"foo".tap do
_1
"bar".tap do
p binding.local_var... -
09:31 AM Revision 8c30970c (git): Revert "Skip RBS::SchemaTest"
- This reverts commit 4404688a0e9e606aea870d79f5e8be6ac1524335.
-
09:31 AM Revision 33708f2d (git): [ruby/json] Fix a regression in the parser with leading /
- Ref: https://github.com/ruby/ruby/pull/12598
This could lead to an infinite loop.
https://github.com/ruby/json/commit/f8cfa2696a -
07:09 AM Revision 4404688a (git): Skip RBS::SchemaTest
-
07:09 AM Revision e3ba5207 (git): Removed parser.rl from ext/json/parser/depend
-
07:09 AM Revision df8f9384 (git): [ruby/json] json_string_unescape: use memchr to search for backslashes
- https://github.com/ruby/json/commit/5e6cfcf724
-
07:09 AM Revision ba8f22c0 (git): [ruby/json] Cleanup json_decode_float
- Move all the decimal_class option parsing in the constructor.
https://github.com/ruby/json/commit/e9adefdc38 -
07:09 AM Revision 6c6f9672 (git): [ruby/json] parser.c: Pass the JSON_ParserConfig pointer
- Doesn't make a measurable performance difference but is a
bit clearer.
https://github.com/ruby/json/commit/314d117c61 -
07:09 AM Revision f664e863 (git): [ruby/json] Use RSTRING_END
- https://github.com/ruby/json/commit/dd9c46c805
-
07:09 AM Revision e4b54b0a (git): [ruby/json] Replace fbuffer by stack buffers or RB_ALLOCV in parser.c
- We only use that buffer for parsing integer and floats, these
are unlikely to be very big, and if so we can just use RB_ALLOCV as it will
almost always end in a small `alloca`.
This allow to no longer need `rb_protect` around the parser... -
07:09 AM Revision 99e9eb53 (git): [ruby/json] Implement write barriers for ParserConfig objects
- https://github.com/ruby/json/commit/591056a526
-
07:09 AM Revision ef585744 (git): Finalize Kevin's handrolled parser.
- And get rid of the Ragel parser.
This is 7% faster on activitypub, 15% after on twitter and 11% faster
on citm_catalog.
There might be some more optimization opportunities, I did a quick
optimization pass to fix a regression in string ... -
06:41 AM Bug #21048: [Prism] rescue in modifier form with condition behaves differently
- Yes, I switched it up in the text. Fixed
-
05:01 AM Bug #21048: [Prism] rescue in modifier form with condition behaves differently
- Earlopain (Earlopain _) wrote:
> Prism interprets it as `(foo rescue nil) if false`, not calling the method. `parse.y` does `foo rescue (nil if false)` since at least Ruby 2.0
Inverse?
> ...
-
04:50 AM Revision 1c8fc25b (git): [rubygems/rubygems] Fix broken link in `bundle issue` output
- https://github.com/rubygems/rubygems/commit/0909f07f30
-
04:50 AM Revision ee7b7479 (git): [rubygems/rubygems] Fix `--prefer-local` not respecting default gems
- https://github.com/rubygems/rubygems/commit/3df86cd9c6
-
04:50 AM Revision 891ecc63 (git): [rubygems/rubygems] Consistently assert command failure
- https://github.com/rubygems/rubygems/commit/faaa594a4a
-
04:50 AM Revision 976cee57 (git): [rubygems/rubygems] Don't fallback to evaluating YAML gemspecs as Ruby code
- https://github.com/rubygems/rubygems/commit/ca0a7ff8cd
-
03:25 AM Revision b00315e9 (git): win32ole is bundled gems now
-
01:15 AM Revision af81011c (git): Supply LIBCLANG_PATH for clang-14 for yjit-bindgen
- Or else it gets confused from all the different versions of LLVM in the
image. -
01:15 AM Revision d2ef8861 (git): Use clang-14 to match the libclang version bindgen finds by default
-
01:15 AM Revision a41e9d8f (git): Use configu.guess with wasi compatible version
-
01:15 AM Revision 10d12912 (git): sd ubuntu-20.04 ubuntu-22.04 .github/workflows/*
-
01:15 AM Revision 9a4d82fb (git): Ubuntu 20.04 will be EOL at Apr 2025