mysociety / alaveteli

Provide a Freedom of Information request system for your jurisdiction
https://alaveteli.org
Other
385 stars 195 forks source link

[ERROR] script/update-xapian-index "string contains null byte" #5884

Open garethrees opened 3 years ago

garethrees commented 3 years ago
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/postgresql_adapter.rb:832:in `send_query_prepared'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/postgresql_adapter.rb:832:in `block in exec_cache'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract_adapter.rb:378:in `block in log'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract_adapter.rb:372:in `log'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/postgresql_adapter.rb:831:in `exec_cache'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/postgresql/database_statements.rb:155:in `exec_delete'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract/database_statements.rb:101:in `update'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `update'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/relation.rb:84:in `_update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/persistence.rb:495:in `_update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/locking/optimistic.rb:70:in `_update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/attribute_methods/dirty.rb:83:in `_update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/callbacks.rb:310:in `block in _update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:113:in `call'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:552:in `block (2 levels) in compile'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:502:in `call'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:86:in `run_callbacks'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/callbacks.rb:310:in `_update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/timestamp.rb:70:in `_update_record'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/persistence.rb:484:in `create_or_update'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/callbacks.rb:302:in `block in create_or_update'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:113:in `call'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:552:in `block (2 levels) in compile'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:502:in `call'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activesupport-4.1.16/lib/active_support/callbacks.rb:86:in `run_callbacks'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/callbacks.rb:302:in `create_or_update'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/persistence.rb:125:in `save!'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/validations.rb:57:in `save!'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/attribute_methods/dirty.rb:29:in `save!'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/transactions.rb:273:in `block in save!'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/transactions.rb:329:in `block in with_transaction_returning_status'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract/database_statements.rb:199:in `transaction'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/transactions.rb:208:in `transaction'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/transactions.rb:326:in `with_transaction_returning_status'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/transactions.rb:273:in `save!'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/app/models/incoming_message.rb:674:in `get_attachment_text_full'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/app/models/incoming_message.rb:706:in `get_text_for_indexing_full'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/app/models/info_request_event.rb:225:in `search_text_main'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:842:in `single_xapian_value'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:835:in `xapian_value'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:956:in `block in xapian_index'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:953:in `each'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:953:in `xapian_index'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:670:in `run_job'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:650:in `block (2 levels) in update_index'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `block in transaction'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract/database_statements.rb:209:in `within_new_transaction'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/connection_adapters/abstract/database_statements.rb:201:in `transaction'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/activerecord-4.1.16/lib/active_record/transactions.rb:208:in `transaction'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:639:in `block in update_index'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:636:in `each'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/acts_as_xapian.rb:636:in `update_index'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/lib/acts_as_xapian/tasks/xapian.rake:12:in `block (2 levels) in <top (required)>'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `block in execute'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `each'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:250:in `execute'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:194:in `block in invoke_with_call_chain'
/opt/rbenv/versions/2.3.8/lib/ruby/2.3.0/monitor.rb:214:in `mon_synchronize'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:187:in `invoke_with_call_chain'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/task.rb:180:in `invoke'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:152:in `invoke_task'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block (2 levels) in top_level'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `each'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:108:in `block in top_level'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:117:in `run_with_threads'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:102:in `top_level'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:80:in `block in run'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:178:in `standard_exception_handling'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/lib/rake/application.rb:77:in `run'
/data/vhost/czechia.alaveteli.org/shared/vendor/bundle/ruby/2.3.0/gems/rake-12.0.0/exe/rake:27:in `<top (required)>'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/vendor/bundle/ruby/2.3.0/bin/rake:23:in `load'
/data/vhost/czechia.alaveteli.org/alaveteli-2020-06-18T09-23-52/vendor/bundle/ruby/2.3.0/bin/rake:23:in `<top (required)>'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/cli/exec.rb:74:in `load'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/cli/exec.rb:74:in `kernel_load'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/cli/exec.rb:28:in `run'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/cli.rb:463:in `exec'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor.rb:387:in `dispatch'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/cli.rb:27:in `dispatch'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/vendor/thor/lib/thor/base.rb:466:in `start'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/cli.rb:18:in `start'
/opt/rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/exe/bundle:30:in `block in <top (required)>'
/opt/rbenv/versions/2.3.8/lib/ruby/site_ruby/2.3.0/bundler/friendly_errors.rb:124:in `with_friendly_errors'
/opt/rbenv/versions/2.3.8/lib/ruby/gems/2.3.0/gems/bundler-1.17.3/exe/bundle:22:in `<top (required)>'
/opt/rbenv/versions/2.3.8/bin/bundle:23:in `load'
/opt/rbenv/versions/2.3.8/bin/bundle:23:in `<main>'
FAILED ActsAsXapian.update_index job 321981 string contains null byte model InfoRequestEvent id 46345
garethrees commented 3 years ago

Extract of the app code bits of the stack trace:

app/models/incoming_message.rb:674:in `get_attachment_text_full'
app/models/incoming_message.rb:706:in `get_text_for_indexing_full'
app/models/info_request_event.rb:225:in `search_text_main'
lib/acts_as_xapian/acts_as_xapian.rb:842:in `single_xapian_value'
lib/acts_as_xapian/acts_as_xapian.rb:835:in `xapian_value'
lib/acts_as_xapian/acts_as_xapian.rb:956:in `block in xapian_index'
lib/acts_as_xapian/acts_as_xapian.rb:953:in `each'
lib/acts_as_xapian/acts_as_xapian.rb:953:in `xapian_index'
lib/acts_as_xapian/acts_as_xapian.rb:670:in `run_job'
lib/acts_as_xapian/acts_as_xapian.rb:650:in `block (2 levels) in update_index'

Similar to https://github.com/mysociety/alaveteli/issues/4339, https://github.com/mysociety/alaveteli/issues/5209, https://github.com/mysociety/alaveteli/issues/4170.