Open 0f-0b opened 6 days ago
This behaviour occurs because while killing of child processes is an async operation, the triggering of the killing is a sync operation and the child may have died already from the SIGCHLD
(or a natural exit) before you try to call abort()
.
This is a bug in Deno. At the minimum we should ensure that the call to childProcess.kill()
inside of the onAbort
handling of ChildProcess
has a try {} catch {}
around it that swallows the error. Secondly we should also consider suppressing the error altogether from childProcess.kill()
when the child is already dead.
On a Mac running macOS 15.1, the
abort
call sometimes throws aTypeError
.I wasn't able to reproduce this issue in a single-core Linux VM.