summaryrefslogtreecommitdiffhomepage
path: root/src/backtrace.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-04-26 16:46:44 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-04-26 16:46:44 +0900
commit14bd07f83110e39bf258662f2bc0fac903bd0547 (patch)
tree27f591af50f9f6bd01345a938321f2ef44d906ff /src/backtrace.c
parentb93746370665075512ec0b575eb6ced6323bc170 (diff)
downloadmruby-14bd07f83110e39bf258662f2bc0fac903bd0547.tar.gz
mruby-14bd07f83110e39bf258662f2bc0fac903bd0547.zip
backtrace.c: skip innermost frame only when the method is in C; #5394
Diffstat (limited to 'src/backtrace.c')
-rw-r--r--src/backtrace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/backtrace.c b/src/backtrace.c
index b8aee8ad6..6e7e66f8c 100644
--- a/src/backtrace.c
+++ b/src/backtrace.c
@@ -62,7 +62,7 @@ each_backtrace(mrb_state *mrb, ptrdiff_t ciidx, each_backtrace_func func, void *
idx = (uint32_t)(pc - irep->iseq);
loc.lineno = mrb_debug_get_line(mrb, irep, idx);
- if (n++ == 0 && loc.lineno == -1) continue;
+ if (n++ == 0 && loc.lineno == -1 && ci->acc < 0) continue;
loc.filename = mrb_debug_get_filename(mrb, irep, idx);
if (!loc.filename) {