Skip to content
This repository was archived by the owner on Apr 17, 2023. It is now read-only.
This repository was archived by the owner on Apr 17, 2023. It is now read-only.

COLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1' #1688

@tychota

Description

@tychota

Setup used

Infos

[Mailer config] Host:     redacted
[Mailer config] Protocol: https://
Evaluated configuration:
---
email:
  from: portus@example.com
  name: Portus
  reply_to: no-reply@example.com
  smtp:
    enabled: false
    address: smtp.example.com
    port: 587
    user_name: username@example.com
    password: "****"
    domain: example.com
gravatar:
  enabled: true
delete:
  enabled: false
ldap:
  enabled: false
  hostname: ldap_hostname
  port: 389
  method: plain
  base: ''
  filter: ''
  uid: uid
  authentication:
    enabled: false
    bind_dn: ''
    password: "****"
  guess_email:
    enabled: false
    attr: ''
oauth:
  google_oauth2:
    enabled: false
    id: ''
    secret: ''
    domain: ''
    options:
      hd: ''
  open_id:
    enabled: false
    identifier: ''
    domain: ''
  github:
    enabled: false
    client_id: ''
    client_secret: ''
    organization: ''
    team: ''
    domain: ''
  gitlab:
    enabled: false
    application_id: ''
    secret: ''
    group: ''
    domain: ''
    server: ''
  bitbucket:
    enabled: false
    key: ''
    secret: ''
    domain: ''
    options:
      team: ''
first_user_admin:
  enabled: true
signup:
  enabled: true
check_ssl_usage:
  enabled: false
registry:
  jwt_expiration_time:
    value: 5
  catalog_page:
    value: 100
  timeout:
    value: 2
  read_timeout:
    value: 120
machine_fqdn:
  value: redacted
display_name:
  enabled: false
user_permission:
  change_visibility:
    enabled: true
  create_team:
    enabled: true
  manage_team:
    enabled: true
  create_namespace:
    enabled: true
  manage_namespace:
    enabled: true
security:
  clair:
    server: ''
    health_port: 6061
  zypper:
    server: ''
  dummy:
    server: ''
anonymous_browsing:
  enabled: true
background:
  registry:
    enabled: true
  sync:
    enabled: true
    sync-strategy: initial

Portus version: 2.3.0@dd4b1644c8f275a5c851f7329c547f6317a0648f

Impact

Not sure what are the consequences

Logs

After a success push (Handling "push" event), I see this logs in background image

crono_1     | /srv/Portus/vendor/bundle/ruby/2.5.0/gems/mysql2-0.4.10/lib/mysql2/client.rb:120:in `_query': Mysql2::Error: COLLATION 'utf8_bin' is not valid for CHARACTER SET 'latin1': SELECT COUNT(*) FROM `tags` WHERE (name COLLATE utf8_bin = 'latest' AND repository_id = 1) (ActiveRecord::StatementInvalid)
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/mysql2-0.4.10/lib/mysql2/client.rb:120:in `block in query'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/mysql2-0.4.10/lib/mysql2/client.rb:119:in `handle_interrupt'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/mysql2-0.4.10/lib/mysql2/client.rb:119:in `query'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:317:in `block in execute'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract_adapter.rb:484:in `block in log'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract_adapter.rb:478:in `log'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:317:in `execute'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/mysql2_adapter.rb:217:in `execute'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/mysql2_adapter.rb:221:in `exec_query'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:356:in `select'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:32:in `select_all'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/query_cache.rb:70:in `select_all'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/calculations.rb:270:in `execute_simple_calculation'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/calculations.rb:227:in `perform_calculation'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/calculations.rb:133:in `calculate'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/calculations.rb:48:in `count'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation.rb:268:in `empty?'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation.rb:278:in `any?'
crono_1     | 	from /srv/Portus/app/validators/unique_tag_validator.rb:19:in `validate_each'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validator.rb:151:in `block in validate'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validator.rb:148:in `each'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validator.rb:148:in `validate'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:455:in `public_send'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:455:in `block in make_lambda'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:192:in `block in simple'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:504:in `block in call'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:504:in `each'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:504:in `call'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:92:in `__run_callbacks__'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_validate_callbacks'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validations.rb:399:in `run_validations!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validations/callbacks.rb:113:in `block in run_validations!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:88:in `__run_callbacks__'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activesupport-4.2.10/lib/active_support/callbacks.rb:778:in `_run_validation_callbacks'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validations/callbacks.rb:113:in `run_validations!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activemodel-4.2.10/lib/active_model/validations.rb:338:in `valid?'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/validations.rb:58:in `valid?'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/validations.rb:83:in `perform_validations'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/validations.rb:37:in `save'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/attribute_methods/dirty.rb:21:in `save'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:286:in `block (2 levels) in save'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:351:in `block in with_transaction_returning_status'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:211:in `transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:220:in `transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:286:in `block in save'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:301:in `rollback_active_record_state!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:285:in `save'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/has_many_association.rb:41:in `insert_record'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:506:in `block (2 levels) in _create_record'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:419:in `replace_on_target'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:414:in `add_to_target'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:504:in `block in _create_record'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:194:in `block in transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `block in transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/transaction.rb:184:in `within_new_transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/transactions.rb:220:in `transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:193:in `transaction'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:503:in `_create_record'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/has_many_association.rb:187:in `_create_record'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_association.rb:164:in `create'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/associations/collection_proxy.rb:290:in `create'
crono_1     | 	from /srv/Portus/app/models/repository.rb:152:in `add_repo'
crono_1     | 	from /srv/Portus/app/models/repository.rb:101:in `handle_push_event'
crono_1     | 	from /srv/Portus/app/models/registry_event.rb:35:in `block in handle!'
crono_1     | 	from /srv/Portus/app/models/registry_event.rb:35:in `each'
crono_1     | 	from /srv/Portus/app/models/registry_event.rb:35:in `handle!'
crono_1     | 	from /srv/Portus/lib/portus/background/registry.rb:30:in `block in execute!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `block (2 levels) in find_each'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `each'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:51:in `block in find_each'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:124:in `find_in_batches'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/activerecord-4.2.10/lib/active_record/relation/batches.rb:50:in `find_each'
crono_1     | 	from /srv/Portus/lib/portus/background/registry.rb:28:in `execute!'
crono_1     | 	from /srv/Portus/bin/background.rb:56:in `block (2 levels) in <top (required)>'
crono_1     | 	from /srv/Portus/bin/background.rb:54:in `each'
crono_1     | 	from /srv/Portus/bin/background.rb:54:in `each_with_index'
crono_1     | 	from /srv/Portus/bin/background.rb:54:in `block in <top (required)>'
crono_1     | 	from /srv/Portus/bin/background.rb:53:in `loop'
crono_1     | 	from /srv/Portus/bin/background.rb:53:in `<top (required)>'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands/runner.rb:60:in `load'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands/runner.rb:60:in `<top (required)>'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:123:in `require'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:123:in `require_command!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:90:in `runner'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
crono_1     | 	from /srv/Portus/vendor/bundle/ruby/2.5.0/gems/railties-4.2.10/lib/rails/commands.rb:17:in `<top (required)>'
crono_1     | 	from bin/rails:12:in `require'
crono_1     | 	from bin/rails:12:in `<main>'
crono_1     | RuntimeError: Something went wrong while invoking: /srv/Portus/vendor/bundle/ruby/2.5.0/bin/bundler.ruby2.5 exec rails r /srv/Portus/bin/background.rb
crono_1     |   /srv/Portus/packaging/suse/portusctl/lib/runner.rb:12:in `exec'
crono_1     |   /srv/Portus/packaging/suse/portusctl/lib/runner.rb:34:in `block in bundler_exec'
crono_1     |   /srv/Portus/packaging/suse/portusctl/lib/runner.rb:30:in `chdir'
crono_1     |   /srv/Portus/packaging/suse/portusctl/lib/runner.rb:30:in `bundler_exec'
crono_1     |   /srv/Portus/packaging/suse/portusctl/lib/cli.rb:272:in `exec'
crono_1     |   /srv/Portus/vendor/bundle/ruby/2.5.0/gems/thor-0.19.4/lib/thor/command.rb:27:in `run'
crono_1     |   /srv/Portus/vendor/bundle/ruby/2.5.0/gems/thor-0.19.4/lib/thor/invocation.rb:126:in `invoke_command'
crono_1     |   /srv/Portus/vendor/bundle/ruby/2.5.0/gems/thor-0.19.4/lib/thor.rb:369:in `dispatch'
crono_1     |   /srv/Portus/vendor/bundle/ruby/2.5.0/gems/thor-0.19.4/lib/thor/base.rb:444:in `start'
crono_1     |   packaging/suse/portusctl/bin/portusctl:6:in `<top (required)>'
crono_1     | bundler: failed to load command: packaging/suse/portusctl/bin/portusctl (packaging/suse/portusctl/bin/portusctl)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions