[ruby-core:90996] [Ruby trunk Bug#15522] TestJIT#test_compile_insn_local fails on aarch64 RHEL7

From: v.ondruch@...
Date: 2019-01-10 14:06:13 UTC
List: ruby-core #90996
Issue #15522 has been updated by vo.x (Vit Ondruch).

Assignee deleted (k0kubun (Takashi Kokubun))

k0kubun (Takashi Kokubun) wrote:
> > Also, it would be nice if the JIT output used different markup, which does not collide with Redmine markup :/
> 
> Yeah. I'll change that later.

Thx

> > This should be the C code (although generated on my x86_64, because I don't have aarch64 readily available).
> 
> How did you get the output in the ticket description?

That is from builder which is not easily accessible. I can throw in SRPM and get resulting logs and RPMs, but I cannot easily access the intermediate results  :/

> If possible, I want you to upload rb_mjit_min_header-2.6.0.h under install directory and the exact /tmp/_ruby_mjit_p20163u1.c whose .so can't be loaded.

I will see what I can do about it. Hopefully, @sharkcz will be able to help :)

----------------------------------------
Bug #15522: TestJIT#test_compile_insn_local fails on aarch64 RHEL7
https://bugs.ruby-lang.org/issues/15522#change-76216

* Author: vo.x (Vit Ondruch)
* Status: Open
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.6.0p0 (2018-12-25 revision 66547) [aarch64-linux]
* Backport: 2.4: UNKNOWN, 2.5: UNKNOWN, 2.6: UNKNOWN
----------------------------------------
Trying to build Ruby 2.6 on RHEL7, I observe the following test failure on RHEL7, but just on aarch64. The other platforms pass just fine:

~~~
  1) Failure:
TestJIT#test_compile_insn_local [/builddir/build/BUILD/ruby-2.6.0/test/ruby/test_jit.rb:64]:
Expected 3 times of JIT success, but succeeded 2 times.
script:
```
def foo
  a = 0
  [1, 2].each do |i|
    a += i
    [3, 4].each do |j|
      a *= j
    end
  end
  a
end
print foo
```
stderr:
```
JIT success (276.6ms): foo@-e:2 -> /tmp/_ruby_mjit_p20163u0.c
JIT success (347.3ms): block in foo@-e:4 -> /tmp/_ruby_mjit_p20163u1.c
MJIT warning: failure in loading code from '/tmp/_ruby_mjit_p20163u2.so': /tmp/_ruby_mjit_p20163u2.so: undefined symbol: __multi3
Successful MJIT finish
```
.
<3> expected but was
<2>.
~~~

I suspect this must be some combination of architecture/compiler (gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16)), because I don't observe similar issues on Fedora.



---Files--------------------------------
_ruby_mjit_p207u2.c (3.48 KB)


-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>

In This Thread

Prev Next