forked from ruby/debug
-
Notifications
You must be signed in to change notification settings - Fork 4
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
Merge v1.7.2 #9
Merged
Merged
Merge v1.7.2 #9
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Related to Ruby bug 19416.
The test's subject is the `disconnect` request with `restart: false, terminateDebuggee: <true|false>` arguments, which has been covered by the tests in `disconnect_dap_test.rb`. So this test case has become obsolete. Co-authored-by: Andy Waite <13400+andyw8@users.noreply.github.com>
As discussed here: ruby@699a31e#r94469355
Co-authored-by: Andy Waite <andyw8@users.noreply.github.com>
dirceu
approved these changes
Mar 7, 2023
vinistock
approved these changes
Mar 7, 2023
- Display the greeting message regardless of the status of invocation of chrome. This allows coming back to the debugger on a new tab when the window process by `UI_CDP.run_new_chrome` is killed. - Handle `Errno::ESRCH` in `UI_CDP.cleanup_reader`. When the process by `UI_CDP.run_new_chrome` is killed, re-killing it breaks your debugging session and in turn the "debugee".
`UI_ServerBase#greeting` calls `#puts` with no arguments, this breaks reconnections to the debugger.
`Session#process_protocol_request` gracefully handles `Errno::ENOENT` when `eval`-ing `$FILENAME`, and it doens't exist.
When debug.gem tries to send response from multiple threads, the socket connection is closed. I confirmed this bug when using custom request from vscode-rdbg
Because Errno::EPIPE is rescued while sending message to socket, protocol_test_case_test.rb does not pass. protocol_test_case_test.rb had been passed because ReaderThreadError was occurred and the debuggee process was still alive. Here is a scenario. After closing socket, terminated event was sent. However socket was closed, so debuggee process raised Errno::EPIPE and debugggee process was still alive. The test framework detected the status and failed. Thus I fixed so that the test framework does not kill the debuggee process unexpectedly.
Methods ``respond``, ``respond_fail`` and ``fire_event`` can be aliased to ``send_response``, ``send_fail_response`` and ``send_event``, respectively.
`@session_server` should be assigned at first. `@session_server = Thread.current` in the session thread does not work because the creator thread can access to `@session_server` before it.
Found by running `rubocop --only=Lint/UselessAssignment`
UI_DAP -> Session: custom_dap_request_... Session -> ThreadClient: custom_dap_request_event_... Add "request_event" prefix to clarify it is a response (not Events in DAP)
on `, debug_command` form.
Breakpoints should be remained on reloaded files. To make sure maintaining loaded file names. fix ruby#870
1. `remote_info.failed_process` stores symbol but we only use the value's presence to check if the process is force-killed. 2. The force-killed status is directly controlled by `kill_safely` through `kill_remote_debuggee`, which is directly called right before we check the status with `remote_info.failed_process`. Combining the two, we can just let `kill_safely` and `kill_remote_debuggee` to return the force-killed status and not storing it in `remote_info`, which already contains a bunch of information. This also eliminates the need to pass `test_info` to `kill_safely`, which makes related code easier to understand and maintain.
The generated result in ThreadClient is passed as "result". We usually use it when returning responses to VS Code in Session class
When a thread keeps a lock, and REPL runs a code which needs the lock, other threads should make a progress to release the lock. fix ruby#877
From investigation by @ko1-san, the path to set breakpoints seems to be sent in "url" field when debugging in different environment such as WSL(running debuggee) and Windows(running Chrome DevTools). I supported "url" field in this PR.
Without this patch, `rdbg -v target.rb` prints version and terminates the process. With this pach, `-v` prints version and starts debugging for `target.rb`. If no filename is given, terminates the process.
This reverts commit 4313d91.
This reverts commit 1e0f45c.
st0012
force-pushed
the
st0012-merge-master
branch
2 times, most recently
from
March 29, 2023 15:42
0615a13
to
7887283
Compare
st0012
force-pushed
the
st0012-merge-master
branch
from
March 29, 2023 15:51
7887283
to
c2c0407
Compare
For some reasons the CI stopped being triggered but I have no idea why 😫 |
https://www.githubstatus.com/ is reporting some problems. |
@andyw8 Thanks so much! Never thought to take GH's issues into consideration, but now I will 😠 |
st0012
force-pushed
the
st0012-merge-master
branch
from
March 29, 2023 20:50
c2c0407
to
0bcdf58
Compare
vinistock
approved these changes
Mar 30, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
So content-wise, it's now inline with the upsteam's
v1.7.2
release.Note: ruby#947 didn't resolve the issue for DAP so I added ruby#950 for it, which I will open another PR to patch
issues-workaround
later.