Follow-up Comment #9, bug #15719 (project make): With cvs HEAD (as of 2012-12-09), I've seen TEST #11 ("thing1,thing2 start,end") sometimes failing, even without so much load on the Linux build machine, where the diff output shows /missing/ lines.
Extracting this test and running in a loop with strace (test script attached) shows the situation when output lines get lost: When those two shells running the "echo thingX start; sleep 1; echo thingX end" command do the write(1, "thingX ...") syscall (because echo being a shell-builtin) at the same time (on different cores), one of the line is overwritten by the other one. However, I've seen this happening when the output is redirected to a file only. So indeed the tests seem fragile, for these two reasons: 1) It does expect the output lines from concurrent processes in a particular order. 2) It does expect the output lines from concurrent processes redirected to one stream to not overwrite each other. But I've failed to find a spec about how the content is expected to be merged when multiple processes concurrently write to a single file descriptor... (file #27084) _______________________________________________________ Additional Item Attachment: File name: makebug-15719-test11.sh Size:0 KB _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?15719> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make