Bug #15885
closedDuplicated `:raise` tracepoint event when exception inside `load` call happens
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
Updated by ko1 (Koichi Sasada) almost 5 years ago
- Status changed from Open to Assigned
- Assignee set to ko1 (Koichi Sasada)
Updated by nagachika (Tomoyuki Chikanaga) almost 5 years ago
- Status changed from Assigned to Closed
- Backport changed from 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN to 2.5: REQUIRED, 2.6: REQUIRED
The patch seems committed at b004d3e8300ba803d4a499148fa4fc6a690149e6. (ticket number reference miss).