diff options
author | Lukas Larsson <[email protected]> | 2014-12-04 11:09:06 +0100 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2014-12-19 10:39:52 +0100 |
commit | ffd0153e6dffcc29cf79d0191860047dba0438bb (patch) | |
tree | 31a0ced512b5b243caa5933c73aa4dc70d6c0c87 /erts/emulator/beam/erl_bif_info.c | |
parent | e2a600341324d2ce3689119f8fd61b248702d79f (diff) | |
download | otp-ffd0153e6dffcc29cf79d0191860047dba0438bb.tar.gz otp-ffd0153e6dffcc29cf79d0191860047dba0438bb.tar.bz2 otp-ffd0153e6dffcc29cf79d0191860047dba0438bb.zip |
erts: Improve crash dumps
This commit improves crash dumps in several ways:
* Suspends schedulers to get a current snapshot
* Dumps information about scheduler
* Dumps stack trace of current running process
(including Garbing processes)
Diffstat (limited to 'erts/emulator/beam/erl_bif_info.c')
-rw-r--r-- | erts/emulator/beam/erl_bif_info.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index d2ee5e4224..d750e34be3 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -3900,6 +3900,13 @@ BIF_RETTYPE erts_debug_set_internal_state_2(BIF_ALIST_2) } } } + else if (ERTS_IS_ATOM_STR("broken_halt", BIF_ARG_1)) { + /* Ugly ugly code used by bif_SUITE:erlang_halt/1 */ +#if defined(ERTS_HAVE_TRY_CATCH) + erts_get_scheduler_data()->run_queue = NULL; +#endif + erl_exit(ERTS_DUMP_EXIT, "%T", BIF_ARG_2); + } } BIF_ERROR(BIF_P, BADARG); |