I agree it is strange; but I will fall back on my first comment here:
- STDOUTis handled "normally" -- I'll go out on a limb here and characterize it as "system-level buffered stream I/O" and pray I didn't just embarrass myself (more than usual) with that line. :-) Thus, it behaves normally.
- STDERR, on the other hand, seems to get "special" handling -- some kind of additional buffering beyond the standard "system-level buffered stream I/O". My guess is that herein, in this extra handling, that we've tripped on a landmine; and thus hoping that by piping it to a file, we circumvent the problem.