New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Since ruby 2.7.0, byebug next command doesn't stop in many cases #719
Comments
Updated: after trying to debug, I found out that TracePoint API doesn't trigger return event after return from |
Update: Ruby trunk already has a fix for this issue. It is fixed in this commit: ruby/ruby@3e02cd5. However, the next ruby release in trunk is now 3.0.0. I'll create a ticket in Ruby issue to ask for a backport instead. |
Update:
Let's wait for Ruby 2.7.2 😄 |
Problem description
Since Ruby 2.7.0,
next
command doesn't stop in many cases, when calling some standard lib's methods.Example:
When running the above file, and type
next
, the program doesn't stop at the second method call. Instead, it continues til the end. When adding a tracepoint hook, I found out that in Ruby 2.7.0+ adds some weird events<internal:*>
, such as<internal:gc>
,<internal:pack>
, etc.The above sample code returns:
Similarly when running the test example with
GC#start
When running again with methods in the same file that don't trigger
<internal*>
events, such asSecureRandom.uuid
,next
command works perfectly. So, I suspect the new<internal:*>
event in tracepoint API breaks byebug. I'm debugging deep into C layer, but haven't found anything interesting yet.The text was updated successfully, but these errors were encountered: