Skip to content
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

DAP "evaluate" request issued for invalid frameId #95367

Closed
int19h opened this issue Apr 15, 2020 · 3 comments
Closed

DAP "evaluate" request issued for invalid frameId #95367

int19h opened this issue Apr 15, 2020 · 3 comments
Assignees
Labels
bug Issue identified by VS Code Team member as probable bug debug Debug viewlet, configurations, breakpoints, adapter issues verified Verification succeeded
Milestone

Comments

@int19h
Copy link

int19h commented Apr 15, 2020

Created from microsoft/debug-adapter-protocol#60 (comment)

In microsoft/debugpy#112, we're seeing VSCode send "evaluate" requests with invalid "frameId" - they're sequenced immediately after "continue" or "next", which invalidates frame IDs for all frames retrieved prior to unpausing.

This came via a user-reported bug, for which we do not have our own repro. However, the user can repro it consistently and collect the logs.

The bug itself is about VSCode remote (SSH) sessions crashing during debugging, and in all cases, it appears that the crash immediately follows the IDE receiving a failure response to such an "evaluate" request. When DAP logging is enabled on both sides of the session, the client logs end when the request is sent, but the debug adapter logs show the request was received, processed, failed (due to invalid "frameId"), and failure response was sent back, after which the client disconnects eventually. We are not entirely sure that this problem is the root cause of the crashes, but given that this sequence of requests and responses shows up in all repro attempts so far, it's hard to believe that it is unrelated.

@weinand weinand added the debug Debug viewlet, configurations, breakpoints, adapter issues label Apr 16, 2020
@weinand weinand assigned isidorn and unassigned weinand Apr 16, 2020
@isidorn isidorn added the bug Issue identified by VS Code Team member as probable bug label Apr 16, 2020
@isidorn isidorn added this to the Backlog milestone Apr 16, 2020
@isidorn
Copy link
Contributor

isidorn commented Apr 16, 2020

Thanks for filling this issue.
As mentioned in the original comment
Yeah it is a bit tricky, since we do some ui optimisations (e.g we refresh the watch element with a slight timeout and thus it can happend that you get a stale evaluate). Thus I acknolwedge the bug but will not fix it right away, thus assinging to backlog.

@nickbattle
Copy link

We're seeing similar behaviour on 1.44.2.

After a debug stop, which retrieves a set of frameIds, a subsequent stop sometimes requests "scopes" for a frame using an old frameId (that is, a frameId from the previous stop). It doesn't happen every time - it's fairly rare, perhaps 1 in 50, but often enough to be an issue.

Logs available if required.

@isidorn
Copy link
Contributor

isidorn commented May 5, 2020

Should be fixed via bf77670
Good steps to repro here microsoft/vscode-js-debug#455

Please let me know if you still see this issue starting from Friday with VS Code insiders (when we have a new Insiders version).

@isidorn isidorn closed this as completed May 5, 2020
@isidorn isidorn modified the milestones: Backlog, May 2020 May 5, 2020
@connor4312 connor4312 added the verified Verification succeeded label Jun 4, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Jun 19, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Issue identified by VS Code Team member as probable bug debug Debug viewlet, configurations, breakpoints, adapter issues verified Verification succeeded
Projects
None yet
Development

No branches or pull requests

5 participants