On Thursday, 19 April 2012 at 01:32:34 UTC, Andrew Lauritzen
wrote:
The x32 Windows code should be pretty well tested. If this is
using the x64 code though, that's all quite new. I'll give
this a try when I find some time, but can't suggest a
workaround offhand. It almost sounds alignment-related, which
could be tricky.
This is using the x86 (32-bit) code, so I'm not sure what could
be going wrong. Is it well-tested on Windows too? Seems like
something about the interaction between the fiber context/stack
and SEH is not happy.
Gah, not this again. *sigh*
It is semi-well tested as in that I'm relying on it for async I/O
in Thrift, and its test suite now passes on every Windows box I
tested.
If you can spare the time, it would be great if you cloud
download DMD 2.057 and try if the test case also fails with it on
your setup. The reason is that I changed the way the top of the
SEH chain is set up for fibers in 2.058 to make it work on
Windows Server 2008/2008 R2, and maybe I inadvertently screwed up
the stack alignment/… (you have to reverse-engineer the gritty
details of SEH as you are going, and you never know whether you
really »got it right« in terms of Microsoft's internal specs).
David