On Tue, Jan 18, 2022 at 6:39 PM Vít Ondruch <vondruch(a)redhat.com> wrote:
Dne 18. 01. 22 v 12:00 Pavel Valena napsal(a):
> On Mon, Jan 17, 2022 at 4:27 PM Vít Ondruch <vondruch(a)redhat.com> wrote:
>>
>> Dne 17. 01. 22 v 16:15 Vít Ondruch napsal(a):
>>> Hi,
>>>
>>> It is time of the year when new version of Ruby was released upstream
>>> and we should land it in Fedora. Unfortunately, the change proposal
>>> was approved just last Thursday and on top of that, rebase of libffi
>>> broke Ruby (I am going to disable the failing test cases for the
>>> moment and hope for the best). So this brings us into situation, where
>>> won't have enough time prior Fedora Mass rebuild. I have discussed
>>> this a bit with relengs and one of the options would be to build Ruby
>>> early during the mass rebuild and fix the outfall later. I shared the
>>> proposal in the Fedora Mass rebuild ticket [2]. One downside would be
>>> that in case of problems, we could not trigger our contingency plan,
>>> which is "drop our side tag". But I hope we won't need that.
>>>
>>> Any thoughts?
>>>
>>> My fist concern is that maybe we should build more then just Ruby.
>>> rubygem-json
> Hello,
>
> I've run the rebuilds of previously failing packages in my COPR
> (probably with a little older Ruby 3.1 build), and here are the
> results:
>
>
https://copr.fedorainfracloud.org/coprs/pvalena/rubygems-testing/builds/
> removed other buildroots, so failure marks rawhide buildroot.
>
> From that what stands out:
> 1)
> ```
> cannot load such file -- net/smtp
> ```
> several packages -
> e.g.:
https://copr.fedorainfracloud.org/coprs/build/3190889 The other two are
rails -related:
rubygem-apipie-rails
rubygem-actionmailbox
rubygem-mail
Not much we can do about it, since this was extracted into bundled gem.
The correct fix is to report such issue to upstream. The workaround is
to add `BR: rubygem-net-smpt`
In this specific case, it seems to be rubygem-mail issue. There is
related report here:
https://github.com/mikel/mail/issues/1461
Do you have list of such packages? It all might be due to mail.
>
>
> 2)
> ```
> Tried to load unspecified class: BSON::Document
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/class_loader.rb:99:in `find'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/class_loader.rb:28:in `load'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:424:in
> `resolve_class'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:288:in
> `visit_Psych_Nodes_Mapping'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:30:in
> `visit'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:6:in
> `accept'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:35:in
> `accept'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:318:in
> `visit_Psych_Nodes_Document'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:30:in
> `visit'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:6:in
> `accept'
> # /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:35:in
> `accept'
> # ./spec/bson/document_spec.rb:487:in `block (5 levels) in <top
> (required)>'
> # ./spec/bson/document_spec.rb:491:in `block (5 levels) in <top
> (required)>'
>
>
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3190892
This very likely:
https://github.com/mongodb/bson-ruby/commit/652533da2dc7fbf011686678f4348...
>
> 3)
> ```
> + rspec -rspec_helper -fd --exclude-pattern
>
'spec/concurrent/{actor_spec.rb,channel_spec.rb,lazy_register_spec.rb,channel/**/*,e>
> <internal:timev>:310:in `initialize': no implicit conversion of Hash
> into Integer (TypeError)
> from
/usr/share/gems/gems/timecop-0.9.2/lib/timecop/time_extensions.rb:22:in
> `new'
> from
/usr/share/gems/gems/timecop-0.9.2/lib/timecop/time_extensions.rb:22:in
> `new_with_mock_time'
> from <internal:timev>:224:in `now'
> from
/usr/share/gems/gems/rspec-core-3.10.1/lib/rspec/core/reporter.rb:89:in
> `start'
> from
/usr/share/gems/gems/rspec-core-3.10.1/lib/rspec/core/reporter.rb:72:in
> `report'
> from
/usr/share/gems/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:115:in
> `run_specs'
> from /usr/share/gems/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:89:in
> `run'
> from /usr/share/gems/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:71:in
> `run'
> from /usr/share/gems/gems/rspec-core-3.10.1/lib/rspec/core/runner.rb:45:in
> `invoke'
> from /usr/share/gems/gems/rspec-core-3.10.1/exe/rspec:4:in
> `<top (required)>'
> from /usr/bin/rspec:23:in `load'
> from /usr/bin/rspec:23:in `<main>'
> Run options: exclude {:stress=>true}
>
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3190932
https://github.com/travisjeffery/timecop/pull/279
Or the linked issues.
>
> 4)
> ```
> + ruby -rrubygems -Ilib:test:ext/gio2 test/run-test.rb
> glib-compile-resources ruby-gio2.gresource.xml
> cd resource
> glib-compile-schemas .
> cd -
> cd schema/default
> glib-compile-schemas .
> cd -
> cd schema/source
> cd -
> Loaded suite test
> Started
>
............../usr/share/gems/gems/gobject-introspection-3.4.9/lib/gobject-introspection/loader.rb:616:
> [BUG] Segmentation fault at 0x00000>
> ruby 3.1.0dev (2021-12-07 master ec878dac90) [x86_64-linux]
>
>
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3190970
I hope this is not related to FFI, because gobject-introspection was
mentioned in that context.
I was not able to rebuilt dependent packages due to this, so the
>
> 5)
> ```
> + ruby -Ilib:test -rforwardable -e 'Dir.glob
> '\''./test/cases/*test.rb'\'', &method(:require)'
>
/builddir/build/BUILD/globalid-0.4.2/usr/share/gems/gems/globalid-0.4.2/lib/global_id/uri/gid.rb:176:in
> `<module:URI>': uninitia>
> Did you mean? scheme_list
> from
/builddir/build/BUILD/globalid-0.4.2/usr/share/gems/gems/globalid-0.4.2/lib/global_id/uri/gid.rb:6:in
> `<top (requir>
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/builddir/build/BUILD/globalid-0.4.2/usr/share/gems/gems/globalid-0.4.2/lib/global_id/global_id.rb:6:in
> `<top (requ>
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/builddir/build/BUILD/globalid-0.4.2/usr/share/gems/gems/globalid-0.4.2/lib/global_id.rb:1:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from /builddir/build/BUILD/test/helper.rb:5:in `<top
(required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/builddir/build/BUILD/globalid-0.4.2/usr/share/gems/gems/globalid-0.4.2/test/cases/global_id_test.rb:1:in
> `<top (re>
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from <internal:dir>:220:in `glob'
> from -e:1:in `<main>'
> error: Bad exit status from /var/tmp/rpm-tmp.bOvWxr (%check)
> Bad exit status from /var/tmp/rpm-tmp.bOvWxr (%check)
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3190974
https://github.com/rails/globalid/pull/132
>
> 6)
> ```
> 1) Error:
> MIME::Types::Loader#test_0001_loads YAML files correctly:
> Psych::DisallowedClass: Tried to load unspecified class: MIME::Type
> /usr/share/gems/gems/psych-4.0.2/lib/psych/class_loader.rb:99:in `find'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/class_loader.rb:28:in `load'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:424:in
> `resolve_class'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:213:in
> `visit_Psych_Nodes_Mapping'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:30:in
`visit'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:6:in
`accept'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:35:in
> `accept'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:338:in
> `block in register_empty'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:338:in
`each'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:338:in
> `register_empty'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:146:in
> `visit_Psych_Nodes_Sequence'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:30:in
`visit'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:6:in
`accept'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:35:in
> `accept'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:318:in
> `visit_Psych_Nodes_Document'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:30:in
`visit'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/visitor.rb:6:in
`accept'
> /usr/share/gems/gems/psych-4.0.2/lib/psych/visitors/to_ruby.rb:35:in
> `accept'
> /usr/share/ruby/psych.rb:335:in `safe_load'
> /usr/share/ruby/psych.rb:370:in `load'
>
/builddir/build/BUILD/rubygem-mime-types-3.3.1/usr/share/gems/gems/mime-types-3.3.1/lib/mime/types/loader.rb:113:in
> `load_fr>
>
/builddir/build/BUILD/rubygem-mime-types-3.3.1/usr/share/gems/gems/mime-types-3.3.1/lib/mime/types/loader.rb:49:in
> `block in>
>
/builddir/build/BUILD/rubygem-mime-types-3.3.1/usr/share/gems/gems/mime-types-3.3.1/lib/mime/types/loader.rb:48:in
> `each'
>
/builddir/build/BUILD/rubygem-mime-types-3.3.1/usr/share/gems/gems/mime-types-3.3.1/lib/mime/types/loader.rb:48:in
> `load_yam>
>
/builddir/build/BUILD/rubygem-mime-types-3.3.1/usr/share/gems/gems/mime-types-3.3.1/test/test_mime_types_loader.rb:26:in
> `bl>
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3191613
This probably?
https://github.com/mime-types/ruby-mime-types/commit/6c8324d2396e7698296b...
But it includes quite a lot of unrelated changes.
>
> 7)
> ```
>
> Failures:
>
> 1) Mysql2::Result should raise a TypeError exception when it doesn't
> wrap a result set
> Failure/Error: r = Mysql2::Result.new
>
> TypeError:
> allocator undefined for Mysql2::Result
> # ./spec/mysql2/result_spec.rb:9:in `new'
> # ./spec/mysql2/result_spec.rb:9:in `block (2 levels) in <top
(required)>'
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3191628
https://github.com/brianmario/mysql2/commit/4dce466f3ff1c90099d3dc1bf610b...
But there is also
https://github.com/brianmario/mysql2/commit/23106c0af77e0e5bdd8e44e784fb7...
>
> 8)
> ```
> --binPsych::DisallowedClass: Tried to load unspecified class:
> Rack::Lint::ErrorWrapper
>
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3191833
https://github.com/rack/rack/commit/ddfb0fde294905bd9c4858cfc1193a0698f253d9
>
> 9)
> ```
> 1) Error:
> TestMBoxParsing#test_from_line_splitting:
> NoMethodError: undefined method `encode' for URI:Module
>
> uri = URI(prefix + URI.encode(@path, URI_ENCODE_CHARS))
> ^^^^^^^
> /builddir/build/BUILD/sup-1.0/lib/sup/mbox.rb:26:in `initialize'
> /builddir/build/BUILD/sup-1.0/test/test_header_parsing.rb:113:in `new'
> /builddir/build/BUILD/sup-1.0/test/test_header_parsing.rb:113:in
> `test_from_line_splitting'
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3191877
This has been broken for a while already:
https://koschei.fedoraproject.org/package/rubygem-sup
>
>
> 10)
> ```
> + ruby -I.:lib -e 'Dir.glob "test/**/*_test.rb",
&method(:require)'
> <internal:timev>:310:in `initialize': no implicit conversion of Hash
> into Integer (TypeError)
> from
/builddir/build/BUILD/timecop-0.9.2/usr/share/gems/gems/timecop-0.9.2/lib/timecop/time_extensions.rb:22:in
> `new'
> from
/builddir/build/BUILD/timecop-0.9.2/usr/share/gems/gems/timecop-0.9.2/lib/timecop/time_extensions.rb:22:in
> `new_wit>
> from <internal:timev>:224:in `now'
> from
/builddir/build/BUILD/timecop-0.9.2/usr/share/gems/gems/timecop-0.9.2/lib/timecop/time_extensions.rb:14:in
> `now_wit>
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/monotonic_time.rb:7:in
> `initialize'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/object.rb:59:in
> `new'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/monotonic_time.rb:42:in
> `<module:Concurrent>'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/utility/monotonic_time.rb:3:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:5:in
> `<top (require>
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/thread_pool_executor.rb:2:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/cached_thread_pool.rb:2:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent/configuration.rb:7:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from /usr/share/gems/gems/concurrent-ruby-1.1.5/lib/concurrent.rb:4:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/activesupport-6.1.4.1/lib/active_support/logger_thread_safe_level.rb:5:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/activesupport-6.1.4.1/lib/active_support/logger_silence.rb:5:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/activesupport-6.1.4.1/lib/active_support/logger.rb:3:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/activesupport-6.1.4.1/lib/active_support.rb:29:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/usr/share/gems/gems/activesupport-6.1.4.1/lib/active_support/all.rb:3:in
> `<top (required)>'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in
> `require'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:160:in
> `rescue in require'
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:149:in
> `require'
> from
/builddir/build/BUILD/timecop-0.9.2/usr/share/gems/gems/timecop-0.9.2/test/time_stack_item_test.rb:5:in
> `<top (requ>
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from <internal:dir>:220:in `glob'
> from -e:1:in `<main>'
> <internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require': cannot load such file -- active_support/all >
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from
/builddir/build/BUILD/timecop-0.9.2/usr/share/gems/gems/timecop-0.9.2/test/time_stack_item_test.rb:5:in
> `<top (requ>
> from
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:85:in
> `require'
> from <internal:dir>:220:in `glob'
> from -e:1:in `<main>'
> ```
>
https://copr.fedorainfracloud.org/coprs/build/3191885
timecop again? Same as the concurrent-ruby above?
So probably no blocker, just some backports ....
Agreed. I was checking the build errors randomly from time to time, so
we could hopefully catch those right away :). I won't have time to fix
those failures in the near future though.
What worries me is that I can't rebuild your Ruby PR, still. Do you
have any newer scratch build?
Thx for looking into this issues.
YAW,
Pavel
Vít
> I'm also running some more rebuilds of the failures (I've fixed some
> dependencies now), and with newer Ruby 3.1.
>
> Please ignore the Rails stuff, as I'm going to fix that separately
> with the upgrade to RoR 7.0.
>
>
> Sorry for long email,
> HIH,
>
> Pavel
>
>>
>> Hm, I should probably really bump the Release of rubygem-json, otherwise
>> we'll be in troubles. Previously, we were typically lucky that the
>> independent package had lower NVR, this time, it wins.
>>
>>
>>
>>> comes to my mind and possibly rubygem-nokogiri?
>>
>> And Nokogiri is RSpec dependency, that is the reason to prioritize it.
>>
>>
>> Vít
>>
>>
>>
>>>
>>> Vít
>>>
>>>
>>>
>>> [1]
https://bugzilla.redhat.com/show_bug.cgi?id=2040380
>>>
>>> [2]
https://pagure.io/releng/issue/10538#comment-775197
>>>