Skip to content

Instantly share code, notes, and snippets.

@gonfva
Created August 2, 2023 14:27
Show Gist options
  • Select an option

  • Save gonfva/e4ed402ab90daab01247bba8604709fa to your computer and use it in GitHub Desktop.

Select an option

Save gonfva/e4ed402ab90daab01247bba8604709fa to your computer and use it in GitHub Desktop.
A random Gitlab error encryption

So I was getting the following error while trying to delete a project

   "lib/gitlab/crypto_helper.rb:28:in `aes256_gcm_decrypt'",
    "app/models/concerns/token_authenticatable_strategies/encryption_helper.rb:18:in `decrypt_token'",
    "app/models/concerns/token_authenticatable_strategies/encrypted.rb:78:in `get_encrypted_token'",
    "app/models/concerns/token_authenticatable_strategies/encrypted.rb:113:in `token_set?'",
    "app/models/concerns/token_authenticatable_strategies/base.rb:44:in `ensure_token'",
    "app/models/concerns/token_authenticatable_strategies/encrypted.rb:38:in `ensure_token'",
    "app/models/concerns/token_authenticatable.rb:49:in `block in add_authentication_token_field'",
    "lib/gitlab/database/load_balancing/connection_proxy.rb:121:in `public_send'",
    "lib/gitlab/database/load_balancing/connection_proxy.rb:121:in `block in write_using_load_balancer'",
    "lib/gitlab/database/load_balancing/load_balancer.rb:127:in `block in read_write'",
    "lib/gitlab/database/load_balancing/load_balancer.rb:198:in `retry_with_backoff'",
    "lib/gitlab/database/load_balancing/load_balancer.rb:116:in `read_write'",
    "lib/gitlab/database/load_balancing/connection_proxy.rb:120:in `write_using_load_balancer'",
    "lib/gitlab/database/load_balancing/connection_proxy.rb:72:in `transaction'",
    "app/services/projects/destroy_service.rb:11:in `async_execute'",
    "app/controllers/projects_controller.rb:202:in `destroy'",
    "app/controllers/application_controller.rb:524:in `set_current_admin'",
    "lib/gitlab/session.rb:11:in `with_session'",
    "app/controllers/application_controller.rb:515:in `set_session_storage'",
    "lib/gitlab/i18n.rb:107:in `with_locale'",
    "lib/gitlab/i18n.rb:113:in `with_user_locale'",
    "app/controllers/application_controller.rb:506:in `set_locale'",
    "app/controllers/application_controller.rb:499:in `set_current_context'",
    "lib/gitlab/middleware/memory_report.rb:13:in `call'",
    "lib/gitlab/middleware/speedscope.rb:13:in `call'",
    "lib/gitlab/database/load_balancing/rack_middleware.rb:23:in `call'",
    "lib/gitlab/jira/middleware.rb:19:in `call'",
    "lib/gitlab/middleware/go.rb:20:in `call'",
    "lib/gitlab/etag_caching/middleware.rb:21:in `call'",
    "lib/gitlab/middleware/query_analyzer.rb:11:in `block in call'",
    "lib/gitlab/database/query_analyzer.rb:37:in `within'",
    "lib/gitlab/middleware/query_analyzer.rb:11:in `call'",
    "lib/gitlab/middleware/multipart.rb:173:in `call'",
    "lib/gitlab/middleware/read_only/controller.rb:50:in `call'",
    "lib/gitlab/middleware/read_only.rb:18:in `call'",
    "lib/gitlab/middleware/same_site_cookies.rb:27:in `call'",
    "lib/gitlab/middleware/basic_health_check.rb:25:in `call'",
    "lib/gitlab/middleware/handle_malformed_strings.rb:21:in `call'",
    "lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'",
    "lib/gitlab/middleware/request_context.rb:21:in `call'",
    "lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call'",
    "config/initializers/fix_local_cache_middleware.rb:11:in `call'",
    "lib/gitlab/middleware/compressed_json.rb:37:in `call'",
    "lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'",
    "lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call'",
    "lib/gitlab/metrics/requests_rack_middleware.rb:79:in `call'",
    "lib/gitlab/middleware/release_env.rb:13:in `call'"

I tried to follow https://gist.github.com/aursu/fdda2c9e6e26ba7fc2d903ae5f06e4d6 but it didn't work.

I ended up looking into a bunch of Gitlab errors. I recommend https://gitlab.com/gitlab-org/gitlab/-/issues/409768

The solution for me. First identify what's wrong with encryption. It seems there is a tool for that

sudo gitlab-rake gitlab:doctor:secrets VERBOSE=1

It will dump a bunch of errors. In my case some of the errors where for gitlab runner.

I did in the rails console (sudo gitlab-rails c)

Project.find_by_full_path('<name of the project>').update(runners_token: nil, runners_token_encrypted:nil)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment