Project

General

Profile

Bug #14957

MinGW, gcc 8.2.0, bootstraptest test_thread.rb - failure ?

Added by MSP-Greg (Greg L) about 2 years ago. Updated about 2 years ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-08-01 trunk 64156) [x64-mingw32] ?
[ruby-core:88260]
Tags:

Description

Very recently MSYS/MinGW updated gcc from 7.3.0 to 8.2.0. For the most part, every test suite runs fine except the bootstraptest test, which has a single failure on Appveyor:

#1379 test_thread.rb: 
     Thread.new("foo", &Object.method(:class_eval)).join
  #=> killed by SIGSEGV (signal 11)  [ruby-dev:34128]

I believe the test is here bootstraptest/test_thread.rb:L334, code below:

assert_normal_exit %q{
  Thread.new("foo", &Object.method(:class_eval)).join
}, '[ruby-dev: 34128]'

This is the first time I recall seeing an error in btest, so I haven't really looked at the code. assert_normal_exit saves the string in a file, then runs it. When I use the string with ruby -e, I get:

#<Thread:0x0000000002e7e5a8 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
-e:1:in `class_eval': Can't eval on top of Fiber or Thread (RuntimeError)

Not sure if that implies anything...

Four of the builds using gcc 8.2.0 are on Appveyor, downloading and running locally, the following passes (from bootstraptest):

ruby -v runner.rb --ruby=C:/Greg/Ruby99-x64b/bin/ruby.exe -v --sets=thread

Let's say I'm confused, fails on Appveyor, passes locally, etc. If anyone has any suggestions...

Thanks, Greg

Also available in: Atom PDF