[MLton] Cygwin, file open, and reserveEsp
Stephen Weeks
MLton@mlton.org
Tue, 23 Dec 2003 22:19:23 -0800
> But, I'm guessing that Steve did an strace to find the failing
> system call, so the code up to that point is working. Can we figure
> out what error is set?
The failing system call is open
-1 = Posix_FileSys_open (/tmp/package-mlton-cygwin/build/lib/world.mlton, 0x00010601, 0x000001b6)
The resulting errno is EFAULT, and the message is "Bad address". The
problem is definitely not the string, however, since I have tried
hardwiring in a static string constant and it fails in exactly the
same way. I have also tried making the same open call earlier in the
processing, and it works fine. Although, I didn't do a binary search
to find out exactly when things change from good to bad, with self
compiles being so slow and all.
So, the only explanation I have is that we are corrupting the stack,
making a bad C call, or Cygwin is buggy in some other way.