◐ Shell
clean mode source ↗

Message 285921 - Python tracker

The attached script hits some "This should never happen" code in the subprocess module.

These lines here:
https://github.com/python/cpython/blob/2.7/Lib/subprocess.py#L1036-L1038

The root cause is a lack of checking WIFSTOPPED and WSTOPSIG in the handler.

When a process elects into being ptraced via PTRACE_TRACEME, it is stopped on the SIGSEGV instead of terminating, allowing the user to attach a debugger before the kernel destroys the process.

This bug makes it impossible to wait on any process which crashes, which is set up to wait for a debugger.