Я читал, что при перенаправлении stdoutи stderrв один и тот же файл 2>&1, stdoutкак правило, буферизируется блок, а не буферизируется stderr.
Если записана очень длинная строка stdout, требующая двух отдельных очисток буфера, может ли получиться так, что строка stderrпоскальзывается посередине? Что-то вроде этого:
stdout: aaaaaaaa.....really long line......aaaaaaaaaaaa<newline>
stderr: eee<newline>
combined: aaaaaaaaaaaaaaaaeee<newline>
aaaaaaa<newline>