From: Greg.mpls@... Date: 2017-04-19T16:17:28+00:00 Subject: [ruby-core:80797] [Ruby trunk Bug#13485] MinGW TestEnumerable#test_callcc SEGV info Issue #13485 has been reported by MSP-Greg (Greg L). ---------------------------------------- Bug #13485: MinGW TestEnumerable#test_callcc SEGV info https://bugs.ruby-lang.org/issues/13485 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.0dev (2017-04-18 trunk 58397) [x64-mingw32] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- Re the patch needed in MinGW builds for [TestEnumerable#test_callcc](https://github.com/ruby/ruby/blob/d6873af4bdc99914f20f6184966fa840c91bdf10/test/ruby/test_enum.rb#L559-L570) (file `test/ruby/test_enum.rb`), I ran the following code with `--disable-gems`: ```ruby require_relative '/lib/ruby/2.5.0/x64-mingw32/continuation.so' 1000.times { c = nil o = Object.new class << o; self; end.class_eval do define_method(:<=>) do |x| callcc {|c2| c ||= c2 } 0 end end ary = [o,o] begin ary.sort_by {|x| x } c.to_s ; c.call rescue end } ``` Attached is a file with the code and the SEGV output when running. I removed the ruby path to shorten it. Note that if the line - ```ruby c.to_s ; c.call ``` is replaced with - ```ruby c.call ``` my system hangs/stops. No output, no response; have to force the command window closed... ---Files-------------------------------- TestEnumerable#call_cc_SEGV.txt (4.01 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: