Project

General

Profile

Actions

Bug #18781

closed

MJIT tests failing with Ubuntu focal with gcc-11 and some flags

Added by jaruga (Jun Aruga) almost 2 years ago. Updated almost 2 years ago.

Status:
Closed
Target version:
-
[ruby-core:108549]

Description

I find some MJIT tests failing in test/ruby/test_jit.rb and test/ruby/test_rubyvm_jit.rb on gcc 11 on Ubuntu focal on the latest master branch 708e839dee57bc5ef8f5b21fb4fa620e89caeb52 on CI. Here is the CI log on another PR on GitHub Actions - .github/workflows/compilers.yml on Ubuntu focal. The used configure options are ./configure --enable-shared --with-gcc="gcc -O2 -fcf-protection -Wl,-z,now". I was able to reproduce it on my local Fedora 35 too. Here is the steps. For convenience, I would just show one test failure.

$ gcc --version
gcc (GCC) 11.2.1 20220127 (Red Hat 11.2.1-9)
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ autoconf
$ ./configure --enable-shared --with-gcc="gcc -O2 -fcf-protection -Wl,-z,now"
$ make

$ make test-all TESTOPTS="-n TestJIT#test_compile_insn_setspecial" TESTS=test/ruby/test_jit.rb
config.status: creating ruby-runner.h
making mjit_build_dir.so
generating x86_64-linux-fake.rb
x86_64-linux-fake.rb updated
Run options: 
  --seed=24654
  "--ruby=./miniruby -I./lib -I. -I.ext/common  ./tool/runruby.rb --extout=.ext  -- --disable-gems"
  --excludes-dir=./test/excludes
  --name=!/memory_leak/
  -n
  TestJIT#test_compile_insn_setspecial

# Running tests:

[1/0] TestJIT#test_compile_insn_setspecial = 0.27 s
  1) Failure:
TestJIT#test_compile_insn_setspecial [/home/jaruga/var/git/ruby/ruby/test/ruby/test_jit.rb:134]:
Expected 1 times of JIT success, but succeeded 0 times.

script:
"""
p proc {  
  true if nil.nil?..nil.nil?
}.call
"""


stderr:
"""
/bin/ld: no input files
collect2: error: ld returned 1 exit status
MJIT warning: Making precompiled header failed on compilation. Stopping MJIT worker...
MJIT warning: timed out to wait for JIT finish

"""

.
<1> expected but was
<0>.

Finished tests in 0.272793s, 3.6658 tests/s, 14.6632 assertions/s.
1 tests, 4 assertions, 1 failures, 0 errors, 0 skips

ruby -v: ruby 3.2.0dev (2022-05-13T22:27:55Z wip/test-annocheck b497531237) [x86_64-linux]
make: *** [uncommon.mk:823: yes-test-all] Error 1

Files

make_ldflags.log (517 KB) make_ldflags.log jaruga (Jun Aruga), 05/24/2022 03:35 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0