Skip to content

Breakpoints disappear聽#4598

Closed
Closed

Description

@incendial

Describe the bug
Adding breakpoints causes some of the existing breakpoints to disappear.
I mean, I like arcades, but this feels too much 馃槀.

Screen.Recording.2023-06-20.at.20.20.27.mov

To Reproduce
Steps to reproduce the behavior:

  1. Run a test with a breakpoint
  2. When the tests stops at the breakpoint, try add new breakpoints

Please complete the following information:

  • Operating System and version: MacOS 12.6
  • VS Code version: 1.79.2
  • Dart extension version: 3.66.0
  • Dart/Flutter SDK version: Dart SDK version: 3.1.0-63.1.beta (beta)

Activity

  1. DanTup commented on Jun 20, 2023

    @DanTup
    Member

    I can't reproduce this (although I see an issue with them becoming unverified - I've opened #4599 to look at this). Can you test it on a newly created app so I can be sure I'm performing the same steps, and could you also capture a log:

    Thanks!

  2. added
    awaiting infoRequires more information from the customer to progress
    in debuggingRelates to the debug adapter or process of running debug sessions
    on Jun 20, 2023
  3. added this to the v3.68.0 milestone on Jun 20, 2023
  4. incendial commented on Jun 20, 2023

    @incendial
    Author

    Do you need a new app AND logs? Or I can just collect logs in my project and send you?

  5. DanTup commented on Jun 20, 2023

    @DanTup
    Member

    A new app is best, because it confirms it can be reproduced in the code I'm testing with (I often spend time trying to repro things that seem like they should always happen, but are actually triggered by some specific things).

    Logs are always useful though. If it happens in a new project, just those logs are fine. If it doesn't happen there, logs for your project may help.

  6. incendial commented on Jun 25, 2023

    @incendial
    Author

    I was not able to repro it on a new project, but here is the log from the one I have the problem in:

    Dart-Code-Log-2023-05-00 16-07-29.txt

    Does it help?

  7. woprandi commented on Jun 26, 2023

    @woprandi

    I was able to reproduce on a new app :

    Dart-Code-Log-2023-05-01 15-22-36.txt

  8. DanTup commented on Jun 26, 2023

    @DanTup
    Member

    @incendial thanks - looking through your log I see something wrong - we seem to resolve two breakpoints using the same ID, and I think that could be "merging" them in VS Code (we don't actually have any code that ever removes breakpoints):

    [16:07:47] [DAP] [Info] <== {"seq":220,"type":"event","body":{"breakpoint":{"id":100072,"line":39,"verified":false},"reason":"changed"},"event":"breakpoint"}
    [16:07:47] [DAP] [Info] <== {"seq":221,"type":"event","body":{"breakpoint":{"column":18,"id":100072,"line":39,"verified":true},"reason":"changed"},"event":"breakpoint"}
    [16:07:47] [DAP] [Info] <== {"seq":222,"type":"event","body":{"breakpoint":{"column":9,"id":100072,"line":42,"verified":true},"reason":"changed"},"event":"breakpoint"}
    

    However, it's not clear to me why this happened because the VM Service traffic was not logged and I'm not sure what the source file looked liked. Are you able to capture a log while also recording what you see, and ensure you start logging before you start the debug session, so that the VM Service traffic is also logged?

    @woprandi I checked your log, but I only see a single breakpoint being set - it's not clear to me what you're seeing. Can you provide details of what you did/saw, and if possible also a recording of what you're seeing with a matching log. Thanks!

  9. incendial commented on Jun 26, 2023

    @incendial
    Author

    Ah, I started the recording after pressing the debug button. Sure, I'll send you a full version soon.

  10. woprandi commented on Jun 26, 2023

    @woprandi

    @DanTup Sorry it's a bad analysis. I didn't reproduce on new app.

  11. DanTup commented on Jun 26, 2023

    @DanTup
    Member

    @woprandi np! Are you seeing this too, in a different project? A log file of it happening (that was started before the debug session, so that logging of VM Service traffic is enabled) would be very useful even if not on a new project. A recording of the behaviour (or at least a clear description of what happens), and a copy of the lines around where breakpoints are added/disappear would also definitely help.

    If you can think of anything different in your project that might explain the difference with a new project, that might help too. For example, are there unsaved files? Or modified and saved files? Have you hot-reloaded before this happens? Are you using any sort of codegen that may have run since the session started? Do you have multiple isolates (and if so, could they have loaded different versions of the same packages?).

    Thanks!

  12. incendial commented on Jun 26, 2023

    @incendial
    Author

    @DanTup send you an email

  13. woprandi commented on Jun 26, 2023

    @woprandi

    @DanTup I'm not sure I had this bug. Also a bad analysis and a wrong code. Or it's fixed now. Anyway I can't help you anymore. I'll monitor that and back here if it comes (back)

  14. 25 remaining items

  15. DanTup commented on Jul 4, 2023

    @DanTup
    Member

    @incendial I wanted to know if you can still reproduce this issue with an SDK that includes the change above. If so, I'd be interested in a log/video. I was never able to reproduce them them disappearing on "valid" lines, only when they resolved to the same location.

  16. github-actions commented on Jul 25, 2023

    @github-actions

    This issue has been marked stale because it is tagged awaiting-info for 20 days with no activity. Remove the stale label or comment to prevent the issue being closed in 10 days.

  17. DanTup commented on Jul 27, 2023

    @DanTup
    Member

    @incendial are you able to reproduce this at all using a bleeding-edge/master SDK?

  18. incendial commented on Jul 27, 2023

    @incendial
    Author

    Which Dart version includes this fix? I have Flutter master with dart 3.1.0-348.0.dev (dev) and still see this issue

  19. DanTup commented on Jul 27, 2023

    @DanTup
    Member

    That version includes the change above (as long as you're running a Dart project, not Flutter, and using the new SDK debug adapters).

    Are you able to capture a log file of this happening (and ideally a video from the same repro as the log file)? The only issue I was able to reproduce above was the one that change fixed.

    Thanks!

  20. removed
    staleWill be closed soon if no response.
    on Jul 27, 2023
  21. modified the milestones: v3.70.0, v3.72.0 on Jul 27, 2023
  22. incendial commented on Jul 27, 2023

    @incendial
    Author

    Sorry, I downgraded back to beta channel (as my usual env), will do in the upcoming days

  23. incendial commented on Aug 7, 2023

    @incendial
    Author

    Upgraded to the master channel again (now it's Dart 3.2.0-41.0.dev) and can't reproduce the issue.

    Although, breakpoints blink a bit annoyingly

    Screen.Recording.2023-08-07.at.21.48.30.mov
  24. DanTup commented on Aug 7, 2023

    @DanTup
    Member

    Thanks for testing!

    I think the blinking is because when you add/remove a breakpoint, VS Code doesn't tell us about the individual change, it just sends us a whole new set and says "replace all the breakpoints with these" so we end up deleting all the old ones and adding the new ones.

    It's possible now that we're able to provide IDs for them that it'll send our IDs back that would make it easier to figure out which ones are added/deleted. I've filed #4678 to have a look at this.

    I'll close this one as it seems like the issue was solved (probably by changes for #4599 - they probably were related). Thanks!

  25. DanTup commented on Apr 22, 2024

    @DanTup
    Member

    @jackmchristie sorry for the delay, I just found the notification for this.

    Are you able to make a small sample that reproduces this issue and share it in a new issue? I had a quick try but couldn't reproduce it. Can you also include details of your Dart extension version and your Flutter SDK version? Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    awaiting infoRequires more information from the customer to progressin debuggingRelates to the debug adapter or process of running debug sessionsis bug

    Type

    No type

    Projects

    No projects

      Milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions