-
Notifications
You must be signed in to change notification settings - Fork 2.5k
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
[debug]: Debug session might be configured with an empty capabilities object #11886
Comments
From
|
vince-fugnitto
added
vscode
issues related to VSCode compatibility
debug
issues that related to debug functionality
labels
Nov 21, 2022
I will take care of this issue. |
kittaakos
pushed a commit
to kittaakos/arduino-ide
that referenced
this issue
Nov 24, 2022
Patch for: - eclipse-theia/theia#11871 - eclipse-theia/theia#11879 - eclipse-theia/theia#11880 - eclipse-theia/theia#11885 - eclipse-theia/theia#11886 - eclipse-theia/theia#11916 Closes arduino#1582 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to arduino/arduino-ide
that referenced
this issue
Nov 28, 2022
Patch for: - eclipse-theia/theia#11871 - eclipse-theia/theia#11879 - eclipse-theia/theia#11880 - eclipse-theia/theia#11885 - eclipse-theia/theia#11886 - eclipse-theia/theia#11916 Closes #1582 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to arduino/arduino-ide
that referenced
this issue
Nov 29, 2022
Patch for: - eclipse-theia/theia#11871 - eclipse-theia/theia#11879 - eclipse-theia/theia#11880 - eclipse-theia/theia#11885 - eclipse-theia/theia#11886 - eclipse-theia/theia#11916 Closes #1582 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to arduino/arduino-ide
that referenced
this issue
Nov 29, 2022
Patch for: - eclipse-theia/theia#11871 - eclipse-theia/theia#11879 - eclipse-theia/theia#11880 - eclipse-theia/theia#11885 - eclipse-theia/theia#11886 - eclipse-theia/theia#11916 Closes #1582 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to arduino/arduino-ide
that referenced
this issue
Dec 1, 2022
Patch for: - eclipse-theia/theia#11871 - eclipse-theia/theia#11879 - eclipse-theia/theia#11880 - eclipse-theia/theia#11885 - eclipse-theia/theia#11886 - eclipse-theia/theia#11916 Closes #1582 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to kittaakos/theia
that referenced
this issue
Dec 13, 2022
- feat: aded support for `debug/toolbar` and `debug/variables/context`, - feat: added support for `debugState` when context (eclipse-theia#11871), - feat: can customize debug session timeout, and error handling (eclipse-theia#11879), - fix: the `debugType` context that is not updated, - fix: `configure` must happen after receiving capabilities (eclipse-theia#11886), - fix: added missing conext menu in the _Variables_ view, - fix: handle `setFunctionBreakboints` response with no `body` (eclipse-theia#11885), - fix: `DebugExt` fires `didStart` event on `didCreate` (eclipse-theia#11916) Closes eclipse-theia#11871 Closes eclipse-theia#11879 Closes eclipse-theia#11885 Closes eclipse-theia#11886 Closes eclipse-theia#11916 Signed-off-by: Akos Kitta <[email protected]>
1 task
kittaakos
pushed a commit
to kittaakos/theia
that referenced
this issue
Dec 13, 2022
- feat: aded support for `debug/toolbar` and `debug/variables/context`, - feat: added support for `debugState` when context (eclipse-theia#11871), - feat: can customize debug session timeout, and error handling (eclipse-theia#11879), - fix: the `debugType` context that is not updated, - fix: `configure` must happen after receiving capabilities (eclipse-theia#11886), - fix: added missing conext menu in the _Variables_ view, - fix: handle `setFunctionBreakboints` response with no `body` (eclipse-theia#11885), - fix: `DebugExt` fires `didStart` event on `didCreate` (eclipse-theia#11916) Closes eclipse-theia#11871 Closes eclipse-theia#11879 Closes eclipse-theia#11885 Closes eclipse-theia#11886 Closes eclipse-theia#11916 Signed-off-by: Akos Kitta <[email protected]> s Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to kittaakos/theia
that referenced
this issue
Dec 13, 2022
- feat: aded support for `debug/toolbar` and `debug/variables/context`, - feat: added support for `debugState` when context (eclipse-theia#11871), - feat: can customize debug session timeout, and error handling (eclipse-theia#11879), - fix: the `debugType` context that is not updated, - fix: `configure` must happen after receiving capabilities (eclipse-theia#11886), - fix: added missing conext menu in the _Variables_ view, - fix: handle `setFunctionBreakboints` response with no `body` (eclipse-theia#11885), - fix: `DebugExt` fires `didStart` event on `didCreate` (eclipse-theia#11916), - fix: validate editor selection based on the text model (eclipse-theia#11880) Closes eclipse-theia#11871 Closes eclipse-theia#11879 Closes eclipse-theia#11885 Closes eclipse-theia#11886 Closes eclipse-theia#11916 Closes eclipse-theia#11880 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to kittaakos/theia
that referenced
this issue
Dec 13, 2022
- feat: added support for `debug/toolbar` and `debug/variables/context`, - feat: added support for `debugState` when context (eclipse-theia#11871), - feat: can customize debug session timeout, and error handling (eclipse-theia#11879), - fix: the `debugType` context that is not updated, - fix: `configure` must happen after receiving capabilities (eclipse-theia#11886), - fix: added missing conext menu in the _Variables_ view, - fix: handle `setFunctionBreakboints` response with no `body` (eclipse-theia#11885), - fix: `DebugExt` fires `didStart` event on `didCreate` (eclipse-theia#11916), - fix: validate editor selection based on the text model (eclipse-theia#11880) Closes eclipse-theia#11871 Closes eclipse-theia#11879 Closes eclipse-theia#11885 Closes eclipse-theia#11886 Closes eclipse-theia#11916 Closes eclipse-theia#11880 Signed-off-by: Akos Kitta <[email protected]>
kittaakos
pushed a commit
to kittaakos/theia
that referenced
this issue
Jan 17, 2023
- feat: added support for `debug/toolbar` and `debug/variables/context`, - feat: added support for `debugState` when context (eclipse-theia#11871), - feat: can customize debug session timeout, and error handling (eclipse-theia#11879), - fix: the `debugType` context that is not updated, - fix: `configure` must happen after receiving capabilities (eclipse-theia#11886), - fix: added missing conext menu in the _Variables_ view, - fix: handle `setFunctionBreakboints` response with no `body` (eclipse-theia#11885), - fix: `DebugExt` fires `didStart` event on `didCreate` (eclipse-theia#11916), - fix: validate editor selection based on the text model (eclipse-theia#11880) Closes eclipse-theia#11871 Closes eclipse-theia#11879 Closes eclipse-theia#11885 Closes eclipse-theia#11886 Closes eclipse-theia#11916 Closes eclipse-theia#11880 Signed-off-by: Akos Kitta <[email protected]>
paul-marechal
added a commit
that referenced
this issue
Jan 24, 2023
* fix: various debug fixes and VS Code compatibility enhancements - feat: added support for `debug/toolbar` and `debug/variables/context`, - feat: added support for `debugState` when context (#11871), - feat: can customize debug session timeout, and error handling (#11879), - fix: the `debugType` context that is not updated, - fix: `configure` must happen after receiving capabilities (#11886), - fix: added missing conext menu in the _Variables_ view, - fix: handle `setFunctionBreakboints` response with no `body` (#11885), - fix: `DebugExt` fires `didStart` event on `didCreate` (#11916), - fix: validate editor selection based on the text model (#11880) Signed-off-by: Akos Kitta <[email protected]> * fix: use when context for command node filtering Signed-off-by: Akos Kitta <[email protected]> * chore: removed test debug VSIX Signed-off-by: Akos Kitta <[email protected]> * fix: revert `timeout` check Signed-off-by: Akos Kitta <[email protected]> * fix: clarification on the possible `'debugState'` Signed-off-by: Akos Kitta <[email protected]> * fix: use hard-coded debugger `clientID` and `clientName` Signed-off-by: Akos Kitta <[email protected]> * fix: use review-requested method name Signed-off-by: Akos Kitta <[email protected]> * fix: changed method name + added doc Signed-off-by: Akos Kitta <[email protected]> * fix: `stopTimeout` is a default `ctor` argument Signed-off-by: Akos Kitta <[email protected]> * fix: incorrect method name Signed-off-by: Akos Kitta <[email protected]> * fix: both `didCreate` and `didStart` must be API Signed-off-by: Akos Kitta <[email protected]> * fix: call both on create and start Signed-off-by: Akos Kitta <[email protected]> * fix: workaround for microsoft/vscode-mock-debug#85 Signed-off-by: Akos Kitta <[email protected]> * simplify writing The collection of contributed commands was written in a convoluted way, this commit makes it more straightforward with just 2 loops. * use `Math.max` to clamp values into positives The ternary implementation is stricly equivalent to the `Math.max` function, so use that instead. * fix default option value handling Assigning a default option object to set default values is problematic as said default values will be discarded if any option object is passed. Instead default values must be handled in conjuction of whatever options are passed to functions. Signed-off-by: Akos Kitta <[email protected]> Co-authored-by: Paul Maréchal <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Bug Description:
There could be a race condition when starting a debug session. I can consistently reproduce the issue with the debugger from the vscode.mock-debug VS Code extension. You can also use this: https://github.com/kittaakos/vscode-mock-debug/raw/theia/mock-debug-0.51.0.vsix
Problem:
Capabilities is initialized as an empty object:
theia/packages/debug/src/browser/debug-session.tsx
Lines 130 to 133 in fe8e4c1
Theia sends the
'initialize'
request here to get the debugger capabilities:theia/packages/debug/src/browser/debug-session.tsx
Line 275 in fe8e4c1
But the
initialized
event is received before thesendRequest('initialize')
resolves:theia/packages/debug/src/browser/debug-session.tsx
Line 112 in fe8e4c1
Theia starts the debug session configuration (e.g., exception breakpoint filters) with the empty, uninitialized capabilities object:
theia/packages/debug/src/browser/debug-session.tsx
Lines 307 to 318 in fe8e4c1
Once the debug session is configured, the capabilities are set:
theia/packages/debug/src/browser/debug-session.tsx
Line 287 in fe8e4c1
I can confirm I cannot reproduce the same with the Node.js debugger in Theia (from the sources).
Steps to Reproduce:
Additional Information
The text was updated successfully, but these errors were encountered: