Dne 11. 01. 22 v 17:21 Vít Ondruch napsal(a):
Dne 10. 01. 22 v 18:18 Vít Ondruch napsal(a):Dne 10. 01. 22 v 18:07 Miro Hrončok napsal(a):On 10. 01. 22 15:33, Miro Hrončok wrote:On 10. 01. 22 10:56, Vít Ondruch wrote:Dne 08. 01. 22 v 18:09 Carlos O'Donell napsal(a):https://copr.fedorainfracloud.org/coprs/churchyard/libffi-3.4/package/ruby/This failed in the same place in two different builds in the test_ractor.rb (Ruby Ractor) test case, and it crashes in 'ractor_select()' within 'rb_vm_exec()'.Segmentation fault FAIL 1/1489 tests failedThis is odd that it should fail with the libffi update since this the failure is in the Ruby Ractor test, which I wouldn't expect to use any of the FFI APIs. It has failedtwice though in the same place.I didn't see this in c9s. The last built ruby in c9s was built by me and it is 3.0.2-155,where test_ractor.rb passes just fine built with libffi 3.4.The ruby-mri binary has no deep DT_NEEDED dependencies which should need libffi or other libraries to be built in a particular order, but with dlopen you can get odd ordering issues that are only resolved after the SONAME bump is complete and rebuilds completedacross dependent libraries. Rawhide did build successfully on 2021-12-10.This is reported upstream: https://bugs.ruby-lang.org/issues/18412 Just keep trying and it will eventually pass.OK then, running: while ! \fedpkg build --fail-fast; do sleep 5; doneI have stopped now, with 11th build running. You will eventually need to rebuild ruby for https://fedoraproject.org/wiki/Changes/Ruby_3.1 anyway.Well, but I am afraid the failures are likely different then the original one. Please see:https://koschei.fedoraproject.org/package/ruby?collection=f36All the buildroot changes seems to be related to FFI. Also scratch builds are failing in some strange way:https://src.fedoraproject.org/rpms/ruby/pull-request/106 I am not really sure what to blame. VítSome progress. So there is e.g. this failure: ~~~ 1) Failure:TestAutoload#test_autoload_fork [/builddir/build/BUILD/ruby-3.1.0/test/ruby/test_autoload.rb:380]:[ruby-core:86410] [Bug #14634].Expected #<Test::Unit::AssertionFailedError: Expected #<Process::Status: pid 3249430 SIGABRT (signal 6) (core dumped)> to be success?.> to be nil.~~~ Trying the test on itself, it passes: ~~~$ make test-all TESTS="test/ruby/test_autoload.rb -v -n /TestAutoload#test_autoload_fork/"./revision.h unchanged Run options: --seed=15497"--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems"--excludes-dir=./test/excludes --name=!/memory_leak/ -v -n /TestAutoload#test_autoload_fork/ # Running tests: [1/0] TestAutoload#test_autoload_fork = 0.31 s Finished tests in 0.316094s, 3.1636 tests/s, 18.9817 assertions/s. 1 tests, 6 assertions, 0 failures, 0 errors, 0 skips ruby -v: ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux] ~~~However, trying together with Fiddle tests (Fiddle is the FFI wrapper in Ruby), it fails:~~~$ make test-all TESTS="test/fiddle/test_import.rb test/ruby/test_autoload.rb -v -n /TestAutoload#test_autoload_fork/"./revision.h unchanged Run options: --seed=15"--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems"--excludes-dir=./test/excludes --name=!/memory_leak/ -v -n /TestAutoload#test_autoload_fork/ # Running tests: [1/0] TestAutoload#test_autoload_fork = 0.42 s 1) Failure:TestAutoload#test_autoload_fork [/builddir/build/BUILD/ruby-3.1.0/test/ruby/test_autoload.rb:380]:[ruby-core:86410] [Bug #14634].Expected #<Test::Unit::AssertionFailedError: Expected #<Process::Status: pid 10859 SIGABRT (signal 6) (core dumped)> to be success?.> to be nil.2) Failure:TestAutoload#test_autoload_fork [/builddir/build/BUILD/ruby-3.1.0/tool/lib/zombie_hunter.rb:6]:Expected [[10858, #<Process::Status: pid 10858 exit 0>],[10860, #<Process::Status: pid 10860 SIGABRT (signal 6) (core dumped)>]] to be empty.Finished tests in 0.423522s, 2.3612 tests/s, 9.4446 assertions/s. 1 tests, 4 assertions, 2 failures, 0 errors, 0 skips ruby -v: ruby 3.1.0p0 (2021-12-25 revision fb4df44d16) [x86_64-linux] make: *** [uncommon.mk:822: yes-test-all] Aborted (core dumped) ~~~ However, it is still not clear what is wrong. Vít
Going further, I was able to minimize the test_import.rb: ~~~ # coding: US-ASCII # frozen_string_literal: true begin require_relative 'helper' require 'fiddle/import' rescue LoadError end module Fiddle module LIBC extend Importer dlload LIBC_SO, LIBM_SO CallCallback = bind("void call_callback(void*, void*)"){ | ptr1, ptr2| f = Function.new(ptr1.to_i, [TYPE_VOIDP], TYPE_VOID) f.call(ptr2) } end end if defined?(Fiddle) ~~~ Where the `CallCallback` makes the difference. Vít
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature
_______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure