Message139132
As noted in issue #11870, making faulthandler capable of dumping child processes' tracebacks could be a great aid in debugging tricky deadlocks involving for example multiprocessing and subprocess.
Since there's no portable way to find out child processes, a possible idea would be to make the handler send a signal to its process group if the current process is the process group leader.
Advantages:
- simple
- async-safe
Drawbacks:
- since all the processes receive the signal at the same time, their outputs will be interleaved (we could maybe add a random sleep before dumping the traceback?)
- children not part of the same process group (for example those who called setsid() or setpgrp()) won't be handled
I'm not sure how this would work out on Windows, but I don't event know if Windows has a notion of child processes or process groups... |
|
Date |
User |
Action |
Args |
2011-06-25 23:53:31 | neologix | set | recipients:
+ neologix, vstinner |
2011-06-25 23:53:31 | neologix | set | messageid: <1309046011.52.0.650507172396.issue12413@psf.upfronthosting.co.za> |
2011-06-25 23:53:30 | neologix | link | issue12413 messages |
2011-06-25 23:53:30 | neologix | create | |
|