From: "nagachika (Tomoyuki Chikanaga)" Date: 2012-12-18T23:03:18+09:00 Subject: [ruby-core:50966] [ruby-trunk - Bug #7570][Closed] rb_fatal() in Fiber don't terminate process Issue #7570 has been updated by nagachika (Tomoyuki Chikanaga). Status changed from Open to Closed Thank you for your review. I've committed at r38441. ---------------------------------------- Bug #7570: rb_fatal() in Fiber don't terminate process https://bugs.ruby-lang.org/issues/7570#change-34828 Author: nagachika (Tomoyuki Chikanaga) Status: Closed Priority: Low Assignee: ko1 (Koichi Sasada) Category: core Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-12-16 trunk 38414) [x86_64-darwin10.8.0] rb_fatal() (C function) should terminate whole script. Thread.start{ rb_fatal() # a extension library method calling rb_fatal() }.resume p :ng # => never reached here But rb_fatal() inside Fiber could be ignored. Fiber.start{ rb_fatal() }.resume p :ng # => reached here! I think it's because TAG_FATAL is ignored in rb_vm_make_jump_tag_but_local_jump(). I'll attach a patch with a testcase. -- http://bugs.ruby-lang.org/