Skip to content

Commit

Permalink
test/readline/test_readline.rb: skip a test on i686-linux
Browse files Browse the repository at this point in the history
... 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>'
```
  • Loading branch information
mame authored and hsbt committed Dec 24, 2021
1 parent ecb337b commit 859a767
Showing 1 changed file with 6 additions and 0 deletions.
6 changes: 6 additions & 0 deletions test/readline/test_readline.rb
Original file line number Diff line number Diff line change
Expand Up @@ -488,6 +488,12 @@ def test_interrupt_in_other_thread
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

if defined?(TestReadline) && self.class == TestReadline
use = "use_ext_readline"
elsif defined?(TestRelineAsReadline) && self.class == TestRelineAsReadline
Expand Down

0 comments on commit 859a767

Please sign in to comment.