[前][次][番号順一覧][スレッド一覧]

ruby-changes:69656

From: Yusuke <ko1@a...>
Date: Tue, 9 Nov 2021 14:53:18 +0900 (JST)
Subject: [ruby-changes:69656] 6cf7c0a48f (master): test/readline/test_readline.rb: skip a test on i686-linux

https://git.ruby-lang.org/ruby.git/commit/?id=6cf7c0a48f

From 6cf7c0a48fb07a765d447404aba33636d9d87c89 Mon Sep 17 00:00:00 2001
From: Yusuke Endoh <mame@r...>
Date: Tue, 9 Nov 2021 14:48:10 +0900
Subject: test/readline/test_readline.rb: skip a test on i686-linux

... because readline library (or libtinfo) seems to cause SEGV
internally even with Readline 8.1.

This SEGV is caught as SystemStackError, which leads to a test failure.
http://rubyci.s3.amazonaws.com/debian-i386/ruby-master/log/20211109T030008Z.fail.html.gz
```
  1) Failure:
TestReadline#test_interrupt_in_other_thread [/home/chkbuild/chkbuild/tmp/build/20211109T030008Z/ruby/test/readline/test_readline.rb:568]:
Unknown failure with exit status pid 13097 exit 1
Log: ** START **Readline::VERSION is 8.1.
/home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `readline': stack level too deep (SystemStackError)
	from /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `block in <main>'
/home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `readline': stack level too deep (SystemStackError)
	from /home/chkbuild/chkbuild/tmp/build/20211109T030008Z/tmp/interrupt_in_other_thread20211109-6272-kcfqxo:13:in `block in <main>'
```
---
 test/readline/test_readline.rb | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/test/readline/test_readline.rb b/test/readline/test_readline.rb
index 2dc5de756a4..f59e9ee9002 100644
--- a/test/readline/test_readline.rb
+++ b/test/readline/test_readline.rb
@@ -488,6 +488,12 @@ module BasetestReadline https://github.com/ruby/ruby/blob/trunk/test/readline/test_readline.rb#L488
     omit "Skip Readline 7.0" if Readline::VERSION == "7.0"
     omit unless respond_to?(:assert_ruby_status)
     omit if /mswin|mingw/ =~ RUBY_PLATFORM
+
+    # On 32-bit machine, readline library (or libtinfo) seems to cause SEGV internally even with Readline 8.0
+    # GDB Backtrace: https://gist.github.com/mame/d12b9de3bbc3f16d440c1927398d176a
+    # Maybe the same issue: https://github.com/facebookresearch/nle/issues/120
+    omit if /i[3-6]86-linux/ =~ RUBY_PLATFORM
+
     code = <<-"end;"
       $stdout.sync = true
       require 'readline'
-- 
cgit v1.2.1


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]