Boost logo

Boost :

Subject: Re: [boost] [coroutine] x86 msvc11 stack corruption
From: Tobias Loew (Tobias.Loew_at_[hidden])
Date: 2014-12-12 11:08:16


Here is another interesting fact about coroutines on windows:
when you load a managed dll from a new created stack (in my case using
CreateFiber) and this dll loads the clr.dll into the process space, then the
following happens:
After the coroutine is finished (i.e. the fiber is deleted) the
VectoredExceptionHandler installed by clr.dll is invalid, thus on the first
exception thrown the program crashes.

The crash won't happen if the clr.dll was already loaded on the
main-execution-threads stack.

I also reported this problem to microsoft:

https://connect.microsoft.com/VisualStudio/feedback/details/1053214/loading-clr-dll-from-a-fiber-may-crash-process

Tobias

--
View this message in context: http://boost.2283326.n4.nabble.com/coroutine-x86-msvc11-stack-corruption-tp4657990p4670094.html
Sent from the Boost - Dev mailing list archive at Nabble.com.

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk