Windows: Throwing Exceptions from Fibers in D2.059: Access Violation

Sean Kelly sean at invisibleduck.org
Thu Apr 19 22:04:43 PDT 2012


On Apr 19, 2012, at 6:50 PM, "Andrew Lauritzen" <andrew.lauritzen at gmail.com> wrote:

>> 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).
> 
> Yeah I feel your pain on Windows SEH stuff and lack of docs. I actually work with someone who used to work on Visual C++ so I'll see if I can get any info/links out of him on the subject that may be helpful :)
> 
> In the mean time, as per the issue in the discussion, the plot has thickened to include there being apparently side-effects to putting break-points/debugging the code itself, which throws a big wrench into my analysis of what is going wrong. Suffice it say, I'm not sure it's actually D's problem, although I'm still worried by the "Stack Overflow" message.
> 
> I'll grab 2.057 and give it a test though to see if the behavior is any different. Thanks!

Stack overflow?  Give the fiber a larger stack when you create it. The default is really rather small. 


More information about the Digitalmars-d mailing list