fractaledmind / solid_errors

database-backed, app-internal exception tracker for Rails applications

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PG::ProgramLimitExceeded: ERROR: index row requires 8544 bytes, maximum size is 8191

dorianmariecom opened this issue · comments

It seems like some column(s) need to be truncated

     Failure/Error: result = conn.exec_params(sql, type_casted_binds)
     
     ActiveRecord::StatementInvalid:
       PG::ProgramLimitExceeded: ERROR:  index row requires 8544 bytes, maximum size is 8191
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:885:in `exec_params'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:885:in `block (2 levels) in exec_no_cache'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1028:in `block in with_raw_connection'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1000:in `with_raw_connection'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:884:in `block in exec_no_cache'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/notifications/instrumenter.rb:58:in `instrument'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb:1143:in `log'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:883:in `exec_no_cache'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb:863:in `execute_and_clear'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:66:in `internal_exec_query'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:153:in `exec_insert'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/postgresql/database_statements.rb:85:in `exec_insert'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:191:in `insert'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract/query_cache.rb:24:in `insert'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/persistence.rb:590:in `_insert_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/persistence.rb:1254:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/counter_cache.rb:201:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/locking/optimistic.rb:84:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/encryption/encryptable_record.rb:184:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/attribute_methods/dirty.rb:240:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/callbacks.rb:445:in `block in _create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/callbacks.rb:110:in `run_callbacks'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/callbacks.rb:913:in `_run_create_callbacks'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/callbacks.rb:445:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/timestamp.rb:114:in `_create_record'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/persistence.rb:1223:in `create_or_update'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/callbacks.rb:441:in `block in create_or_update'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/autosave_association.rb:375:in `around_save_collection_association'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/callbacks.rb:130:in `block in run_callbacks'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/callbacks.rb:141:in `run_callbacks'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/callbacks.rb:913:in `_run_save_callbacks'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/callbacks.rb:441:in `create_or_update'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/timestamp.rb:125:in `create_or_update'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/persistence.rb:753:in `save!'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/validations.rb:54:in `save!'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/transactions.rb:334:in `block in save!'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/transactions.rb:386:in `block in with_transaction_returning_status'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:536:in `block in within_new_transaction'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/concurrency/null_lock.rb:9:in `synchronize'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract/transaction.rb:533:in `within_new_transaction'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/connection_adapters/abstract/database_statements.rb:344:in `transaction'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/transactions.rb:382:in `with_transaction_returning_status'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/transactions.rb:334:in `save!'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/suppressor.rb:56:in `save!'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activerecord/lib/active_record/persistence.rb:55:in `create!'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/solid_errors-0.3.5/lib/solid_errors/subscriber.rb:36:in `report'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/error_reporter.rb:221:in `block in report'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/error_reporter.rb:219:in `each'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/activesupport/lib/active_support/error_reporter.rb:219:in `report'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/actionpack/lib/action_dispatch/middleware/executor.rb:22:in `rescue in call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/actionpack/lib/action_dispatch/middleware/executor.rb:21:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/actionpack/lib/action_dispatch/middleware/static.rb:27:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/sendfile.rb:114:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/bundler/gems/rails-e98bbd09437d/railties/lib/rails/engine.rb:536:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/urlmap.rb:76:in `block in call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/urlmap.rb:60:in `each'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/rack-3.0.9/lib/rack/urlmap.rb:60:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/capybara-3.40.0/lib/capybara/server/middleware.rb:60:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/configuration.rb:272:in `call'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/request.rb:100:in `block in handle_request'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/thread_pool.rb:378:in `with_force_shutdown'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/request.rb:99:in `handle_request'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/server.rb:464:in `process_client'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/server.rb:245:in `block in run'
     # /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/puma-6.4.2/lib/puma/thread_pool.rb:155:in `block in spawn_thread'
     # 
     #   Showing full backtrace because every line was filtered out.
     #   See docs for RSpec::Configuration#backtrace_exclusion_patterns and
     #   RSpec::Configuration#backtrace_inclusion_patterns for more information.
     # ------------------
     # --- Caused by: ---
     # Capybara::CapybaraError:
     #   Your application server raised an error - It has been raised in your test code because Capybara.raise_server_errors == true
     #   /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/capybara-3.40.0/lib/capybara/session.rb:164:in `raise_server_error!'

@dorianmariecom: This should now be fixed in version 0.4.0, which releases a new db schema to handle error uniqueness: #10

If you get the chance to upgrade and confirm that this is resolved in 0.4.0, I'd love to hear it so we can close this issue.

It's solved