-
-
Notifications
You must be signed in to change notification settings - Fork 327
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
Disable tracepoints after continue #160
Disable tracepoints after continue #160
Conversation
@k0kubun Thanks! This is the same idea I shared in #144. I agree with you, there's no reason to leave them enabled. There's two problems with the patch:
Feel free to further research on those issues. Otherwise, I'll pick it up where you left it when I get to this. Thanks again! |
Thank you for your quick response!
I created this pull request to hear these points. I'll research further. Thanks. |
👍 This will be a killer speed improvement if we get it working! 😃 |
@k0kubun Did you have the chance to investigate further? |
I strongly want this change but currently I still coudn't make time to work on this. I have will to investigate this further. |
Thanks! We are in the same situation. :) |
968ebff
to
faa5894
Compare
@deivid-rodriguez I managed to create working patch and make all tests passing. Are you OK to merge and release this? |
Thanks! I'll review this very soon!! |
I confirmed that the first implementation worked well, but it seems that current implementation locks threads except current threads. With commit 72fff22, I prevented to release thread locks. Adding 6f96e54 didn't work well too. I tried delayed stopping in 2a77361 (another branch) and released locks in @deivid-rodriguez Do you have any idea to release locks of all threads? |
I noticed that some threads are waiting before |
Thanks for your hard work! |
0b498a6
to
f2db5d5
Compare
I found a safe way to unlock all threads after @deivid-rodriguez Could you review this again? |
Hmm.. I can't think of any possibility to reproduce the situation (except you enable some breakpoints via Again, could you check the return value of def index
binding.pry
puts "hello: #{Byebug.started?}"
end or something. And there are two ways to exit the REPL of pry-byebug. Which way do you use, Control-D or |
I got it. Your log tells that you exit REPL with |
@brian-vogogo I optimized pry-byebug for |
Thanks! |
I'm glad to hear that. :)
Indeed, it was. I overlooked |
All are fast. Thanks so much for working on these PRs! |
Yes, thanks! 💚 |
@k0kubun Would you mind rebasing this on top of current master so we can use the latest fixes I've added to master as well? |
fb5ccec
to
ea8a97f
Compare
Done. |
Thanks! |
ea8a97f
to
ae57005
Compare
@k0kubun I've changed the travis build to use your patch to Ruby so this should be ok to merge. I'm not sure whether the segfault could affect normal usage but since you've been using this with success for a while, I'm going to merge it. Can you rebase one last time and add a CHANGELOG entry? |
ae57005
to
6e56b5f
Compare
Thanks! It's very helpful for us. We didn't see SEGV on our normal usage. Rebased and added a CHANGELOG entry. |
Disable tracepoints after continue
Finally merged this, the appveyor build now segfaults sometimes but I'm happy to have both an stable travis build and a fast debugging feature on master! I really appreciate the work you did here. Thanks a lot @k0kubun !! ❤️ 💚 💛 |
It was interesting to investigate this problem for me and I'm very happy to contribute to this awesome project! |
👏 👏 👏 |
Fixes #144.
I couldn't find out how to avoid SEGV in tests and what a correct fix would be. I'm just sharing my idea.
Byebug.start
enables tracepoints and they are left enabled aftercontinue
. If tracepoints are enabled, it gets slow. In fact, this branch does not change things slow aftercontinue
. I want to disable them while I'm not debugging.I think we can disable tracepoints after
continue
or ^D and enable them again whenbyebug
ordebugger
is called. Is there any reason to keep tracepoints enabled all the time?