It also likely breaks rubygem-em-http-request:
https://koji.fedoraproject.org/koji/taskinfo?taskID=104228101
@jackopr ^^
@jackorp seems you have bumped the rubygem-em-websocket in Rawhide, any plan to address also F38?
This break Jekyll:
https://koschei.fedoraproject.org/package/rubygem-jekyll?collection=f39
You are right that update of racc is probably just red herring. The problems are:
1) The test cases are heavily stubbing Pathname.new, which is used by RubyGems.
2) The issue is that while pathname is already required and re-evaluated while it should be no-op.
I have filled this issue along the way:
https://github.com/rails/rails/issues/46741
The idea is that if Pathname was not used at all, there would not be need for require. However, it is still unclear why it is attempted to be loaded. There might be some problem in Zeitwerk or elsewhere. I think I have also seen at some point, that no gem binary extensions are discovered for some reason. So there is something fishy.
Anyway, I think that if needed, we can skip this test.
This update breaks in some non-obvious way test suite of rubygem-activerecord [1]:
... snip ...
..............[12965, #<Thread:0x00000001352bba48 run>, #<ArgumentError: mocked method :call expects 2 arguments, got ["/usr/share/gems/gems", "racc-1.6.0", "lib", "pathname"]>, ["/usr/share/gems/gems/minitest-5.16.3/lib/minitest/mock.rb:185:in `method_missing'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/mock.rb:300:in `block in stub'", "/usr/share/rubygems/rubygems/basic_specification.rb:334:in `block in have_file?'", "/usr/share/rubygems/rubygems/basic_specification.rb:333:in `any?'", "/usr/share/rubygems/rubygems/basic_specification.rb:333:in `have_file?'", "/usr/share/rubygems/rubygems/basic_specification.rb:86:in `contains_requirable_file?'", "/usr/share/rubygems/rubygems/specification.rb:1058:in `block in find_in_unresolved'", "/usr/share/rubygems/rubygems/specification.rb:1058:in `each'", "/usr/share/rubygems/rubygems/specification.rb:1058:in `find_all'", "/usr/share/rubygems/rubygems/specification.rb:1058:in `find_in_unresolved'", "<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:101:in `require'", "/usr/share/gems/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'", "/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/lib/active_record/tasks/sqlite_database_tasks.rb:25:in `drop'", "/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/lib/active_record/tasks/database_tasks.rb:224:in `drop'", "/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/test/cases/tasks/sqlite_rake_test.rb:113:in `block (3 levels) in test_generates_absolute_path_with_given_root'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/mock.rb:317:in `stub'", "/usr/share/gems/gems/activesupport-7.0.4/lib/active_support/testing/method_call_assertions.rb:24:in `assert_called_with'", "/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/test/cases/tasks/sqlite_rake_test.rb:110:in `block (2 levels) in test_generates_absolute_path_with_given_root'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/mock.rb:317:in `stub'", "/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/test/cases/tasks/sqlite_rake_test.rb:109:in `block in test_generates_absolute_path_with_given_root'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/mock.rb:317:in `stub'", "/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/test/cases/tasks/sqlite_rake_test.rb:108:in `test_generates_absolute_path_with_given_root'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/test.rb:98:in `block (3 levels) in run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/test.rb:195:in `capture_exceptions'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/test.rb:95:in `block (2 levels) in run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:296:in `time_it'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/test.rb:94:in `block in run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:391:in `on_signal'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/test.rb:243:in `with_info_handler'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest/test.rb:93:in `run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:1059:in `run_one_method'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:365:in `run_one_method'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:352:in `block (2 levels) in run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:351:in `each'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:351:in `block in run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:391:in `on_signal'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:378:in `with_info_handler'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:350:in `run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:182:in `block in __run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:182:in `map'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:182:in `__run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:159:in `run'", "/usr/share/gems/gems/minitest-5.16.3/lib/minitest.rb:83:in `block in autorun'"]]
E.......................................................................................................................................................................................................................................................................................................................................................................................................
... snip ...
1) Error:
ActiveRecord::SqliteDBDropTest#test_generates_absolute_path_with_given_root:
RuntimeError: CRITICAL: RUBYGEMS_ACTIVATION_MONITOR.owned?: before false -> after true
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:167:in `ensure in require'
<internal:/usr/share/rubygems/rubygems/core_ext/kernel_require.rb>:167:in `require'
/usr/share/gems/gems/zeitwerk-2.5.4/lib/zeitwerk/kernel.rb:35:in `require'
/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/lib/active_record/tasks/sqlite_database_tasks.rb:25:in `drop'
/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/lib/active_record/tasks/database_tasks.rb:224:in `drop'
/builddir/build/BUILD/activerecord-7.0.4/usr/share/gems/gems/activerecord-7.0.4/test/cases/tasks/sqlite_rake_test.rb:113:in `block (3 levels) in test_generates_absolute_path_with_given_root'
... snip ...
This breaks some test suites and I don't think this is really necessary to have the most recent version.
https://koschei.fedoraproject.org/package/rubygem-notiffany?collection=f38 https://koschei.fedoraproject.org/package/rubygem-listen?collection=f38
This is going to make Ruby / RubyGems FTBFS:
https://koschei.fedoraproject.org/package/rubygems?collection=f38
Mostly FYI and if anybody else hits similar issues.
It was indeed the BZ#2027099. The -153 includes patch to fix this. @toshio thx once again for discovering this.
Och, good catch. Thx for testing. I'll take a look.
Disabled autopush due to negative karma provided for F35 build:
Just FTR, this makes rubygem-redis FTBFS. But it looks just the test suite is broken:
https://koschei.fedoraproject.org/package/rubygem-redis?collection=f35
So this should include fixes for most of the broken packages. Enabling auto pushes again.
@mtasaka do you think you could backport https://src.fedoraproject.org/rpms/rubygem-byebug/c/052a27f4703bcafe86140221cf1d58cd0b610b4e?branch=rawhide for F34 please?
Apparently, several packages will need explicit IRB dependency replacing this transient dependency. Disabling the autopush for now.
As you said, this is expected behavior. IOW there are independent versions of the packages you have mentioned with higher NVR then the subpackages of the same name provided by Ruby.
This update has been unpushed.
@robatino Thx for the bugreport. However, the 117 -> 118 update happens only if you have enabled updates-testing. Since this update obsoletes the -117 update, it should not happen to anybody anymore, unless they installed -117 by the bad luck.
@mattf or maybe s/Why you take/How you get/
Does this really address the CVE-2026-23745 CVE-2026-23950 CVEs? I don't think the fixes for these have been release already.