[#122369] [Ruby Bug#21392] Data classes do not allow overriding #inspect — "austin (Austin Ziegler) via ruby-core" <ruby-core@...>

Issue #21392 has been reported by austin (Austin Ziegler).

8 messages 2025/06/01

[#122411] [Ruby Bug#21396] Set#initialize should call Set#add on items passed in — "tenderlovemaking (Aaron Patterson) via ruby-core" <ruby-core@...>

Issue #21396 has been reported by tenderlovemaking (Aaron Patterson).

12 messages 2025/06/04

[#122506] [Ruby Feature#21435] Kernel#optional as a conditional #then — "Alexander.Senko (Alexander Senko) via ruby-core" <ruby-core@...>

SXNzdWUgIzIxNDM1IGhhcyBiZWVuIHJlcG9ydGVkIGJ5IEFsZXhhbmRlci5TZW5rbyAoQWxleGFu

11 messages 2025/06/10

[#122557] [Ruby Bug#21445] [BUG] push_mark_stack() called for broken object raised since cd9f447be247478d2eb3da985295735cce20cb23 — "yahonda (Yasuo Honda) via ruby-core" <ruby-core@...>

Issue #21445 has been reported by yahonda (Yasuo Honda).

10 messages 2025/06/19

[#122615] [Ruby Misc#21458] Test 'make install'? — "MSP-Greg (Greg L) via ruby-core" <ruby-core@...>

Issue #21458 has been reported by MSP-Greg (Greg L).

11 messages 2025/06/28

[ruby-core:122409] [Ruby Bug#21395] Please backport 8d49c05c134702c321198b70fbbf34dd80cc1ba6

From: "mame (Yusuke Endoh) via ruby-core" <ruby-core@...>
Date: 2025-06-04 10:54:45 UTC
List: ruby-core #122409
Issue #21395 has been reported by mame (Yusuke Endoh).

----------------------------------------
Bug #21395: Please backport 8d49c05c134702c321198b70fbbf34dd80cc1ba6
https://bugs.ruby-lang.org/issues/21395

* Author: mame (Yusuke Endoh)
* Status: Closed
* Backport: 3.2: DONTNEED, 3.3: DONTNEED, 3.4: REQUIRED
----------------------------------------


In Ruby 3.4, debug.gem raises an exception when stepping into a rescue clause:

https://github.com/ruby/debug/pull/1142

I discussed with @ko1, and we decided to resolve this by modifying `rb_debug_inspector_backtrace_locations` to return a raw array of `Thread::Backtrace::Location`.

This ticket is to request backporting commit:8d49c05c134702c321198b70fbbf34dd80cc1ba6, which implements that change, into Ruby 3.4.

---

As a record, here is a more detailed explanation of the issue:

Starting from Ruby 3.4, rescue and ensure frames have been excluded from backtraces (see #20275).
This change broke the assumption of the debug inspector API.

The debug inspector API is designed to be used as follows:

1. Obtain an array of `Thread::Backtrace::Location` using `rb_debug_inspector_backtrace_locations`
2. For each index in that array, obtain more detailed information using functions like `rb_debug_inspector_frame_binding_get(index)`

Due to the changes in #20275, rescue/ensure frames were removed from the array returned by `rb_debug_inspector_backtrace_locations`.
As a result, the indices in this array became inconsistent with the indices expected by `rb_debug_inspector_frame_binding_get(index)` and similar functions.

There are two possible directions for fixing this:

1. Modify `rb_debug_inspector_backtrace_locations` to return the raw backtrace without removing rescue/ensure frames.
2. Modify `rb_debug_inspector_frame_binding_get(index)` to take into account the removal of rescue/ensure frames and return the corresponding data accordingly.

@ko1 is interested in trying (2) in the future, but for now, commit 8d49c05c134702c321198b70fbbf34dd80cc1ba6 implements the simpler fix, (1).










-- 
https://bugs.ruby-lang.org/
______________________________________________
 ruby-core mailing list -- ruby-core@ml.ruby-lang.org
 To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
 ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/


In This Thread

Prev Next