stable

rubygem-racc-1.6.1-200.fc37

FEDORA-2022-2f75a06546 created by mtasaka 2 years ago for Fedora 37

New version 1.6.1 is released.

How to install

Updates may require up to 24 hours to propagate to mirrors. If the following command doesn't work, please retry later:

sudo dnf upgrade --refresh --advisory=FEDORA-2022-2f75a06546

This update has been submitted for testing by mtasaka.

2 years ago

This update's test gating status has been changed to 'ignored'.

2 years ago

This update has been pushed to testing.

2 years ago

This update has been submitted for stable by bodhi.

2 years ago
User Icon besser82 commented & provided feedback 2 years ago
karma

Works great! LGTM! =)

This update has been pushed to stable.

2 years ago

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 ...

The fact is that even if rubygem-racc-1.6.0-205.fc38 is installed, when I change the line of "# stub: racc 1.6.0 ruby lib" line in racc-1.6.0.gemspec to 1.6.1, the above error is reproduced, on the other hand, even if rubygem-racc-1.6.1-200.fc38 is insalled, changing the line "# stub: racc 1.6.1 ruby lib" to 1.6.0 removes the above error.

So I think there is some path search mechanism confusion when default gem and "external" racc gem are both installed: I guess that when rubygem-racc-1.6.1-200.fc38 is installed, activerecord (or some dependency gem or so) tries to search path for 1.6.1 is "default gem" and it is failing, perhaps. Anyway not a fault for this update, so far.

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.


Please login to add feedback.

Metadata
Type
bugfix
Karma
1
Signed
Content Type
RPM
Test Gating
Autopush Settings
Unstable by Karma
-30
Stable by Karma
2
Stable by Time
7 days
Dates
submitted
2 years ago
in testing
2 years ago
in stable
2 years ago

Automated Test Results