[rust-dev] Met with a terrible fate
alex at crichton.co
Wed Jul 2 18:23:40 PDT 2014
If you touch runtime services (such as those mentioned by Benjamin),
it is assume that a Rust Task  is available. In your case, you're
touching the unwinding service, but you have no set a catch-point for
the call to unwinding anywhere. This sounds like you're triggering a
failure without a task. This is akin to throwing a C++ exception
without a try/catch block on the stack.
You may wish to explore the std::rt::unwind  module, specifically
the try function , but keep in mind that it is unsafe and you must
be careful about what you're doing (the documentation explains this).
I love getting the runtime running in nonstandard locations, so if you
have any trouble, feel free to ping me on IRC! My nick is acrichto.
On Wed, Jul 2, 2014 at 6:07 PM, Isak Andersson <contact at bitpuffin.com> wrote:
> I have written a library in Rust that has some pub extern fv's in it so that
> they are callable from C. I wrote a C program to try calling these functions
> and I was met with the following message:
> % ./test
> You've met with a terrible fate, haven't you?
> fatal runtime error: Could not unwind stack, error = 5
> zsh: illegal hardware instruction ./test
> To begin with, nice reference!
> Second of all. How do I fix this, I am guessing that I need to start the
> rust runtime or something but I don't know how to do this, if someone could
> point me in the right direction that would be great!
> If you need more specific code examples of what I'm doing I can provide it
> it's just that I'm gonna sleep now and it doesn't seem like that's all too
> relevant. Also I did link to the libraries in the order it told me to.
> Isak Andersson
> Rust-dev mailing list
> Rust-dev at mozilla.org
More information about the Rust-dev