Skip to content

Commit

Permalink
Kill Manticore if _any_ state encounters unrecoverable exception
Browse files Browse the repository at this point in the history
This is useful for CHESS because we of how Manticore tasks are killed
through signals. Previously, a signal/exception is caught by the current
active state and then printed. This is an issue because if there is more
than one state, Manticore doesn't actually die when we want.

This change now kills Manticore when _any_ state encounters an
unrecoverable exception or assertion and operates as we expect upon a
death signal.

In the future, when upstreaming this branhc, we probably want to make
this opt-in to preserve previous functionality expectations.
  • Loading branch information
ekilmer committed Jul 9, 2021
1 parent 27e0754 commit 0fa906d
Showing 1 changed file with 3 additions and 0 deletions.
3 changes: 3 additions & 0 deletions manticore/core/worker.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,9 @@ def run(self, *args):
m._kill_state(current_state.id)
m._publish("did_kill_state", current_state, exc)
current_state = None
# Kill Manticore if _any_ state encounters unrecoverable
# exception/assertion
m.kill()
break

# Getting out.
Expand Down

0 comments on commit 0fa906d

Please sign in to comment.