Project

General

Profile

Actions

Bug #19923

closed

Ractor / YJIT failures on PPC64LE

Added by vo.x (Vit Ondruch) 7 months ago. Updated 7 months ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 3.3.0dev (2023-10-12 master e029375a7d) [powerpc64le-linux]
[ruby-core:115020]

Description

Let me share snippet of the log:

... snip ...

+ DISABLE_TESTS=
+ MSPECOPTS=
+ DISABLE_TESTS=' -n !/TestYJIT#test_bug_19316/'
+ make -C redhat-linux-build check 'TESTS=-v --show-skip  -n !/TestYJIT#test_bug_19316/' 'MSPECOPT=-fs '
make: Entering directory '/builddir/build/BUILD/ruby-3.3.0-e029375a7d/redhat-linux-build'
	BASERUBY = echo executable host ruby is required.  use --with-baseruby option.; false
	CC = gcc
	LD = ld
	LDSHARED = gcc -shared
	CFLAGS = -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -fPIC -m64
	XCFLAGS = -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/powerpc64le-linux -I/builddir/build/BUILD/ruby-3.3.0-e029375a7d/include -I/builddir/build/BUILD/ruby-3.3.0-e029375a7d -I/builddir/build/BUILD/ruby-3.3.0-e029375a7d/prism -I/builddir/build/BUILD/ruby-3.3.0-e029375a7d/enc/unicode/15.0.0  
	CPPFLAGS =   
	DLDFLAGS = -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   -Wl,-soname,libruby.so.3.3 -fstack-protector-strong  -m64
	SOLIBS = -lz -lrt -lrt -lgmp -ldl -lcrypt -lm -lpthread 
	LANG = C.UTF-8
	LC_ALL = 
	LC_CTYPE = 
	MFLAGS = 
	RUSTC = no
	YJIT_RUSTC_ARGS = --crate-name=yjit --crate-type=staticlib --edition=2021 -g -C lto=thin -C opt-level=3 -C overflow-checks=on '--out-dir=/builddir/build/BUILD/ruby-3.3.0-e029375a7d/redhat-linux-build/yjit/target/release/' /builddir/build/BUILD/ruby-3.3.0-e029375a7d/yjit/src/lib.rs
gcc (GCC) 13.2.1 20230918 (Red Hat 13.2.1-3)
Copyright (C) 2023 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.
generating enc.mk
making srcs under enc
make[1]: Entering directory '/builddir/build/BUILD/ruby-3.3.0-e029375a7d/redhat-linux-build'

... snip ...

make[1]: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-e029375a7d/redhat-linux-build'
2023-10-12 15:27:51 +0000
Driver is ruby 3.3.0dev (2023-10-12 master e029375a7d) [powerpc64le-linux]
Target is ruby 3.3.0dev (2023-10-12 master e029375a7d) [powerpc64le-linux]
test_attr.rb               ...
test_autoload.rb           ........
test_block.rb              ....................................................
......
test_class.rb              ................................................
test_constant_cache.rb     ..........
test_env.rb                ..
test_eval.rb               ........................................
test_exception.rb          ..................................
test_fiber.rb              .....
test_finalizer.rb          .
test_flip.rb               .
test_flow.rb               ....................................................
..........
test_fork.rb               ....
test_gc.rb                 ..
test_insns.rb              ....................................................
...............................................................................
...............................................................................
...............................................................................
...............................................................................
...................
test_io.rb                 ..................
test_jump.rb               .............................
test_literal.rb            ....................................................
...............................................................................
.........................
test_literal_suffix.rb     ................................................
test_load.rb               ..
test_marshal.rb            .
test_massign.rb            ..................................
test_method.rb             ....................................................
...............................................................................
...............................................................................
.............
test_objectspace.rb        ......
test_proc.rb               .....................................
test_ractor.rb             .Fstderr output is not empty
   <internal:ractor>:282:in `new': can't create Thread: Invalid argument (ThreadError)
           from bootstraptest.test_ractor.rb_7_1222.rb:2:in `<main>'
.Fstderr output is not empty
   <internal:ractor>:282:in `new': can't create Thread: Invalid argument (ThreadError)
           from bootstraptest.test_ractor.rb_30_1224.rb:2:in `<main>'
Fstderr output is not empty
   <internal:ractor>:282:in `new': can't create Thread: Invalid argument (ThreadError)
           from bootstraptest.test_ractor.rb_37_1225.rb:2:in `<main>'

... snip ...

   <internal:ractor>:282:in `new': can't create Thread: Invalid argument (ThreadError)
           from bootstraptest.test_yjit_rust_port.rb_391_1855.rb:3:in `<main>'
Fstderr output is not empty
   <internal:ractor>:282:in `new': can't create Thread: Invalid argument (ThreadError)
           from bootstraptest.test_yjit_rust_port.rb_401_1856.rb:2:in `<main>'
.
Finished in 57.56 sec
Fiber count: 10000 (skipping)
#1222 test_ractor.rb:7: 
     Ractor.new{}.class
  #=> "" (expected "Ractor")  
#1224 test_ractor.rb:30: 
     r = Ractor.new name: 'test-name' do
     end
     r.name
  #=> "" (expected "test-name")  

... snip ...

#1856 test_yjit_rust_port.rb:401: 
     r = Ractor.new do
       msg = Ractor.receive
     end
     r.send 'ok'
     r.take
  #=> "" (expected "ok")  
FAIL 95/1857 tests failed
make: Leaving directory '/builddir/build/BUILD/ruby-3.3.0-e029375a7d/redhat-linux-build'
make: *** [uncommon.mk:886: yes-btest-ruby] Error 1

The full log is in attachment.


Files

build.log (1.01 MB) build.log vo.x (Vit Ondruch), 10/12/2023 03:42 PM

Updated by vo.x (Vit Ondruch) 7 months ago

Just FTR, previously I was testing with 904413997f and everything worked just fine.

Actions #2

Updated by vo.x (Vit Ondruch) 7 months ago

  • ruby -v changed from ruby 3.3.0dev (2023-10-12 master e029375a7d) [x86_64-linux] to ruby 3.3.0dev (2023-10-12 master e029375a7d) [powerpc64le-linux]

Updated by byroot (Jean Boussier) 7 months ago

The likely suspect would be N:M threads. cc @ko1 (Koichi Sasada)

Updated by ko1 (Koichi Sasada) 7 months ago

could you try with 10ba3fc302 (current master)?

Updated by vo.x (Vit Ondruch) 7 months ago

ko1 (Koichi Sasada) wrote in #note-4:

could you try with 10ba3fc302 (current master)?

Testing with git|35edc14ee1 it seems the issue has bee fixed. Thx

Actions #6

Updated by byroot (Jean Boussier) 7 months ago

  • Status changed from Open to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0