I think setting `maxread=1` here will make the failure reliable without the need for a sleep in the child process. By default, `maxread` is 2000, so without the sleep, it will read and decode the whole lot in one go.