slawlor / ractor

Rust actor framework
MIT License
1.3k stars 66 forks source link

When panic=abort is on, panic is not captured. #214

Closed Escapingbug closed 3 months ago

Escapingbug commented 3 months ago

Describe the bug

I'm not sure if this is intended. But while I'm testing, when panic = "abort" option within Cargo.toml is set, the panic's are not captured and directly exits the process.

This can be troublesome as we are in a special occasion that this option must be on. So the problem becomes real as we cannot capture the panic and stay stable.

To Reproduce

Set the panic = "abort" and try panic in an actor's handling function.

Expected behavior

Panic is properly captured and won't exit the whole process.

Additional context Add any other context about the problem here (e.g. Rust version, other crates imported, etc)

slawlor commented 3 months ago

By setting panic to abort there's nothing you can do to capture it. The framework will exit the process.

Unfortunately to capture panics you can't be in abort mode. I would suggest using errors instead of panics wear possible