Open rwilliams opened 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?
@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.
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
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 :)
well now it has no line endings...
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.
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
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
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.
@dr-itz What version of PG are you using. Also, did you check what max_lock_per_transaction
was set at?
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 ;)
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
Awesome. Thanks, I imagine that speeds up execution quite a bit too?
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.
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
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.
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 thepg
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