Fiber and embedding differences in 1.9.2 versus 1.9.3 series

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. :slight_smile:

Cheers,
Garth

Hi everyone,

Darn- no responses. Well, worth a shot. Thanks to anyone who considered
it and would have liked to help.

It’s also possible my question is ill-formed- perhaps the issue isn’t
Fiber changes between 1.9.2 and 1.9.3, but something else that is
interacting with my code in an undesirable way.

I’m sure I’ll figure something out when the time comes. :slight_smile:

Cheers,
Garth