From: ko1@... Date: 2021-02-01T17:13:55+00:00 Subject: [ruby-core:102364] [Ruby master Bug#17577] Segfault when sending some Exceptions to a Ractor Issue #17577 has been updated by ko1 (Koichi Sasada). Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: UNKNOWN to 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: REQUIRED Status changed from Open to Closed 1cdae49d39fbaef654df487f168d1fb14a146d59 soleves. ---------------------------------------- Bug #17577: Segfault when sending some Exceptions to a Ractor https://bugs.ruby-lang.org/issues/17577#change-90225 * Author: marcandre (Marc-Andre Lafortune) * Status: Closed * Priority: Normal * Assignee: ko1 (Koichi Sasada) * ruby -v: 3.0.0p0 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN, 3.0: REQUIRED ---------------------------------------- The following segfaults: ```ruby r = Ractor.new { receive } begin foo # => raises a NoMethodError rescue Exception => e r.send(e) end p r.take ``` Note that some exceptions are ok: ```ruby raise # => ok raise NoMethodError, '...' # => ok 's'.to_i(-2) # => ok foo # => segfault Xyz # => segfault ``` Present on 3.0.0p0 as well as master (ruby 3.1.0dev (2021-01-24T14:26:11Z master 30f11e73c4) [x86_64-darwin18]) ``` -- Control frame information ----------------------------------------------- c:0004 p:0003 s:0019 e:000018 METHOD :583 c:0003 p:0025 s:0012 e:000011 RESCUE ractor.rb:5 c:0002 p:0025 s:0008 E:000680 EVAL ractor.rb:2 [FINISH] c:0001 p:0000 s:0003 E:001b80 (none) [FINISH] -- C level backtrace information ------------------------------------------- /Users/mal/.rbenv/versions/dev/bin/ruby(rb_vm_bugreport+0x732) [0x105de8672] /Users/mal/.rbenv/versions/dev/bin/ruby(rb_bug_for_fatal_signal+0x1dc) [0x105bf671c] /Users/mal/.rbenv/versions/dev/bin/ruby(sigsegv+0x5b) [0x105d3c87b] /usr/lib/system/libsystem_platform.dylib(_sigtramp+0x1d) [0x7fff61425b5d] [0x34] /Users/mal/.rbenv/versions/dev/bin/ruby(rb_objspace_reachable_objects_from+0xa3) [0x105c19193] /Users/mal/.rbenv/versions/dev/bin/ruby(obj_traverse_replace_i+0x38d) [0x105cedb0d] /Users/mal/.rbenv/versions/dev/bin/ruby(obj_traverse_replace_i+0x46f) [0x105cedbef] /Users/mal/.rbenv/versions/dev/bin/ruby(ractor_send+0x18b) [0x105ce8fdb] /Users/mal/.rbenv/versions/dev/bin/ruby(vm_exec_core+0x77ea) [0x105dbfcaa] /Users/mal/.rbenv/versions/dev/bin/ruby(rb_vm_exec+0xb36) [0x105dd0916] /Users/mal/.rbenv/versions/dev/bin/ruby(rb_ec_exec_node+0x14d) [0x105c01aad] /Users/mal/.rbenv/versions/dev/bin/ruby(ruby_run_node+0x57) [0x105c018f7] /Users/mal/.rbenv/versions/dev/bin/ruby(main+0x71) [0x105b51141] ``` -- https://bugs.ruby-lang.org/ Unsubscribe: