-
Notifications
You must be signed in to change notification settings - Fork 12
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
Debugger hardening #217
Closed
Closed
Debugger hardening #217
Commits on Jul 5, 2021
-
Configuration menu - View commit details
-
Copy full SHA for fcd7356 - Browse repository at this point
Copy the full SHA fcd7356View commit details -
Don't kill root's immediate children when in debug
If the root calls `trio.Process.kill()` on immediate child proc teardown when the child is using pdb, we can get stdstreams clobbering that results in a pdb++ repl where the user can't see what's been typed. Not killing such children on cancellation / error seems to resolve this issue whilst still giving reliable termination. For now, code that special path until a time it becomes a problem for ensuring zombie reaps.
Configuration menu - View commit details
-
Copy full SHA for 9f1f956 - Browse repository at this point
Copy the full SHA 9f1f956View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2b4cf61 - Browse repository at this point
Copy the full SHA 2b4cf61View commit details -
Configuration menu - View commit details
-
Copy full SHA for c74c295 - Browse repository at this point
Copy the full SHA c74c295View commit details -
Configuration menu - View commit details
-
Copy full SHA for e03d3c9 - Browse repository at this point
Copy the full SHA e03d3c9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 13077cb - Browse repository at this point
Copy the full SHA 13077cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for f75fe17 - Browse repository at this point
Copy the full SHA f75fe17View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7ecad76 - Browse repository at this point
Copy the full SHA 7ecad76View commit details -
Configuration menu - View commit details
-
Copy full SHA for 988574a - Browse repository at this point
Copy the full SHA 988574aView commit details -
Configuration menu - View commit details
-
Copy full SHA for b83bf06 - Browse repository at this point
Copy the full SHA b83bf06View commit details -
Solve the root-cancels-child-in-tty-lock race
Finally this makes a cancelled root actor nursery not clobber child tasks which request and lock the root's tty for the debugger repl. Using an edge triggered event which is set after all fifo-lock-queued tasks are complete, we can be sure that no lingering child tasks are going to get interrupted during pdb use and tty lock acquisition. Further, even if new tasks do queue up to get the lock, the root will incrementally send cancel msgs to each sub-actor only once the tty is not locked by a (set of) child request task(s). Add shielding around all the critical sections where the child attempts to allocate the lock from the root such that it won't be disrupted from cancel messages from the root after the acquire lock transaction has started.
Configuration menu - View commit details
-
Copy full SHA for 4800dfe - Browse repository at this point
Copy the full SHA 4800dfeView commit details -
Configuration menu - View commit details
-
Copy full SHA for 668d785 - Browse repository at this point
Copy the full SHA 668d785View commit details -
Configuration menu - View commit details
-
Copy full SHA for 29cd0cf - Browse repository at this point
Copy the full SHA 29cd0cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 20b91e2 - Browse repository at this point
Copy the full SHA 20b91e2View commit details -
Adjust debug tests to accomodate no more root clobbering
We may get multiple re-entries to debugger by `bp_forever` sub-actor now since the root will incrementally try to cancel it only when the tty lock is not held.
Configuration menu - View commit details
-
Copy full SHA for f2a1064 - Browse repository at this point
Copy the full SHA f2a1064View commit details -
Configuration menu - View commit details
-
Copy full SHA for 72a40e8 - Browse repository at this point
Copy the full SHA 72a40e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2dd7c06 - Browse repository at this point
Copy the full SHA 2dd7c06View commit details -
Configuration menu - View commit details
-
Copy full SHA for 57de0d6 - Browse repository at this point
Copy the full SHA 57de0d6View commit details
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.