[ruby-core:94196] [Ruby master Bug#15885] Duplicated `:raise` tracepoint event when exception inside `load` call happens

From: nagachika00@...
Date: 2019-08-08 09:43:20 UTC
List: ruby-core #94196
Issue #15885 has been updated by nagachika (Tomoyuki Chikanaga).

Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.5: REQUIRED, 2.6: REQUIRED
Status changed from Assigned to Closed

The patch seems commited at b004d3e8300ba803d4a499148fa4fc6a690149e6. (ticket number reference miss).

----------------------------------------
Bug #15885: Duplicated `:raise` tracepoint event when exception inside `load` call happens
https://bugs.ruby-lang.org/issues/15885#change-80490

* Author: deivid (David Rodr刕uez)
* Status: Closed
* Priority: Normal
* Assignee: ko1 (Koichi Sasada)
* Target version: 
* ruby -v: 
* Backport: 2.5: REQUIRED, 2.6: REQUIRED
----------------------------------------
Hi!

A long time ago, [this ruby-core change](https://github.com/ruby/ruby/commit/1998039ea4f867583d7e37ce200a88490707c330) broke a test in byebug related to post-mortem debugging. See https://github.com/deivid-rodriguez/byebug/issues/165.

The problem is that after the mentioned commit, the TracePoint API raises two `:trace` events when an exception happens during a `load` call. As a result, byebug ends up using the second `:raise` event, and that means post-mortem debugging leaves the user in an incorrect place.

I managed to workaround the issue inside byebug with https://github.com/deivid-rodriguez/byebug/pull/562, but I thought it would be worth mentioning here since it seems like incorrect behavior to me.

For what it's worth, reverting the referenced commit fixes the issue. I attach a patch doing that together with a test.

---Files--------------------------------
0001-Single-raise-tracepoint-event-when-exception-inside-.patch (4.44 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next