Windows: Throwing Exceptions from Fibers in D2.059: Access Violation
David Nadlinger
see at klickverbot.at
Thu Apr 19 08:40:26 PDT 2012
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
More information about the Digitalmars-d
mailing list