diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2019-06-06 09:54:29 +1200 |
---|---|---|
committer | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2019-06-19 20:39:10 +1200 |
commit | 9cb4e7725f668318d08cb79b1459a04eadf2f925 (patch) | |
tree | c93f5937dbffa39e35f9da1501f8225583307089 /vm_backtrace.c | |
parent | 5855af73b8d7233bcdb18b6dda5c0058cbc315bf (diff) | |
download | ruby-9cb4e7725f668318d08cb79b1459a04eadf2f925.tar.gz |
Handle (empty) backtrace when thread is not born yet.
Diffstat (limited to 'vm_backtrace.c')
-rw-r--r-- | vm_backtrace.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/vm_backtrace.c b/vm_backtrace.c index bb01983a7c..4f92439478 100644 --- a/vm_backtrace.c +++ b/vm_backtrace.c @@ -451,6 +451,12 @@ backtrace_each(const rb_execution_context_t *ec, const rb_control_frame_t *cfp; ptrdiff_t size, i; + // In the case the thread vm_stack or cfp is not initialized, there is no backtrace. + if (start_cfp == NULL) { + init(arg, 0); + return; + } + /* <- start_cfp (end control frame) * top frame (dummy) * top frame (dummy) |