Created
September 13, 2018 13:29
-
-
Save nnc/746488a73e0e75e2580a7581a7a226c3 to your computer and use it in GitHub Desktop.
ActiveRecord association rollback bug when anything after first associated record fails to save
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $ ruby rails_association_rollback_bug.rb | |
| Fetching https://github.com/rails/rails.git | |
| Fetching gem metadata from https://rubygems.org/........ | |
| Fetching version metadata from https://rubygems.org/. | |
| Resolving dependencies... | |
| Using concurrent-ruby 1.0.5 | |
| Using minitest 5.11.3 | |
| Using thread_safe 0.3.6 | |
| Using bundler 1.15.4 | |
| Using sqlite3 1.3.13 | |
| Using i18n 1.1.0 | |
| Using tzinfo 1.2.5 | |
| Using activesupport 6.0.0.alpha from https://github.com/rails/rails.git (at master@823f9e0) | |
| Using activemodel 6.0.0.alpha from https://github.com/rails/rails.git (at master@823f9e0) | |
| Using activerecord 6.0.0.alpha from https://github.com/rails/rails.git (at master@823f9e0) | |
| -- create_table(:questions, {:force=>:cascade}) | |
| D, [2018-09-13T15:28:22.754966 #39266] DEBUG -- : (1.1ms) SELECT sqlite_version(*) | |
| D, [2018-09-13T15:28:22.755603 #39266] DEBUG -- : (0.1ms) DROP TABLE IF EXISTS "questions" | |
| D, [2018-09-13T15:28:22.756251 #39266] DEBUG -- : (0.3ms) CREATE TABLE "questions" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "state" varchar DEFAULT 'new' NOT NULL) | |
| -> 0.0045s | |
| -- create_table(:answers, {:force=>:cascade}) | |
| D, [2018-09-13T15:28:22.756633 #39266] DEBUG -- : (0.0ms) DROP TABLE IF EXISTS "answers" | |
| D, [2018-09-13T15:28:22.756997 #39266] DEBUG -- : (0.1ms) CREATE TABLE "answers" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "question_id" integer, "text" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, CONSTRAINT "fk_rails_3d5ed4418f" | |
| FOREIGN KEY ("question_id") | |
| REFERENCES "questions" ("id") | |
| ) | |
| D, [2018-09-13T15:28:22.757463 #39266] DEBUG -- : (0.1ms) CREATE INDEX "index_answers_on_question_id" ON "answers" ("question_id") | |
| -> 0.0011s | |
| D, [2018-09-13T15:28:22.788548 #39266] DEBUG -- : (0.3ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) | |
| D, [2018-09-13T15:28:22.798011 #39266] DEBUG -- : ActiveRecord::InternalMetadata Load (0.1ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]] | |
| D, [2018-09-13T15:28:22.803921 #39266] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:28:22.804299 #39266] DEBUG -- : ActiveRecord::InternalMetadata Create (0.1ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "default_env"], ["created_at", "2018-09-13 13:28:22.803097"], ["updated_at", "2018-09-13 13:28:22.803097"]] | |
| D, [2018-09-13T15:28:22.804501 #39266] DEBUG -- : (0.0ms) commit transaction | |
| Run options: --seed 29202 | |
| # Running: | |
| D, [2018-09-13T15:28:22.826051 #39266] DEBUG -- : (0.2ms) begin transaction | |
| D, [2018-09-13T15:28:22.826898 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:59:in `test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:28:22.827490 #39266] DEBUG -- : Question Create (0.3ms) INSERT INTO "questions" DEFAULT VALUES | |
| D, [2018-09-13T15:28:22.828320 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:59:in `test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:28:22.828729 #39266] DEBUG -- : (0.1ms) commit transaction | |
| D, [2018-09-13T15:28:22.829072 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:59:in `test_association_rollback_clears_rollbacked_records' | |
| ===== Creating answer for: '' | |
| D, [2018-09-13T15:28:22.835844 #39266] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:28:22.836337 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:65:in `block (2 levels) in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:28:22.857060 #39266] DEBUG -- : (0.2ms) rollback transaction | |
| D, [2018-09-13T15:28:22.857682 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:62:in `test_association_rollback_clears_rollbacked_records' | |
| ===== Rescued error: #<ActiveRecord::RecordInvalid: Validation failed: Text can't be blank> | |
| D, [2018-09-13T15:28:22.859980 #39266] DEBUG -- : Answer Load (0.2ms) SELECT "answers".* FROM "answers" WHERE "answers"."question_id" = ? LIMIT ? [["question_id", 1], ["LIMIT", 11]] | |
| D, [2018-09-13T15:28:22.860397 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:72:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| ===== Current answers: #<ActiveRecord::Associations::CollectionProxy []> | |
| D, [2018-09-13T15:28:22.861432 #39266] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:28:22.861879 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:28:22.862117 #39266] DEBUG -- : Question Update (0.1ms) UPDATE "questions" SET "state" = ? WHERE "questions"."id" = ? [["state", "error"], ["id", 1]] | |
| D, [2018-09-13T15:28:22.862500 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:28:22.862716 #39266] DEBUG -- : (0.0ms) commit transaction | |
| D, [2018-09-13T15:28:22.862982 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:28:22.863723 #39266] DEBUG -- : Question Load (0.1ms) SELECT "questions".* FROM "questions" WHERE "questions"."id" = ? LIMIT ? [["id", 1], ["LIMIT", 1]] | |
| D, [2018-09-13T15:28:22.864031 #39266] DEBUG -- : ↳ rails_association_rollback_bug.rb:77:in `test_association_rollback_clears_rollbacked_records' | |
| . | |
| Finished in 0.043933s, 22.7619 runs/s, 22.7619 assertions/s. | |
| 1 runs, 1 assertions, 0 failures, 0 errors, 0 skips |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| $ ruby rails_association_rollback_bug.rb | |
| Fetching https://github.com/rails/rails.git | |
| Fetching gem metadata from https://rubygems.org/........ | |
| Fetching version metadata from https://rubygems.org/. | |
| Resolving dependencies... | |
| Using concurrent-ruby 1.0.5 | |
| Using minitest 5.11.3 | |
| Using thread_safe 0.3.6 | |
| Using bundler 1.15.4 | |
| Using sqlite3 1.3.13 | |
| Using i18n 1.1.0 | |
| Using tzinfo 1.2.5 | |
| Using activesupport 6.0.0.alpha from https://github.com/rails/rails.git (at master@823f9e0) | |
| Using activemodel 6.0.0.alpha from https://github.com/rails/rails.git (at master@823f9e0) | |
| Using activerecord 6.0.0.alpha from https://github.com/rails/rails.git (at master@823f9e0) | |
| -- create_table(:questions, {:force=>:cascade}) | |
| D, [2018-09-13T15:26:14.380206 #39185] DEBUG -- : (1.1ms) SELECT sqlite_version(*) | |
| D, [2018-09-13T15:26:14.380957 #39185] DEBUG -- : (0.1ms) DROP TABLE IF EXISTS "questions" | |
| D, [2018-09-13T15:26:14.381602 #39185] DEBUG -- : (0.3ms) CREATE TABLE "questions" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "state" varchar DEFAULT 'new' NOT NULL) | |
| -> 0.0046s | |
| -- create_table(:answers, {:force=>:cascade}) | |
| D, [2018-09-13T15:26:14.382059 #39185] DEBUG -- : (0.1ms) DROP TABLE IF EXISTS "answers" | |
| D, [2018-09-13T15:26:14.382392 #39185] DEBUG -- : (0.1ms) CREATE TABLE "answers" ("id" integer PRIMARY KEY AUTOINCREMENT NOT NULL, "question_id" integer, "text" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL, CONSTRAINT "fk_rails_3d5ed4418f" | |
| FOREIGN KEY ("question_id") | |
| REFERENCES "questions" ("id") | |
| ) | |
| D, [2018-09-13T15:26:14.382840 #39185] DEBUG -- : (0.1ms) CREATE INDEX "index_answers_on_question_id" ON "answers" ("question_id") | |
| -> 0.0012s | |
| D, [2018-09-13T15:26:14.416304 #39185] DEBUG -- : (0.2ms) CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL) | |
| D, [2018-09-13T15:26:14.426620 #39185] DEBUG -- : ActiveRecord::InternalMetadata Load (0.3ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = ? LIMIT ? [["key", "environment"], ["LIMIT", 1]] | |
| D, [2018-09-13T15:26:14.433823 #39185] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:26:14.434220 #39185] DEBUG -- : ActiveRecord::InternalMetadata Create (0.2ms) INSERT INTO "ar_internal_metadata" ("key", "value", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["key", "environment"], ["value", "default_env"], ["created_at", "2018-09-13 13:26:14.433334"], ["updated_at", "2018-09-13 13:26:14.433334"]] | |
| D, [2018-09-13T15:26:14.434422 #39185] DEBUG -- : (0.0ms) commit transaction | |
| Run options: --seed 1456 | |
| # Running: | |
| D, [2018-09-13T15:26:14.461269 #39185] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:26:14.461953 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:59:in `test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:26:14.462226 #39185] DEBUG -- : Question Create (0.1ms) INSERT INTO "questions" DEFAULT VALUES | |
| D, [2018-09-13T15:26:14.462939 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:59:in `test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:26:14.463574 #39185] DEBUG -- : (0.1ms) commit transaction | |
| D, [2018-09-13T15:26:14.463949 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:59:in `test_association_rollback_clears_rollbacked_records' | |
| ===== Creating answer for: 'A' | |
| D, [2018-09-13T15:26:14.472027 #39185] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:26:14.472603 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:65:in `block (2 levels) in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:26:14.487670 #39185] DEBUG -- : Answer Create (0.3ms) INSERT INTO "answers" ("question_id", "text", "created_at", "updated_at") VALUES (?, ?, ?, ?) [["question_id", 1], ["text", "A"], ["created_at", "2018-09-13 13:26:14.486829"], ["updated_at", "2018-09-13 13:26:14.486829"]] | |
| D, [2018-09-13T15:26:14.488196 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:65:in `block (2 levels) in test_association_rollback_clears_rollbacked_records' | |
| ===== Creating answer for: '' | |
| D, [2018-09-13T15:26:14.499768 #39185] DEBUG -- : (0.1ms) rollback transaction | |
| D, [2018-09-13T15:26:14.500114 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:62:in `test_association_rollback_clears_rollbacked_records' | |
| ===== Rescued error: #<ActiveRecord::RecordInvalid: Validation failed: Text can't be blank> | |
| D, [2018-09-13T15:26:14.501573 #39185] DEBUG -- : Answer Load (0.2ms) SELECT "answers".* FROM "answers" WHERE "answers"."question_id" = ? [["question_id", 1]] | |
| D, [2018-09-13T15:26:14.501876 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:72:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| ===== Current answers: #<ActiveRecord::Associations::CollectionProxy [#<Answer id: nil, question_id: 1, text: "A", created_at: "2018-09-13 13:26:14", updated_at: "2018-09-13 13:26:14">]> | |
| D, [2018-09-13T15:26:14.502957 #39185] DEBUG -- : (0.1ms) begin transaction | |
| D, [2018-09-13T15:26:14.503560 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:26:14.503802 #39185] DEBUG -- : Question Update (0.1ms) UPDATE "questions" SET "state" = ? WHERE "questions"."id" = ? [["state", "error"], ["id", 1]] | |
| D, [2018-09-13T15:26:14.504182 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:26:14.505161 #39185] DEBUG -- : Answer Create (0.4ms) INSERT INTO "answers" DEFAULT VALUES | |
| D, [2018-09-13T15:26:14.505838 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| D, [2018-09-13T15:26:14.505992 #39185] DEBUG -- : (0.1ms) rollback transaction | |
| D, [2018-09-13T15:26:14.506334 #39185] DEBUG -- : ↳ rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| E | |
| Finished in 0.051685s, 19.3480 runs/s, 0.0000 assertions/s. | |
| 1) Error: | |
| AssociationRollbackBugTest#test_association_rollback_clears_rollbacked_records: | |
| ActiveRecord::NotNullViolation: SQLite3::ConstraintException: NOT NULL constraint failed: answers.created_at: INSERT INTO "answers" DEFAULT VALUES | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `step' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:108:in `block in each' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `loop' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/gems/sqlite3-1.3.13/lib/sqlite3/statement.rb:107:in `each' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:233:in `to_a' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:233:in `block (2 levels) in exec_query' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/dependencies/interlock.rb:48:in `block in permit_concurrent_loads' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/concurrency/share_lock.rb:187:in `yield_shares' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/dependencies/interlock.rb:47:in `permit_concurrent_loads' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:224:in `block in exec_query' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:601:in `block (2 levels) in log' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:600:in `block in log' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/notifications/instrumenter.rb:23:in `instrument' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:591:in `log' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb:223:in `exec_query' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:117:in `exec_insert' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:149:in `insert' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:21:in `insert' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:184:in `_insert_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:737:in `_create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/counter_cache.rb:163:in `_create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/locking/optimistic.rb:70:in `_create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/attribute_methods/dirty.rb:174:in `_create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:332:in `block in _create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:98:in `run_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:824:in `_run_create_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:332:in `_create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/timestamp.rb:101:in `_create_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:710:in `create_or_update' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:328:in `block in create_or_update' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:132:in `run_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:824:in `_run_save_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:328:in `create_or_update' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:279:in `save' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/validations.rb:46:in `save' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:309:in `block in save' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:374:in `block in with_transaction_returning_status' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:252:in `transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:212:in `transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:372:in `with_transaction_returning_status' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:309:in `save' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/suppressor.rb:44:in `save' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/associations/collection_association.rb:381:in `insert_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/associations/has_many_association.rb:36:in `insert_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/autosave_association.rb:404:in `block in save_collection_association' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/autosave_association.rb:395:in `each' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/autosave_association.rb:395:in `save_collection_association' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/autosave_association.rb:187:in `block in add_autosave_association_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/autosave_association.rb:159:in `instance_eval' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/autosave_association.rb:159:in `block in define_non_cyclic_method' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:426:in `block in make_lambda' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:236:in `block in halting_and_conditional' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:515:in `block in invoke_after' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:515:in `each' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:515:in `invoke_after' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:133:in `run_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:824:in `_run_update_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:336:in `_update_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/timestamp.rb:113:in `_update_record' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:710:in `create_or_update' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:328:in `block in create_or_update' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:132:in `run_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activesupport/lib/active_support/callbacks.rb:824:in `_run_save_callbacks' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/callbacks.rb:328:in `create_or_update' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:312:in `save!' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/validations.rb:52:in `save!' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:313:in `block in save!' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:374:in `block in with_transaction_returning_status' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:252:in `transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:212:in `transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:372:in `with_transaction_returning_status' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:313:in `save!' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/suppressor.rb:48:in `save!' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:446:in `block in update!' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:374:in `block in with_transaction_returning_status' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in `block in transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:288:in `block in within_new_transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/2.4.0/monitor.rb:214:in `mon_synchronize' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:285:in `within_new_transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:254:in `transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:212:in `transaction' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/transactions.rb:372:in `with_transaction_returning_status' | |
| /usr/local/var/rbenv/versions/2.4.2/lib/ruby/gems/2.4.0/bundler/gems/rails-823f9e0a8970/activerecord/lib/active_record/persistence.rb:444:in `update!' | |
| rails_association_rollback_bug.rb:74:in `rescue in test_association_rollback_clears_rollbacked_records' | |
| rails_association_rollback_bug.rb:61:in `test_association_rollback_clears_rollbacked_records' | |
| 1 runs, 0 assertions, 0 failures, 1 errors, 0 skips |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment