-
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
Ignore SIGINT when in a debugger REPL #165
Conversation
Nope was still catching this during messy teardowns. |
d86037a
to
f6f9b29
Compare
f6f9b29
to
c4346d9
Compare
0956b84
to
d762bba
Compare
Ok found an odd one while testing on 3.10. Basically if you don't have Traceback (most recent call last):
File ".../tractor/_debug.py", line 729, in _post_mortem
for _ in range(100):
File ".../tractor/310/lib/python3.10/site-packages/pdb.py", line 1227, in xpm
post_mortem(info[2], Pdb)
File "...tractor/310/lib/python3.10/site-packages/pdb.py", line 1175, in post_mortem
p.interaction(None, t)
File "...tractor/310/lib/python3.10/site-packages/pdb.py", line 216, in interaction
ret = self.setup(frame, traceback)
File "...tractor/310/lib/python3.10/site-packages/pdb.py", line 259, in setup
ret = super(Pdb, self).setup(frame, tb)
File "/usr/lib/python3.10/pdb.py", line 217, in setup
self.curframe = self.stack[self.curindex][0]
IndexError: list index out of range Pinning to |
534277d
to
0fca574
Compare
202ef63
to
20b902b
Compare
heyooo CI passss... I guess we're getting close? Next up:
IMO this PR has been delayed way more then long enough and we might as well push out another alpha to get this in as well as #293 |
Bleh, looks like |
0acfa79
to
16cf07f
Compare
Somehow this run passed: https://github.com/goodboy/tractor/runs/7063206690?check_suite_focus=true But after that it doesn't? |
Lol, ok then. |
d1ddfa4
to
2d387f2
Compare
Squashed all the squashables, just needs nooz and I think we're good to land. |
Some fixes for handling
SIGINT
/ control-c when running inguestdebug mode and dealing withpdb
internals that swap out thesigint
handler from under our feet.This resolves an issue when running theQt
loop in guest mode where control-c after atractor.breakpoint()
was resulting in a hang. There were 2 problems:- our handler was borked (bad type signature)- if we receiveSIGINT
in the root process we should always tear down the actor treeThere's been a long-standing bug to do with the root actor getting stuck hanging for the tty lock to release after a child locks it then becomes uncontactable over IPC.
Part of that was due to:
pdb
repl while in the middle of it) while in the debugger which can trigger cancellation that will clobber the tty statestill ToFix:
deferred to #320
still ToDo: deferred to #320
Next up:
ctl-c inside debugger REPL tests (for those that work)
follow up issue (set) for what we need to solve in terms of the much harder cases (Handling >= 1 depth (nested) actor trees in the debugger #320)
xfail
wasn't workin