I experience the exact same problem on Windows 7 64-bit.
> import std.stdio;
>
> int main() {
> char[] buf;
> while (stdin.readln(buf))
> write(buf);
> return 0;
> }
If compiled as "test.exe", running the following command:
> echo "test line 1" | test
Produces the following result:
> std.stdio.StdioException: Bad file descriptor
> "test line 1"
>