[DRE-maint] Bug#996119: ruby-activerecord-nulldb-adapter: FTBFS with ruby3.0: ERROR: Test "ruby3.0" failed: Failure/Error: Employee.create

Antonio Terceiro terceiro at debian.org
Mon Oct 11 13:42:57 BST 2021


Source: ruby-activerecord-nulldb-adapter
Version: 0.4.0-1
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: debian-ruby at lists.debian.org
Usertags: ruby3.0

Hi,

We are about to enable building against ruby3.0 on unstable. During a test
rebuild, ruby-activerecord-nulldb-adapter was found to fail to build in that situation.

To reproduce this locally, you need to install ruby-all-dev from experimental
on an unstable system or build chroot.

Relevant part (hopefully):
>       Failure/Error: Employee.create
> 
>       ActiveModel::MissingAttributeError:
>         can't write unknown attribute `id`
>       # /usr/share/rubygems-integration/all/gems/activemodel-6.0.3.7/lib/active_model/attribute.rb:206:in `with_value_from_database'
>       # /usr/share/rubygems-integration/all/gems/activemodel-6.0.3.7/lib/active_model/attribute_set.rb:49:in `write_from_user'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/attribute_methods/write.rb:43:in `_write_attribute'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/attribute_methods/primary_key.rb:24:in `id='
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:936:in `_create_record'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/counter_cache.rb:166:in `_create_record'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/locking/optimistic.rb:70:in `_create_record'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/attribute_methods/dirty.rb:211:in `_create_record'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:331:in `block in _create_record'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:101:in `run_callbacks'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:825:in `_run_create_callbacks'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:331:in `_create_record'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/timestamp.rb:110:in `_create_record'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:905:in `create_or_update'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:327:in `block in create_or_update'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:135:in `run_callbacks'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/callbacks.rb:825:in `_run_save_callbacks'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/callbacks.rb:327:in `create_or_update'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/timestamp.rb:128:in `create_or_update'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:470:in `save'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/validations.rb:47:in `save'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:314:in `block in save'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `block in transaction'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:26:in `block (2 levels) in synchronize'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `handle_interrupt'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:25:in `block in synchronize'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `handle_interrupt'
>       # /usr/share/rubygems-integration/all/gems/activesupport-6.0.3.7/lib/active_support/concurrency/load_interlock_aware_monitor.rb:21:in `synchronize'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/connection_adapters/abstract/database_statements.rb:280:in `transaction'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:212:in `transaction'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:366:in `with_transaction_returning_status'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/transactions.rb:314:in `save'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/suppressor.rb:44:in `save'
>       # /usr/share/rubygems-integration/all/gems/activerecord-6.0.3.7/lib/active_record/persistence.rb:38:in `create'
>       # ./spec/nulldb_spec.rb:314:in `block (3 levels) in <top (required)>'
> 
> Finished in 0.05675 seconds (files took 0.8446 seconds to load)
> 39 examples, 31 failures
> 
> Failed examples:
> 
> rspec ./spec/nulldb_spec.rb:101 # NullDB should set the @config instance variable so plugins that assume its there can use it
> rspec ./spec/nulldb_spec.rb:105 # NullDB should enable instantiation of AR objects without a database
> rspec ./spec/nulldb_spec.rb:109 # NullDB should remember columns defined in migrations
> rspec ./spec/nulldb_spec.rb:116 # NullDB should have limit on name
> rspec ./spec/nulldb_spec.rb:120 # NullDB should return true on nullable field
> rspec ./spec/nulldb_spec.rb:124 # NullDB should return false on non-nullable field
> rspec ./spec/nulldb_spec.rb:128 # NullDB should return the appropriate primary key
> rspec ./spec/nulldb_spec.rb:132 # NullDB should return a nil primary key on habtm
> rspec ./spec/nulldb_spec.rb:136 # NullDB should return an empty array of columns for a table-less model
> rspec ./spec/nulldb_spec.rb:140 # NullDB should enable simulated saving of AR objects
> rspec ./spec/nulldb_spec.rb:144 # NullDB should enable AR callbacks during simulated save
> rspec ./spec/nulldb_spec.rb:149 # NullDB should enable simulated deletes of AR objects
> rspec ./spec/nulldb_spec.rb:153 # NullDB should enable simulated creates of AR objects
> rspec ./spec/nulldb_spec.rb:158 # NullDB should generate new IDs when inserting unsaved objects
> rspec ./spec/nulldb_spec.rb:165 # NullDB should re-use object ID when inserting saved objects
> rspec ./spec/nulldb_spec.rb:171 # NullDB should log executed SQL statements
> rspec ./spec/nulldb_spec.rb:178 # NullDB should have the adapter name 'NullDB'
> rspec ./spec/nulldb_spec.rb:182 # NullDB should support migrations
> rspec ./spec/nulldb_spec.rb:186 # NullDB should always have a schema_info table definition
> rspec ./spec/nulldb_spec.rb:190 # NullDB should return an empty array from #select
> rspec ./spec/nulldb_spec.rb:195 # NullDB should provide a way to set log checkpoints
> rspec ./spec/nulldb_spec.rb:218 # NullDB should tag logged statements with their entry point
> rspec ./spec/nulldb_spec.rb:252 # NullDB should allow #finish to be called on the result of #execute
> rspec ./spec/nulldb_spec.rb:256 # NullDB should #to_a return empty array on the result of #execute
> rspec ./spec/nulldb_spec.rb:268 # NullDB should support adding indexes
> rspec ./spec/nulldb_spec.rb:273 # NullDB should support unique indexes
> rspec ./spec/nulldb_spec.rb:278 # NullDB should support multi-column indexes
> rspec ./spec/nulldb_spec.rb:282 # NullDB should support custom index names
> rspec ./spec/nulldb_spec.rb:286 # NullDB should handle ActiveRecord::ConnectionNotEstablished
> rspec ./spec/nulldb_spec.rb:291 # NullDB should handle count queries
> rspec ./spec/nulldb_spec.rb:311 # NullDB::RSpec::NullifiedDatabase have_executed rspec matcher passes if an execution was made
> 
> /usr/bin/ruby3.0 -I/usr/share/rubygems-integration/all/gems/rspec-support-3.9.3/lib:/usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/lib /usr/share/rubygems-integration/all/gems/rspec-core-3.9.2/exe/rspec --pattern ./spec/\*\*/\*_spec.rb --format documentation failed
> ERROR: Test "ruby3.0" failed: 


The full build log is available at
https://people.debian.org/~kanashiro/ruby3.0/round2/builds/3/ruby-activerecord-nulldb-adapter/ruby-activerecord-nulldb-adapter_0.4.0-1+rebuild1633375085_amd64.build.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20211011/6d9bd4d2/attachment.sig>


More information about the Pkg-ruby-extras-maintainers mailing list