Timeline for Race Condition for Shell Blocks in Bash?
Current License: CC BY-SA 4.0
9 events
| when toggle format | what | by | license | comment | |
|---|---|---|---|---|---|
| Nov 28, 2018 at 10:01 | history | edited | nehcsivart | CC BY-SA 4.0 |
updated the original update to remove incorrect information
|
| Nov 28, 2018 at 9:55 | answer | added | nehcsivart | timeline score: 1 | |
| Nov 25, 2018 at 20:53 | comment | added | user313992 |
@Kusalananda this doesn't have to be deterministic (unless you mean it in a philosophical sense). In a pipeline like foo | bar, how much a read(2) inside bar will return is dependent not only on how much foo is writing into the pipe, but also on how the kernel schedules the foo and bar processes to run. Notice that pipes on Unix are not message/boundary preserving; 5 writes in foo may result in a single read in bar.
|
|
| Nov 25, 2018 at 20:28 | answer | added | user313992 | timeline score: 2 | |
| Nov 25, 2018 at 9:39 | comment | added | Rui F Ribeiro | WSL is not Linux....it emulates a Linux environment for all purposes, on top of the Windows HAL. Hmmmm...I wonder.where is Ipor Sircer and his "File a bug report". | |
| Nov 25, 2018 at 9:18 | history | edited | nehcsivart | CC BY-SA 4.0 |
added update note with idea of what the issue might be
|
| Nov 25, 2018 at 9:12 | comment | added | nehcsivart |
@Kusalananda I see this with i < 1000 on Windows Subsystem for Linux, and i < 10 for ArchLinux. Now that you mention it, this might be a Windows Subsystem for Linux issue (with regards to the non-determinism). For ArchLinux, at least so far, the behavior seems deterministic. I will update the question with this information.
|
|
| Nov 25, 2018 at 8:35 | comment | added | Kusalananda♦ |
What Unix are you on? On some Unices, the head implementation buffers too much of the input data and leaves nothing for tail to work on (this is an error). This ought to be deterministic though.
|
|
| Nov 25, 2018 at 8:20 | history | asked | nehcsivart | CC BY-SA 4.0 |