Project

General

Profile

Bug #15885

Duplicated `:raise` tracepoint event when exception inside `load` call happens

Added by deivid (David Rodríguez) about 2 months ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
[ruby-core:92880]

Description

Hi!

A long time ago, this ruby-core change 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

Also available in: Atom PDF