From: Greg.mpls@... Date: 2020-04-06T00:00:30+00:00 Subject: [ruby-core:97725] [Ruby master Bug#16759] MinGW 2.5 - SEGV bug with Binding#local_variable_set Issue #16759 has been updated by MSP-Greg (Greg L). Thanks to the work by @Eregon in ruby/setup-ruby, the issue first appeared in 2.5.6. Passed ruby 2.4.10p364 ruby 2.5.0p0 ruby 2.5.1p57 ruby 2.5.3p105 ruby 2.5.5p157 ruby 2.6.0p0 Failed ruby 2.5.6p201 See: https://github.com/MSP-Greg/ruby-testing/actions/runs/71387353 ---------------------------------------- Bug #16759: MinGW 2.5 - SEGV bug with Binding#local_variable_set https://bugs.ruby-lang.org/issues/16759#change-84934 * Author: MSP-Greg (Greg L) * Status: Open * Priority: Normal * ruby -v: Ruby MinGW 2.5 * Backport: 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN ---------------------------------------- A failure with MinGW 2.5.8 appeared in ruby/spec CI from the below in core/binding/local_variable_set_spec.rb. I believe the specs passed on 2.5.7: ```ruby it "raises a NameError on global access" do bind = binding -> { bind.local_variable_set(:$0, "") }.should raise_error(NameError) end it "raises a NameError on special variable access" do bind = binding -> { bind.local_variable_set(:$~, "") }.should raise_error(NameError) -> { bind.local_variable_set(:$_, "") }.should raise_error(NameError) end ``` Working locally, the below code failed on both 2.5.7 and 2.5.8, but passed on mswin head & MinGW 2.6 thru head: ```ruby [:$0, :$~, :$_].each do |v| a = -> (bind) do bind.local_variable_set(v, '') end begin a[binding] rescue => e puts "#{v} #{e.class}" end ``` I checked other uses, see https://github.com/MSP-Greg/ruby-testing/blob/master/binding-local-variable.rb. I ran the file in Actions CI on both Ubuntu & Windows, see the 'binding issue' step on any job at: https://github.com/MSP-Greg/ruby-testing/actions/runs/71232731 -- https://bugs.ruby-lang.org/ Unsubscribe: