microsoft / vscode

Visual Studio Code
https://code.visualstudio.com
MIT License
163.14k stars 28.83k forks source link

Debugger UI does not close after stopping debug session (bug introduced in 1.86) #215614

Open recursivenomad opened 3 months ago

recursivenomad commented 3 months ago

Does this issue occur when all extensions are disabled?:
N/A (debugging requires an extension, but this issue confidently occurs in 1.86.2 and confidently does not occur in 1.85.2 with all other variables constant

Steps to Reproduce:

  1. Set up development environment for debugging the Raspberry Pi Pico microcontroller using a second Pico as the debug probe
  2. Launch VSCode debugger
  3. Set breakpoints, continue etc. all work fine
  4. Select "Restart"
    VSCode-Restart
  5. Wait for device to restart
  6. Select "Stop"
    VSCode-Stop
  7. Observe that the debugger UI is not closing, even though the debug server successfully disconnects

If you need some excruciatingly specific steps, you can slog through the precise build environment I've set up down to each application's checksum in my repository here (keeping in mind that the only thing to change to experience the bug is the version of VSCode you are using).

VSCodeTriageBot commented 3 months ago

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.90.1. Please try upgrading to the latest version and checking whether this issue remains.

Happy Coding!

recursivenomad commented 3 months ago

Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.90.1. Please try upgrading to the latest version and checking whether this issue remains.

Happy Coding!

🐞 Confirmed this bug exists in the latest stable release 1.90.1. It was introduced in 1.86, and has not yet been resolved.

roblourens commented 1 month ago

Sorry for the slow response. Is it still happening in the latest?

Could you check for errors? Likely in the Window or "Extension Host" output channels.

For myself, debug changes in 1.86 https://github.com/microsoft/vscode/commits/release/1.86/src/vs/workbench/contrib/debug

recursivenomad commented 1 month ago

Thanks for taking a look at this 🙂

Yes, I can confirm this still happens in 1.92.2.

Extension Host output after bug on 1.92.2:

2024-08-18 10:59:49.151 [info] Extension host with pid 35876 started
2024-08-18 10:59:49.151 [info] Skipping acquiring lock for XXX\AppData\Roaming\VSCodium\User\workspaceStorage\016a6f85b37bdb91f5423e0a6d312b64.
2024-08-18 10:59:49.323 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage'
2024-08-18 10:59:49.328 [info] ExtensionService#_doActivateExtension llvm-vs-code-extensions.vscode-clangd, startup: false, activationEvent: 'onLanguage:c'
2024-08-18 10:59:49.449 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: true, activationEvent: '*', root cause: vscode.git
2024-08-18 10:59:49.451 [info] ExtensionService#_doActivateExtension adammaras.overtype, startup: true, activationEvent: '*'
2024-08-18 10:59:49.455 [info] ExtensionService#_doActivateExtension ms-vscode.cmake-tools, startup: true, activationEvent: 'workspaceContains:CMakeLists.txt'
2024-08-18 10:59:49.518 [info] ExtensionService#_doActivateExtension vscode.git, startup: true, activationEvent: '*'
2024-08-18 10:59:49.537 [info] ExtensionService#_doActivateExtension vscode.github, startup: true, activationEvent: '*'
2024-08-18 10:59:49.819 [info] Eager extensions activated
2024-08-18 10:59:49.865 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished'
2024-08-18 10:59:49.867 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished'
2024-08-18 10:59:49.870 [info] ExtensionService#_doActivateExtension eamodio.gitlens, startup: false, activationEvent: 'onStartupFinished'
2024-08-18 10:59:49.893 [info] ExtensionService#_doActivateExtension mcu-debug.debug-tracker-vscode, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug
2024-08-18 10:59:49.895 [info] ExtensionService#_doActivateExtension mcu-debug.peripheral-viewer, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug
2024-08-18 10:59:49.902 [info] ExtensionService#_doActivateExtension medo64.render-crlf, startup: false, activationEvent: 'onStartupFinished'
2024-08-18 10:59:49.991 [info] ExtensionService#_doActivateExtension mcu-debug.memory-view, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug
2024-08-18 10:59:50.000 [info] ExtensionService#_doActivateExtension mcu-debug.rtos-views, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug
2024-08-18 10:59:50.019 [info] ExtensionService#_doActivateExtension marus25.cortex-debug, startup: false, activationEvent: 'onStartupFinished'
2024-08-18 10:59:50.920 [info] ExtensionService#_doActivateExtension vscode.debug-server-ready, startup: false, activationEvent: 'onDebugResolve'
2024-08-18 11:00:12.555 [error] Error: Invalid debug adapter
    at c.getDebugAdapter (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:2018:136)
    at c.$acceptDAExit (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:2018:35)
    at y._doInvokeHandler (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1909:19555)
    at y._invokeHandler (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1909:19237)
    at y._receiveRequest (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1909:17947)
    at y._receiveOneMessage (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1909:16686)
    at u.value (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1909:14360)
    at o._deliver (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:93:910)
    at o.fire (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:93:1229)
    at r.fire (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:123:17864)
    at G.onmessage (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1925:11327)
Extension Host output on 1.85.2 (no bug): ``` 2024-08-18 11:06:57.814 [info] Extension host with pid 10292 started 2024-08-18 11:06:57.814 [info] Skipping acquiring lock for XXX\AppData\Roaming\VSCodium\User\workspaceStorage\016a6f85b37bdb91f5423e0a6d312b64. 2024-08-18 11:06:57.829 [info] ExtensionService#_doActivateExtension vscode.emmet, startup: false, activationEvent: 'onLanguage' 2024-08-18 11:06:57.833 [info] ExtensionService#_doActivateExtension llvm-vs-code-extensions.vscode-clangd, startup: false, activationEvent: 'onLanguage:c' 2024-08-18 11:06:57.910 [info] ExtensionService#_doActivateExtension vscode.git-base, startup: true, activationEvent: '*', root cause: vscode.git 2024-08-18 11:06:57.912 [info] ExtensionService#_doActivateExtension adammaras.overtype, startup: true, activationEvent: '*' 2024-08-18 11:06:57.967 [info] ExtensionService#_doActivateExtension ms-vscode.cmake-tools, startup: true, activationEvent: 'workspaceContains:CMakeLists.txt' 2024-08-18 11:06:58.032 [info] ExtensionService#_doActivateExtension vscode.git, startup: true, activationEvent: '*' 2024-08-18 11:06:58.045 [info] ExtensionService#_doActivateExtension vscode.github, startup: true, activationEvent: '*' 2024-08-18 11:06:58.278 [error] [llvm-vs-code-extensions.vscode-clangd] provider FAILED 2024-08-18 11:06:58.278 [error] {"_isCancelled":true,"_emitter":null} 2024-08-18 11:06:58.432 [info] Eager extensions activated 2024-08-18 11:06:58.463 [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch, startup: false, activationEvent: 'onStartupFinished' 2024-08-18 11:06:58.464 [info] ExtensionService#_doActivateExtension vscode.merge-conflict, startup: false, activationEvent: 'onStartupFinished' 2024-08-18 11:06:58.468 [info] ExtensionService#_doActivateExtension eamodio.gitlens, startup: false, activationEvent: 'onStartupFinished' 2024-08-18 11:06:58.512 [info] ExtensionService#_doActivateExtension mcu-debug.debug-tracker-vscode, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug 2024-08-18 11:06:58.514 [info] ExtensionService#_doActivateExtension mcu-debug.peripheral-viewer, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug 2024-08-18 11:06:58.520 [info] ExtensionService#_doActivateExtension medo64.render-crlf, startup: false, activationEvent: 'onStartupFinished' 2024-08-18 11:06:58.615 [info] ExtensionService#_doActivateExtension mcu-debug.memory-view, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug 2024-08-18 11:06:58.627 [info] ExtensionService#_doActivateExtension mcu-debug.rtos-views, startup: false, activationEvent: 'onStartupFinished', root cause: marus25.cortex-debug 2024-08-18 11:06:58.648 [info] ExtensionService#_doActivateExtension marus25.cortex-debug, startup: false, activationEvent: 'onStartupFinished' 2024-08-18 11:07:28.164 [info] ExtensionService#_doActivateExtension vscode.debug-server-ready, startup: false, activationEvent: 'onDebugResolve' 2024-08-18 11:07:47.785 [error] Error: Invalid debug adapter at C.getDebugAdapter (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1559:136) at C.$acceptDAExit (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1559:35) at m._doInvokeHandler (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1567:24876) at m._invokeHandler (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1567:24558) at m._receiveRequest (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1567:23328) at m._receiveOneMessage (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1567:22229) at o.value (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1567:20093) at d._deliver (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:87:2465) at d.fire (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:87:2784) at s.fire (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:616:17227) at K.onmessage (vscode-file://vscode-app/c:/Program%20Files/VSCodium/resources/app/out/vs/workbench/workbench.desktop.main.js:1663:10861) ```

The same type of error appears to be reported upon closing the debug session for both 1.85.2 and 1.92.2, even though the bug only exists in 1.86.2+.

My apologies in advance if this does turn out to be an extension bug which only became symptomatic after a VSCode update.

recursivenomad commented 1 month ago

Also, to clarify, I do not know whether the bug was visible in 1.86.0 - My A/B testing only got so far as to be confident that it is present in 1.86.2 and not present in 1.85.2.