jruby / activerecord-jdbc-adapter

JRuby's ActiveRecord adapter using JDBC.
BSD 2-Clause "Simplified" License
462 stars 386 forks source link

Error: out of shared memory on 'large' rails migration #1044

Open rwilliams opened 4 years ago

rwilliams commented 4 years ago

I get this error when running a migration that does a bit of ETL with ~30k records. I don't know if this issue belongs here of with the java jdbc.

image

I had to adjust max_locks_per_transaction to a much larger number than it's default: 64. When i run this same migration on CRuby with the pg gem I do not have to make this change.

postgres (PostgreSQL) 12.1 (Debian 12.1-1.pgdg100+1) Rails 6.0.1 activerecord-jdbc-adapter 60.0 activerecord-jdbcpostgresql-adapter 60.0 jdbc-postgres 42.2.6

dr-itz commented 4 years ago

Please add a bit more background information like versions used (both Rails and activerecord-jdbc-adapter, jdbc-postgresql, PG itself). Also please post a full stack strace, not just the error message.

How many tables are involved in the migration? Are you using prepared statements or not?

This is actually a very interesting problem because the SQL executed during the migrations should be the same in CRuby and JRuby. There might be an unexpected difference somewhere in the connection configuration or how metadata is read.

Would it be possible to run this migration on a dummy database with the same structure but with just a few rows of data so we could compare the actual SQL between CRuby and JRuby from the debug logs?

rwilliams commented 4 years ago

@dr-itz I updated the gem versions used in the main comment. I'll try and work on a simplified version of the migration for testing.

rwilliams commented 4 years ago

Full stack trace. Is there a way to make this not be horribly formatted? Here's the link to the raw gist

➜ dcr web rails db:migrate --trace                                                                                                            Starting cds_db_1 ... done                                                                                                                    ** Invoke db:migrate (first_time)                                                                                                             ** Invoke db:load_config (first_time)                                                                                                         ** Invoke environment (first_time)                                                                                                            ** Execute environment                                                                                                                        ** Execute db:load_config                                                                                                                     ** Execute db:migrate                                                                                                                         == 20191110163037 CreateTruckSetupsWorkers: migrating =========================                                                               -- create_table(:truck_setups_workers)                                                                                                           -> 0.0935s                                                                                                                                    -> 0 rows                                                                                                                                  rails aborted!                                                                                                                                StandardError: An error has occurred, this and all later migrations canceled:                                                                                                                                                                                                               ActiveRecord::JDBCError: org.postgresql.util.PSQLException: ERROR: out of shared memory                                                         Hint: You might need to increase max_locks_per_transaction.                                                                                 arjdbc/jdbc/RubyJdbcConnection.java:872:in `execute_insert'                                                                                   /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:25:in `block in exec_insert'            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block in log'                     /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'                     /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'                              /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/core.rb:72:in `log'                                            /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:24:in `exec_insert'                     /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/postgresql/adapter.rb:369:in `exec_insert'                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:166:in `insert'               /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `insert'                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:375:in `_insert_record'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:933:in `_create_record'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/counter_cache.rb:163:in `_create_record'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/locking/optimistic.rb:70:in `_create_record'                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/attribute_methods/dirty.rb:211:in `_create_record'                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332:in `block in _create_record'                                     /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:101:in `run_callbacks'                                             /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827:in `_run_create_callbacks'                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332:in `_create_record'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:111:in `_create_record'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:906:in `create_or_update'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328:in `block in create_or_update'                                   /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'                                             /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827:in `_run_save_callbacks'                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328:in `create_or_update'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:129:in `create_or_update'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:470:in `save'                                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/validations.rb:47:in `save'                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315:in `block in save'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status'               /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:279:in `transaction'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:366:in `with_transaction_returning_status'                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315:in `save'                                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/suppressor.rb:44:in `save'                                                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:38:in `create'                                                     /home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:11:in `block in change'                                               org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'                                               /home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:9:in `change'                                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:828:in `exec_migration'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:812:in `block in migrate'                                            /opt/jruby/lib/ruby/stdlib/benchmark.rb:293:in `measure'                                                                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:811:in `block in migrate'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in `with_connection'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:810:in `migrate'                                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1001:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1311:in `block in execute_migration_in_transaction'                  /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1362:in `block in ddl_transaction'                                   /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction' /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'                                                                                                                                            /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1362:in `ddl_transaction'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1310:in `execute_migration_in_transaction'                           /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1282:in `block in migrate_without_lock'                              org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1281:in `migrate_without_lock'                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1229:in `block in migrate'                                           /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1382:in `with_advisory_lock'                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1229:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1061:in `up'                                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1036:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/tasks/database_tasks.rb:238:in `migrate'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:85:in `block in <main>'                                   org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:83:in `block in <main>'                                   /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:281:in `block in execute'                                                                 org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:281:in `execute'                                                                          /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'                                                  /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:199:in `invoke_with_call_chain'                                                           /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:188:in `invoke'                                                                           /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:160:in `invoke_task'                                                               /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'                                                        org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'                                                        /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:125:in `run_with_threads'                                                          /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:110:in `top_level'                                                                 /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'                                        /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'                                               /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'                                                 /usr/local/bundle/gems/railties-6.0.1/lib/rails/command.rb:48:in `invoke'                                                                     /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands.rb:18:in `<main>'                                                                    org/jruby/RubyKernel.java:978:in `require'                                                                                                    bin/rails:9:in `<main>'                                                                                                                                                                                                                                                                     Caused by:                                                                                                                                    ActiveRecord::StatementInvalid: ActiveRecord::JDBCError: org.postgresql.util.PSQLException: ERROR: out of shared memory                         Hint: You might need to increase max_locks_per_transaction.                                                                                 arjdbc/jdbc/RubyJdbcConnection.java:872:in `execute_insert'                                                                                   /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:25:in `block in exec_insert'            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block in log'                     /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'                     /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'                              /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/core.rb:72:in `log'                                            /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:24:in `exec_insert'                     /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/postgresql/adapter.rb:369:in `exec_insert'                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:166:in `insert'               /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `insert'                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:375:in `_insert_record'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:933:in `_create_record'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/counter_cache.rb:163:in `_create_record'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/locking/optimistic.rb:70:in `_create_record'                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/attribute_methods/dirty.rb:211:in `_create_record'                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332:in `block in _create_record'                                     /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:101:in `run_callbacks'                                             /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827:in `_run_create_callbacks'                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332:in `_create_record'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:111:in `_create_record'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:906:in `create_or_update'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328:in `block in create_or_update'                                   /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'                                             /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827:in `_run_save_callbacks'                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328:in `create_or_update'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:129:in `create_or_update'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:470:in `save'                                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/validations.rb:47:in `save'                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315:in `block in save'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status'               /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:279:in `transaction'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:366:in `with_transaction_returning_status'                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315:in `save'                                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/suppressor.rb:44:in `save'                                                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:38:in `create'                                                     /home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:11:in `block in change'                                               org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'                                               /home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:9:in `change'                                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:828:in `exec_migration'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:812:in `block in migrate'                                            /opt/jruby/lib/ruby/stdlib/benchmark.rb:293:in `measure'                                                                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:811:in `block in migrate'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in `with_connection'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:810:in `migrate'                                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1001:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1311:in `block in execute_migration_in_transaction'                  /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1362:in `block in ddl_transaction'                                   /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction' /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'                                                                                                                                            /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1362:in `ddl_transaction'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1310:in `execute_migration_in_transaction'                           /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1282:in `block in migrate_without_lock'                              org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1281:in `migrate_without_lock'                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1229:in `block in migrate'                                           /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1382:in `with_advisory_lock'                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1229:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1061:in `up'                                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1036:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/tasks/database_tasks.rb:238:in `migrate'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:85:in `block in <main>'                                   org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:83:in `block in <main>'                                   /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:281:in `block in execute'                                                                 org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:281:in `execute'                                                                          /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'                                                  /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:199:in `invoke_with_call_chain'                                                           /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:188:in `invoke'                                                                           /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:160:in `invoke_task'                                                               /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'                                                        org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'                                                        /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:125:in `run_with_threads'                                                          /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:110:in `top_level'                                                                 /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'                                        /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'                                               /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'                                                 /usr/local/bundle/gems/railties-6.0.1/lib/rails/command.rb:48:in `invoke'                                                                     /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands.rb:18:in `<main>'                                                                    org/jruby/RubyKernel.java:978:in `require'                                                                                                    bin/rails:9:in `<main>'                                                                                                                                                                                                                                                                     Caused by:                                                                                                                                    ActiveRecord::JDBCError: org.postgresql.util.PSQLException: ERROR: out of shared memory                                                         Hint: You might need to increase max_locks_per_transaction.                                                                                 arjdbc/jdbc/RubyJdbcConnection.java:872:in `execute_insert'                                                                                   /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:25:in `block in exec_insert'            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718:in `block in log'                     /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717:in `block in log'                     /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708:in `log'                              /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/core.rb:72:in `log'                                            /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:24:in `exec_insert'                     /usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/postgresql/adapter.rb:369:in `exec_insert'                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:166:in `insert'               /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:22:in `insert'                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:375:in `_insert_record'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:933:in `_create_record'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/counter_cache.rb:163:in `_create_record'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/locking/optimistic.rb:70:in `_create_record'                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/attribute_methods/dirty.rb:211:in `_create_record'                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332:in `block in _create_record'                                     /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:101:in `run_callbacks'                                             /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827:in `_run_create_callbacks'                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332:in `_create_record'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:111:in `_create_record'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:906:in `create_or_update'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328:in `block in create_or_update'                                   /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'                                             /usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827:in `_run_save_callbacks'                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328:in `create_or_update'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:129:in `create_or_update'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:470:in `save'                                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/validations.rb:47:in `save'                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315:in `block in save'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:375:in `block in with_transaction_returning_status'               /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:279:in `transaction'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:366:in `with_transaction_returning_status'                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315:in `save'                                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/suppressor.rb:44:in `save'                                                        /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:38:in `create'                                                     /home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:11:in `block in change'                                               org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/relation/delegation.rb:85:in `each'                                               /home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:9:in `change'                                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:828:in `exec_migration'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:812:in `block in migrate'                                            /opt/jruby/lib/ruby/stdlib/benchmark.rb:293:in `measure'                                                                                      /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:811:in `block in migrate'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/connection_pool.rb:473:in `with_connection'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:810:in `migrate'                                                     /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1001:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1311:in `block in execute_migration_in_transaction'                  /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1362:in `block in ddl_transaction'                                   /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `block in transaction' /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:280:in `block in within_new_transaction'                                                                                                                                            /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/transaction.rb:278:in `within_new_transaction'       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:281:in `transaction'          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212:in `transaction'                                              /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1362:in `ddl_transaction'                                            /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1310:in `execute_migration_in_transaction'                           /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1282:in `block in migrate_without_lock'                              org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1281:in `migrate_without_lock'                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1229:in `block in migrate'                                           /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1382:in `with_advisory_lock'                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1229:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1061:in `up'                                                         /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/migration.rb:1036:in `migrate'                                                    /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/tasks/database_tasks.rb:238:in `migrate'                                          /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:85:in `block in <main>'                                   org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/railties/databases.rake:83:in `block in <main>'                                   /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:281:in `block in execute'                                                                 org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:281:in `execute'                                                                          /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:219:in `block in invoke_with_call_chain'                                                  /opt/jruby/lib/ruby/stdlib/monitor.rb:235:in `mon_synchronize'                                                                                /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:199:in `invoke_with_call_chain'                                                           /usr/local/bundle/gems/rake-13.0.1/lib/rake/task.rb:188:in `invoke'                                                                           /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:160:in `invoke_task'                                                               /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'                                                        org/jruby/RubyArray.java:1814:in `each'                                                                                                       /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:116:in `block in top_level'                                                        /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:125:in `run_with_threads'                                                          /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:110:in `top_level'                                                                 /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'                                        /usr/local/bundle/gems/rake-13.0.1/lib/rake/application.rb:186:in `standard_exception_handling'                                               /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands/rake/rake_command.rb:20:in `perform'                                                 /usr/local/bundle/gems/railties-6.0.1/lib/rails/command.rb:48:in `invoke'                                                                     /usr/local/bundle/gems/railties-6.0.1/lib/rails/commands.rb:18:in `<main>'                                                                    org/jruby/RubyKernel.java:978:in `require'                                                                                                    bin/rails:9:in `<main>'                                                                                                                                                                                                                                                                     Caused by:                                                                                                                                    Java::OrgPostgresqlUtil::PSQLException: ERROR: out of shared memory                                                                             Hint: You might need to increase max_locks_per_transaction.                                                                                 org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2468)                                                    org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2211)                                                          org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:309)                                                                  org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:446)                                                                         org.postgresql.jdbc.PgStatement.execute(PgStatement.java:370)                                                                                 org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:149)                                                        org.postgresql.jdbc.PgPreparedStatement.executeUpdate(PgPreparedStatement.java:124)                                                           arjdbc.jdbc.RubyJdbcConnection.lambda$execute_insert$9(RubyJdbcConnection.java:879)                                                           arjdbc.jdbc.RubyJdbcConnection.withConnection(RubyJdbcConnection.java:3244)                                                                   arjdbc.jdbc.RubyJdbcConnection.withConnection(RubyJdbcConnection.java:3210)                                                                   arjdbc.jdbc.RubyJdbcConnection.execute_insert(RubyJdbcConnection.java:872)                                                                    arjdbc.jdbc.RubyJdbcConnection$INVOKER$i$execute_insert.call(RubyJdbcConnection$INVOKER$i$execute_insert.gen)                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)                                                                     usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.abstract.database_statements.invokeOther3:execute_insert(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:25)                         usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.abstract.database_statements.RUBY$block$exec_insert$2(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:25)                            org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:85)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.targets.YieldSite.yieldSpecific(YieldSite.java:141)                                                                              usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract_adapter.RUBY$block$log$2(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:718)                                                     org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:85)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.targets.YieldSite.yieldSpecific(YieldSite.java:141)                                                                              opt.jruby.lib.ruby.stdlib.monitor.RUBY$method$mon_synchronize$0(/opt/jruby/lib/ruby/stdlib/monitor.rb:235)                                    org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:97)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:115)                                                                     org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:151)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:160)                                                                 usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract_adapter.invokeOther1:synchronize(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717)                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract_adapter.RUBY$block$log$1(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:717)                                                     org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.BlockBody.yield(BlockBody.java:114)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.ir.runtime.IRRuntimeHelpers.yield(IRRuntimeHelpers.java:499)                                                                        org.jruby.ir.targets.YieldSite.yield(YieldSite.java:105)                                                                                      usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.notifications.instrumenter.RUBY$method$instrument$0(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/notifications/instrumenter.rb:24)                                                              org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:120)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:175)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:213)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:222)                                                                 usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract_adapter.invokeOther6:instrument(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708)                                              usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract_adapter.RUBY$method$log$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract_adapter.rb:708)                                                    org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.abstract.core.invokeSuper4:-unknown-super-target-(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/core.rb:72)                                               usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.abstract.core.RUBY$method$log$0(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/core.rb:72)                                                                 org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:133)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:210)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:244)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:253)                                                                 usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.abstract.database_statements.invokeOther12:log(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:24)                                   usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.abstract.database_statements.RUBY$method$exec_insert$0(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/abstract/database_statements.rb:24)                           org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.postgresql.adapter.invokeSuper0:-unknown-super-target-(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/postgresql/adapter.rb:369)                                    usr.local.bundle.gems.activerecord_minus_jdbc_minus_adapter_minus_60_dot_0_minus_java.lib.arjdbc.postgresql.adapter.RUBY$method$exec_insert$0(/usr/local/bundle/gems/activerecord-jdbc-adapter-60.0-java/lib/arjdbc/postgresql/adapter.rb:369)                                              org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:174)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:74)                                                                      usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract.database_statements.invokeOther1:exec_insert(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:166)                     usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract.database_statements.RUBY$method$insert$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:166)                         org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuperSplatArgs(IRRuntimeHelpers.java:1189)                                                    usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract.query_cache.invokeSuper2:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:22)                           usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract.query_cache.RUBY$method$insert$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/query_cache.rb:22)                                          org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:174)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:74)                                                                      usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.invokeOther18:insert(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:375)                                                                                                   usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.RUBY$method$_insert_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:375)                                                                                           org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:110)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:172)                                                                     usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.invokeOther4:_insert_record(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:933)                                                                                            usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.RUBY$method$_create_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:933)                                                                                           org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.counter_cache.invokeSuper2:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/counter_cache.rb:163)                                                                                usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.counter_cache.RUBY$method$_create_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/counter_cache.rb:163)                                                                                       org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.locking.optimistic.invokeSuper5:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/locking/optimistic.rb:70)                                                                       usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.locking.optimistic.RUBY$method$_create_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/locking/optimistic.rb:70)                                                                              org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.attribute_methods.dirty.invokeSuper1:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/attribute_methods/dirty.rb:211)                                                            usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.attribute_methods.dirty.RUBY$method$_create_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/attribute_methods/dirty.rb:211)                                                                   org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             org.jruby.ir.runtime.IRRuntimeHelpers.zSuper(IRRuntimeHelpers.java:1230)                                                                      usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.invokeSuper1:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332)                                                                                        usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.RUBY$block$_create_record$1(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332)                                                                                                org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:85)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.targets.YieldSite.yieldSpecific(YieldSite.java:141)                                                                              usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.callbacks.RUBY$method$run_callbacks$0(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:101)                                                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:110)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:386)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:184)                                                                     usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.callbacks.invokeOther0:run_callbacks(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827)                                                                                             usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.callbacks.RUBY$method$_run_create_callbacks$0(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827)                                                                                    org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:97)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:365)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:153)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:160)                                                                 usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.invokeOther2:_run_create_callbacks(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332)                                                                                         usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.RUBY$method$_create_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:332)                                                                                               usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.RUBY$method$_create_record$0$__VARARGS__(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb)                                                                                       org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.timestamp.invokeSuper7:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:111)                                                                                        usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.timestamp.RUBY$method$_create_record$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:111)                                                                                               org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:97)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:365)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:153)                                                                     usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.invokeOther4:_create_record(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:906)                                                                                            usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.RUBY$method$create_or_update$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:906)                                                                                         org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             org.jruby.ir.runtime.IRRuntimeHelpers.zSuper(IRRuntimeHelpers.java:1230)                                                                      usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.invokeSuper1:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328)                                                                                        usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.RUBY$block$create_or_update$1(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328)                                                                                              org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:85)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.targets.YieldSite.yieldSpecific(YieldSite.java:141)                                                                              usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.callbacks.RUBY$method$run_callbacks$0(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135)                                                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:110)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)                                                                     usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.callbacks.invokeOther0:run_callbacks(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827)                                                                                             usr.local.bundle.gems.activesupport_minus_6_dot_0_dot_1.lib.active_support.callbacks.RUBY$method$_run_save_callbacks$0(/usr/local/bundle/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:827)                                                                                      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:97)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:151)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:160)                                                                 usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.invokeOther2:_run_save_callbacks(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328)                                                                                           usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.callbacks.RUBY$method$create_or_update$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/callbacks.rb:328)                                                                                             org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.timestamp.invokeSuper1:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:129)                                                                                        usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.timestamp.RUBY$method$create_or_update$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/timestamp.rb:129)                                                                                             org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:84)                                                                      usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.invokeOther0:create_or_update(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:470)                                                                                          usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.RUBY$method$save$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:470)                                                                                                     org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.validations.invokeSuper1:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/validations.rb:47)                                                                                     usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.validations.RUBY$method$save$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/validations.rb:47)                                                                                                      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             org.jruby.ir.runtime.IRRuntimeHelpers.zSuperSplatArgs(IRRuntimeHelpers.java:1225)                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.invokeSuper1:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315)                                                                                  usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.RUBY$block$save$1(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315)                                                                                                    org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:85)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.targets.YieldSite.yieldSpecific(YieldSite.java:141)                                                                              usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.RUBY$block$with_transaction_returning_status$1(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:375)                                                                       org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:85)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.targets.YieldSite.yieldSpecific(YieldSite.java:141)                                                                              usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.connection_adapters.abstract.database_statements.RUBY$method$transaction$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/connection_adapters/abstract/database_statements.rb:279)                    org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:107)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:182)                                                                     usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.invokeOther1:transaction(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212)                                                                                             usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.RUBY$method$transaction$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:212)                                                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:94)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:151)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:160)                                                                 usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.invokeOther12:transaction(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:366)                                                                                            usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.RUBY$method$with_transaction_returning_status$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:366)                                                                      org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:97)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:151)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:160)                                                                 usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.invokeOther2:with_transaction_returning_status(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315)                                                                       usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.transactions.RUBY$method$save$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/transactions.rb:315)                                                                                                   org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:70)                                                          org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuper(IRRuntimeHelpers.java:1206)                                                             org.jruby.ir.runtime.IRRuntimeHelpers.unresolvedSuperSplatArgs(IRRuntimeHelpers.java:1189)                                                    usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.suppressor.invokeSuper4:-unknown-super-target-(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/suppressor.rb:44)                                                                                       usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.suppressor.RUBY$method$save$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/suppressor.rb:44)                                                                                                        org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:94)                                                            org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:105)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:141)                                                                     usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.invokeOther4:save(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:38)                                                                                                       usr.local.bundle.gems.activerecord_minus_6_dot_0_dot_1.lib.active_record.persistence.RUBY$method$create$0(/usr/local/bundle/gems/activerecord-6.0.1/lib/active_record/persistence.rb:38)                                                                                                    org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:84)                                                            org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:107)                                                           org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:140)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:172)                                                                     home.user.cds.db.migrate.$20191110163037_create_truck_setups_workers.invokeOther5:create(/home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:11)                                                                                                                        home.user.cds.db.migrate.$20191110163037_create_truck_setups_workers.RUBY$block$change$0(/home/user/cds/db/migrate/20191110163037_create_truck_setups_workers.rb:11)                                                                                                                        org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:146)                                                               org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:116)                                                             org.jruby.runtime.BlockBody.yield(BlockBody.java:114)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.RubyArray.each(RubyArray.java:1814)                                                                                                 org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)                                                                 org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:555)                                                   org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:540)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:345)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:92)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:191)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:178)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:396)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:205)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:185)                                                                                   org.jruby.runtime.BlockBody.yield(BlockBody.java:116)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.ir.runtime.IRRuntimeHelpers.yield(IRRuntimeHelpers.java:499)                                                                        org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:85)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:540)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:375)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:174)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:316)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:135)                                                                     org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:386)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:184)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:191)                                                                 org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:337)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:386)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:184)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:338)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:386)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:184)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:191)                                                                 org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:337)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:92)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:191)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:178)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:396)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:205)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:185)                                                                                   org.jruby.runtime.BlockBody.yield(BlockBody.java:116)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.RubyArray.each(RubyArray.java:1814)                                                                                                 org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)                                                                 org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:555)                                                   org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:345)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:345)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:386)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:184)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:338)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:386)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:184)                                                                     org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:191)                                                                 org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:337)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:345)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:185)                                                                                   org.jruby.runtime.BlockBody.yield(BlockBody.java:116)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.RubyArray.each(RubyArray.java:1814)                                                                                                 org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)                                                                 org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:555)                                                   org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:79)                                                                                       org.jruby.runtime.Block.call(Block.java:129)                                                                                                  org.jruby.RubyProc.call(RubyProc.java:299)                                                                                                    org.jruby.RubyProc.call(RubyProc.java:278)                                                                                                    org.jruby.RubyProc.call(RubyProc.java:266)                                                                                                    org.jruby.RubyProc$INVOKER$i$0$0$call.call(RubyProc$INVOKER$i$0$0$call.gen)                                                                   org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:212)                                                                 org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:203)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:185)                                                                                   org.jruby.runtime.BlockBody.yield(BlockBody.java:116)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.RubyArray.each(RubyArray.java:1814)                                                                                                 org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)                                                                 org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:555)                                                   org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:84)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)                                                                 org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:172)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:316)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:135)                                                                     org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:92)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:191)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:178)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:396)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:205)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:540)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:86)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:156)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:143)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:375)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:174)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:316)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:185)                                                                                   org.jruby.runtime.BlockBody.yield(BlockBody.java:116)                                                                                         org.jruby.runtime.Block.yield(Block.java:170)                                                                                                 org.jruby.RubyArray.each(RubyArray.java:1814)                                                                                                 org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)                                                                 org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:555)                                                   org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:80)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:121)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:108)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:192)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:354)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:143)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:345)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:116)                                                                    org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:143)                                                         org.jruby.runtime.IRBlockBody.yieldSpecific(IRBlockBody.java:89)                                                                              org.jruby.runtime.Block.yieldSpecific(Block.java:139)                                                                                         org.jruby.ir.runtime.IRRuntimeHelpers.yieldSpecific(IRRuntimeHelpers.java:503)                                                                org.jruby.ir.instructions.YieldInstr.interpret(YieldInstr.java:76)                                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.processOtherOp(StartupInterpreterEngine.java:178)                                           org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:104)                                                org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:93)                                                                  org.jruby.ir.instructions.CallBase.interpret(CallBase.java:537)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:86)                                              org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:73)                                                          org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:332)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86)                                                                      org.jruby.ir.instructions.CallBase.interpret(CallBase.java:540)                                                                               org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:361)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:92)                                                               org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:191)                                             org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:178)                                                         org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)                                                                 org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:396)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:205)                                                                     org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:325)                                                            org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:72)                                                 org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:96)                                                                      org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:81)                                                                             org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:30)                                                                             org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)                                                                                       org.jruby.Ruby.runInterpreter(Ruby.java:870)                                                                                                  org.jruby.Ruby.loadFile(Ruby.java:2961)                                                                                                       org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:234)                                                         org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:34)                                                             org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:887)                                                            org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:535)                                                                    org.jruby.runtime.load.LoadService.require(LoadService.java:402)                                                                              org.jruby.RubyKernel.requireCommon(RubyKernel.java:985)                                                                                       org.jruby.RubyKernel.require(RubyKernel.java:978)                                                                                             org.jruby.RubyKernel$INVOKER$s$1$0$require.call(RubyKernel$INVOKER$s$1$0$require.gen)                                                         org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:417)                                                 org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:95)                                                                      org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:375)                                                             org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:174)                                                                     bin.rails.invokeOther5:require(bin/rails:9)                                                                                                   bin.rails.RUBY$script(bin/rails:9)                                                                                                            java.lang.invoke.MethodHandle.invokeWithArguments(MethodHandle.java:627)                                                                      org.jruby.ir.Compiler$1.load(Compiler.java:89)                                                                                                org.jruby.Ruby.runScript(Ruby.java:857)                                                                                                       org.jruby.Ruby.runNormally(Ruby.java:780)                                                                                                     org.jruby.Ruby.runNormally(Ruby.java:798)                                                                                                     org.jruby.Ruby.runFromMain(Ruby.java:610)                                                                                                     org.jruby.Main.doRunFromMain(Main.java:412)                                                                                                   org.jruby.Main.internalRun(Main.java:304)                                                                                                     org.jruby.Main.run(Main.java:234)                                                                                                             org.jruby.Main.main(Main.java:206)                                                                                                            Tasks: TOP => db:migrate   
dr-itz commented 4 years ago

thanks...yeah, make it a code block, see https://help.github.com/en/github/writing-on-github/basic-writing-and-formatting-syntax#quoting-code, i.e. add three backticks on a line before and on a line after it. It's then easy to copy out into an editor and show that on a very wide screen :)

rwilliams commented 4 years ago

well now it has no line endings...

rwilliams commented 4 years ago

I did a small data test and the only difference in the SQL was 'pg' uses BEGIN vs BEGIN TRANSACTION and COMMIT vs COMMIT TRANSACTION which makes no difference. I think i'm going to need to use a bigger sample.

rwilliams commented 4 years ago

Here's sample log files from both pg and activerecord-jdbcpostgresql-adapter. They are almost identical until the jdbc transaction rolls back for some reason. The only minor differences are in the insert syntax. the jdbc driver didn't fail until I tried to create 5300 records. When they do complete (~5200 records) the pg driver completes in about 25 seconds and the jdbc driver completes in 83 seconds.

jdbc insert syntax: INSERT INTO "truck_setups_workers" ("truck_setup_id", "employee_id", "created_at", "updated_at") VALUES (?, ?, ?, ?) [0m [["truck_setup_id", 5256], ["employee_id", 194], ["created_at", 2019-11-29 00:35:11 UTC], ["updated_at", 2019-11-29 00:35:11 UTC]]

pg insert syntax: INSERT INTO "truck_setups_workers" ("truck_setup_id", "employee_id", "created_at", "updated_at") VALUES ($1, $2, $3, $4) RETURNING "id" [0m [["truck_setup_id", 5256], ["employee_id", 194], ["created_at", "2019-11-29 00:42:16.075380"], ["updated_at", "2019-11-29 00:42:16.075380"]]

Here's the migration (I know it's horribly inefficient, I'm probably going to use active record import and rip out all the creates from the migrations and put them in a rake task ):

def change
    create_table :truck_setups_workers do |t|
      t.references :truck_setup, index: true, null: false, foreign_key: true
      t.references :employee, index: true, null: false, foreign_key: true

      t.timestamps
    end
    TruckSetup.all.each do |setup|
        TruckSetupsWorker.create(truck_setup_id:setup.id,employee_id:setup.worker_id)
    end
    remove_column :truck_setups, :worker_id
end
rwilliams commented 4 years ago

So I created a skeleton rails app to test this out with the following migration

class CreateTests < ActiveRecord::Migration[6.0]
  def change
    create_table :tests do |t|
      t.string :name
      t.string :profession
      t.timestamps
    end

    1.upto 12816 do
      Test.create(name:'guy',profession:'slacker')
    end
  end
end

the jdbc driver fails at 12816 and completes at 12815. I tested against the pg gem with ruby 2.6.5 and was able to create one million records without issue.

Logs for for both pg and jdbc @12816 records jdbc-12816.log pg-12816.log

Is it possible the jdbc adapter is using a different transaction_mode?

Also if I run this sql instead of using create I am able to insert many more records (I tested 200k) without issue.

1.upto 12816 do
      execute "INSERT INTO tests (name, profession, created_at, updated_at) VALUES ('guy', 'slacker', CURRENT_TIMESTAMP, CURRENT_TIMESTAMP)"
      #Test.create(name:'guy',profession:'slacker')
end
dr-itz commented 4 years ago

thanks for that! It seems I need to play with the numbers a bit since this runs fine for me. But I'm on an older PG version locally. What really is interesting is the INSERT...RETURNING difference in the statements. Turns out we do not add the RETURNING in arjdbc, but the pgdjbc driver does it anway, but as RETURNING *. This gives more overhead and might at least explain part of the performance difference.

The default transaction isolation mode could well be different. Will look into that too.

rwilliams commented 4 years ago

@dr-itz What version of PG are you using. Also, did you check what max_lock_per_transaction was set at?

dr-itz commented 4 years ago

errm...an ancient one. 9.6.something. I increased the number of rows now and it crashes exactly like yours. So that's "good" news ;)

dr-itz commented 4 years ago

ok, found it. In config/database.yaml add these to the connection:

  properties:
    autosave: never

Reason is that we default to autosave: conservative. From the docs:

Specifies what the driver should do if a query fails. In autosave=always mode, JDBC driver sets a savepoint before each query, and rolls back to that savepoint in case of failure. In autosave=never mode (default), no savepoint dance is made ever. In autosave=conservative mode, savepoint is set for each query, however the rollback is done only for rare cases like 'cached statement cannot change return type' or 'statement XXX is not valid' so JDBC driver rollsback and retries

We do it because it magically solves hot update problems...probably needs re-thinking

rwilliams commented 4 years ago

Awesome. Thanks, I imagine that speeds up execution quite a bit too?

dr-itz commented 4 years ago

Just tested...runtime is around 45-49s either way...but I actually might be able to optimize the way we do inserts with what I learnt today.

dr-itz commented 4 years ago

btw. setting config.active_record.verbose_query_logs = false brings down the runtime to 18s for me. Reason is that ActiveRecord::LogSubscriber logs the caller (and then not show it in the log 🙄). To do this JRuby uses, depending on Java version, java.lang.Thread.getStrackTrace() which is slow. Java >= 9 should be faster there