From: "U.Nakamura" Date: 2009-01-28T11:40:06+09:00 Subject: [ruby-core:21625] Re: [Bug #1063] in `write': Not enough space - (Errno::ENOMEM) on Windows XP Hello, In message "[ruby-core:21616] [Bug #1063] in `write': Not enough space - (Errno::ENOMEM) on Windows XP" on Jan.28,2009 03:06:21, wrote: > Hmm. It does seem that running > > STDOUT.write "a"*100000000 > > works on windows in 1.8.6 but not 1.9 It's Windows' bug. The border is about 60KB. I found this bug about 7 years ago, and I considered that it is not critical. If you want to reproduce on 1.8.6, STDOUT.binmode.write "a"*100000000 And if you want to reproduce it without ruby, #include #include #include #define LEN 100000000 int main() { DWORD sz; char *str = malloc(LEN + 1); memset(str, 'a', LEN); str[LEN] = '\0'; WriteFile(GetStdHandle(STD_OUTPUT_HANDLE), str, LEN, &sz, NULL); printf("%d, %d\n", sz, GetLastError()); free(str); return 0; } Regards, -- U.Nakamura