You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
While the coroutine is unwinding, Drop of A will be called. Coroutine is yield in the drop() function. Coroutine is now suspended, which means that the currently thread is still in panicking status, but execution process is now be switched to another coroutine. If the other coroutine panic, too, then it will definitely cause panic while panicking!.
The text was updated successfully, but these errors were encountered:
@zonyitoo Yup that's basically why we asked the Rust devs to reconsider and stop using TLS for panics in the stdlib back then when we worked on coio. Since they denied my PR and basically said that it's unlikely even for an RFC to change this behaviour I think this might be a dead end for the project. 😕 (Unless you fork the stdlib of course.)
zonyitoo
changed the title
Yield coroutines while stack unwinding causes panic while panicking
[FATAL] Yield coroutines while stack unwinding causes panic while panicking
Aug 26, 2018
Reproducible example:
While the coroutine is unwinding,
Drop
ofA
will be called. Coroutine is yield in thedrop()
function. Coroutine is now suspended, which means that the currently thread is still in panicking status, but execution process is now be switched to another coroutine. If the other coroutine panic, too, then it will definitely cause panic while panicking!.The text was updated successfully, but these errors were encountered: