summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Kokubun <takashikkbn@gmail.com>2020-12-10 21:56:48 -0800
committerTakashi Kokubun <takashikkbn@gmail.com>2020-12-10 21:56:49 -0800
commit885135f84cd609fb1c7be3fa0a20ae77969eae9d (patch)
tree662a0580a8a13d6d2bf0e3e0482755aed36ed7b0
parent4439b783366aa8d7dddbb39673f4074bb062f3d6 (diff)
Allow an MJIT worker to show a backtrace on SEGV
An MJIT worker thread doesn't have ec, and it's required for SDR() and rb_backtrace_print_as_bugreport(). Therefore it must be checked.
-rw-r--r--vm_dump.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/vm_dump.c b/vm_dump.c
index 6548a705dc..46c2520769 100644
--- a/vm_dump.c
+++ b/vm_dump.c
@@ -941,8 +941,9 @@ rb_vm_bugreport(const void *ctx)
enum {other_runtime_info = 0};
#endif
const rb_vm_t *const vm = GET_VM();
+ const rb_execution_context_t *ec = GET_EC();
- if (vm) {
+ if (vm && ec) {
SDR();
rb_backtrace_print_as_bugreport();
fputs("\n", stderr);