Hi everyone,

I don't suppose anybody knows much about the differences in Fiber 
implementation, especially with respect to embedding, between the MRI 
1.9.2 and 1.9.3 series? If so, would you be be happy to share some links 
and resources?

Over the last couple of days I've been looking at updating the version 
of MRI Ruby that I am embedding in my project. After a bit of work I've 
been able to get most of the 1.9.2 series working fine, including the 
latest, but my attempts to get things working with the 1.9.3 series have 
fallen flat.

For 1.9.3, I have concentrated on p0 and p392 for now. My app makes 
heavy use of coroutines (ie. Fibers), and tends to segfault at a similar 
point, with severe stack corruption (basically the top two stack frames 
have different values for "this" for the same object, essentially 
impossible). This occurs in the middle of a call back to the containing 
C++ code, during a coroutine. The complexity and corruption is making 
debugging rather difficult.

Whilst I'm leaving it for now (the latest 1.9.2 is sufficient for my 
purposes), I'd like to take a crack at it again in the future. Given the 
nature of the issue and the difficulty in debugging it, I'd like to be a 
bit more knowledgeable on the issues the next time I dive in and try to 
solve it.

If anyone can point to any links, discussion, or hints on any 
fundamental changes to Fibers between the 1.9.2 and 1.9.3 series, it 
would be much appreciated. I'm happy to do the legwork and the reading, 
but I'd be thrilled if anyone could throw some starting points for 
research or hints my way. :)

Cheers,
Garth