HTTP500 on CE Direct Import history page (caused by BulkImports::Projects::Pipelines::PushRulePipeline)

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Summary

Importing a Group from gitlab.com to self-hosted gitlab CE (18.9), the Import History page crashes with Server Error 500. The logs (see below) indicate a problem with parsing data:

BulkImports::Error ('BulkImports::Projects::Pipelines::PushRulePipeline' is not a valid BulkImport Pipeline)

Calling api/v4/bulk_imports actually suggests the import completed succesfully, although I don't know whether to trust this:

[{"id":1,"status":"finished","source_type":"gitlab","source_url":"https://gitlab.com","created_at":"2026-02-23T15:42:01.367Z","updated_at":"2026-02-23T16:43:30.108Z","has_failures":false}]

Steps to reproduce

  1. Install a clean Gitlab 18.9 CE server
  2. Use Direct Import to import from gitlab.com
  3. Go to the "Import History" page

Example Project

Unfortunately I don't understand the problem well enough to be able to identify which, if any, specific project might be causing the problem - if someone can point me in the right direction I can try to find out and make an example. (Alas, this is importing private repositories so I can't just expose the whole lot.)

What is the current bug behavior?

api/v4/bulk_imports/entities returns HTTP 500.

What is the expected correct behavior?

api/v4/bulk_imports/entities returns the correct data.

Relevant logs and/or screenshots

{"component": "gitlab","subcomponent":"puma.stderr","time":"2026-02-23T17:42:13Z","message":"caught error of type BulkImports::Error in after callback inside Grape::Middleware::Formatter : 'BulkImports::Projects::Pipelines::PushRulePipeline' is not a valid BulkImport Pipeline"}
{"component": "gitlab","subcomponent":"exceptions_json","severity":"ERROR","time":"2026-02-23T17:42:13.066Z","correlation_id":"01KJ5SGC6S5ETRW9F3FK23EX5M","meta.caller_id":"GET /api/:version/bulk_imports/entities","meta.remote_ip":"172.28.176.35","meta.feature_category":"importers","meta.client_id":"user/1","exception.class":"BulkImports::Error","exception.message":"'BulkImports::Projects::Pipelines::PushRulePipeline' is not a valid BulkImport Pipeline","exception.backtrace":["app/models/bulk_imports/tracker.rb:43:in `pipeline_class'","app/models/bulk_imports/tracker.rb:26:in `file_extraction_pipeline?'","app/models/bulk_imports/entity.rb:231:in `block in checksums'","activerecord (7.2.3) lib/active_record/relation/delegation.rb:98:in `each'","activerecord (7.2.3) lib/active_record/relation/delegation.rb:98:in `each'","app/models/bulk_imports/entity.rb:230:in `each_with_object'","app/models/bulk_imports/entity.rb:230:in `checksums'","grape-entity (1.0.1) lib/grape_entity/delegator/plain_object.rb:8:in `delegate'","grape-entity (1.0.1) lib/grape_entity/entity.rb:546:in `delegate_attribute'","grape-entity (1.0.1) lib/grape_entity/exposure/delegator_exposure.rb:8:in `value'","grape-entity (1.0.1) lib/grape_entity/exposure/base.rb:91:in `valid_value'","grape-entity (1.0.1) lib/grape_entity/exposure/base.rb:73:in `serializable_value'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:41:in `block in serializable_value'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:122:in `block (2 levels) in map_entity_exposures'","grape-entity (1.0.1) lib/grape_entity/options.rb:90:in `with_attr_path'","grape-entity (1.0.1) lib/grape_entity/exposure/base.rb:125:in `with_attr_path'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:121:in `block in map_entity_exposures'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:120:in `each'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:120:in `each_with_object'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:120:in `map_entity_exposures'","grape-entity (1.0.1) lib/grape_entity/exposure/nesting_exposure.rb:40:in `serializable_value'","grape-entity (1.0.1) lib/grape_entity/entity.rb:513:in `serializable_hash'","activesupport (7.2.3) lib/active_support/core_ext/object/json.rb:167:in `block in as_json'","activesupport (7.2.3) lib/active_support/core_ext/object/json.rb:167:in `map'","activesupport (7.2.3) lib/active_support/core_ext/object/json.rb:167:in `as_json'","lib/gitlab/json.rb:173:in `dump'","lib/gitlab/json.rb:173:in `adapter_dump'","lib/gitlab/json.rb:79:in `dump'","lib/gitlab/json.rb:255:in `call'","grape (2.0.0) lib/grape/middleware/formatter.rb:48:in `block (2 levels) in build_formatted_response'","grape (2.0.0) lib/grape/middleware/formatter.rb:48:in `collect'","grape (2.0.0) lib/grape/middleware/formatter.rb:48:in `block in build_formatted_response'","activesupport (7.2.3) lib/active_support/notifications.rb:210:in `block in instrument'","activesupport (7.2.3) lib/active_support/notifications/instrumenter.rb:58:in `instrument'","activesupport (7.2.3) lib/active_support/notifications.rb:210:in `instrument'","grape (2.0.0) lib/grape/middleware/formatter.rb:47:in `build_formatted_response'","grape (2.0.0) lib/grape/middleware/formatter.rb:31:in `after'","grape (2.0.0) lib/grape/middleware/base.rb:39:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","grape (2.0.0) lib/grape/middleware/base.rb:36:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","lib/gitlab/middleware/ip_address.rb:14:in `block in call'","lib/gitlab/ip_address_state.rb:11:in `with'","lib/gitlab/middleware/ip_address.rb:13:in `call'","grape (2.0.0) lib/grape/middleware/base.rb:36:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","grape (2.0.0) lib/grape/middleware/base.rb:36:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","lib/api/api_guard.rb:270:in `call'","grape (2.0.0) lib/grape/middleware/base.rb:36:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","rack-oauth2 (2.2.1) lib/rack/oauth2/server/resource.rb:20:in `_call'","rack-oauth2 (2.2.1) lib/rack/oauth2/server/resource/bearer.rb:8:in `_call'","rack-oauth2 (2.2.1) lib/rack/oauth2/server/abstract/handler.rb:17:in `call'","grape (2.0.0) lib/grape/middleware/error.rb:39:in `block in call!'","grape (2.0.0) lib/grape/middleware/error.rb:38:in `catch'","grape (2.0.0) lib/grape/middleware/error.rb:38:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","grape_logging (1.8.4) lib/grape_logging/middleware/request_logger.rb:60:in `block in call!'","grape_logging (1.8.4) lib/grape_logging/middleware/request_logger.rb:58:in `catch'","grape_logging (1.8.4) lib/grape_logging/middleware/request_logger.rb:58:in `call!'","grape (2.0.0) lib/grape/middleware/base.rb:29:in `call'","rack (2.2.21) lib/rack/head.rb:12:in `call'","grape (2.0.0) lib/grape/endpoint.rb:224:in `call!'","grape (2.0.0) lib/grape/endpoint.rb:218:in `call'","grape (2.0.0) lib/grape/router/route.rb:58:in `exec'","grape (2.0.0) lib/grape/router.rb:120:in `process_route'","grape (2.0.0) lib/grape/router.rb:74:in `block in identity'","grape (2.0.0) lib/grape/router.rb:94:in `transaction'","grape (2.0.0) lib/grape/router.rb:72:in `identity'","grape (2.0.0) lib/grape/router.rb:56:in `block in call'","grape (2.0.0) lib/grape/router.rb:136:in `with_optimization'","grape (2.0.0) lib/grape/router.rb:55:in `call'","grape (2.0.0) lib/grape/api/instance.rb:165:in `call'","grape (2.0.0) lib/grape/api/instance.rb:70:in `call!'","grape (2.0.0) lib/grape/api/instance.rb:65:in `call'","actionpack (7.2.3) lib/action_dispatch/routing/mapper.rb:33:in `block in \u003cclass:Constraints\u003e'","actionpack (7.2.3) lib/action_dispatch/routing/mapper.rb:62:in `serve'","actionpack (7.2.3) lib/action_dispatch/journey/router.rb:53:in `block in serve'","config/initializers/action_dispatch_journey_router.rb:52:in `block in find_routes'","config/initializers/action_dispatch_journey_router.rb:25:in `map!'","config/initializers/action_dispatch_journey_router.rb:25:in `find_routes'","actionpack (7.2.3) lib/action_dispatch/journey/router.rb:34:in `serve'","actionpack (7.2.3) lib/action_dispatch/routing/route_set.rb:896:in `call'","gitlab-experiment (1.2.0) lib/gitlab/experiment/middleware.rb:19:in `call'","flipper (1.3.6) lib/flipper/middleware/memoizer.rb:87:in `memoized_call'","flipper (1.3.6) lib/flipper/middleware/memoizer.rb:45:in `call'","lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'","lib/gitlab/middleware/sidekiq_shard_awareness_validation.rb:20:in `block in call'","lib/gitlab/sidekiq_sharding/validator.rb:42:in `enabled'","lib/gitlab/middleware/sidekiq_shard_awareness_validation.rb:20:in `call'","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/middleware/rails_queue_duration.rb:33:in `call'","lib/gitlab/etag_caching/middleware.rb:21:in `call'","lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'","lib/gitlab/metrics/web_transaction.rb:46:in `run'","lib/gitlab/metrics/rack_middleware.rb:16:in `call'","lib/gitlab/middleware/go.rb:21:in `call'","lib/gitlab/middleware/query_analyzer.rb:11:in `block in call'","lib/gitlab/database/query_analyzer.rb:94:in `within'","lib/gitlab/middleware/query_analyzer.rb:11:in `call'","lib/ci/job_token/middleware.rb:11:in `call'","batch-loader (2.0.5) lib/batch_loader/middleware.rb:11:in `call'","rack-attack (6.8.0) lib/rack/attack.rb:105:in `call'","apollo_upload_server (2.1.7) lib/apollo_upload_server/middleware.rb:14:in `call'","lib/gitlab/middleware/multipart.rb:177:in `call'","lib/gitlab/middleware/rack_attack_headers.rb:42:in `call'","rack-attack (6.8.0) lib/rack/attack.rb:129:in `call'","warden (1.2.9) lib/warden/manager.rb:36:in `block in call'","warden (1.2.9) lib/warden/manager.rb:34:in `catch'","warden (1.2.9) lib/warden/manager.rb:34:in `call'","rack-cors (2.0.2) lib/rack/cors.rb:102:in `call'","rack (2.2.21) lib/rack/tempfile_reaper.rb:15:in `call'","rack (2.2.21) lib/rack/etag.rb:27:in `call'","rack (2.2.21) lib/rack/conditional_get.rb:27:in `call'","rack (2.2.21) lib/rack/head.rb:12:in `call'","actionpack (7.2.3) lib/action_dispatch/http/permissions_policy.rb:38:in `call'","actionpack (7.2.3) lib/action_dispatch/http/content_security_policy.rb:38:in `call'","lib/gitlab/middleware/read_only/controller.rb:40:in `call'","lib/gitlab/middleware/read_only.rb:18:in `call'","lib/gitlab/middleware/unauthenticated_session_expiry.rb:18:in `call'","rack (2.2.21) lib/rack/session/abstract/id.rb:266:in `context'","rack (2.2.21) lib/rack/session/abstract/id.rb:260:in `call'","lib/gitlab/middleware/secure_headers.rb:11:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/cookies.rb:704:in `call'","lib/gitlab/middleware/same_site_cookies.rb:27:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'","activesupport (7.2.3) lib/active_support/callbacks.rb:101:in `run_callbacks'","actionpack (7.2.3) lib/action_dispatch/middleware/callbacks.rb:30:in `call'","sentry-rails (5.23.0) lib/sentry/rails/rescued_exception_interceptor.rb:14:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'","lib/gitlab/middleware/path_traversal_check.rb:40:in `call'","lib/gitlab/middleware/handle_malformed_strings.rb:19:in `call'","lib/gitlab/middleware/json_validation.rb:165:in `call'","sentry-ruby (5.23.0) lib/sentry/rack/capture_exceptions.rb:30:in `block (2 levels) in call'","sentry-ruby (5.23.0) lib/sentry/hub.rb:299:in `with_session_tracking'","sentry-ruby (5.23.0) lib/sentry-ruby.rb:428:in `with_session_tracking'","sentry-ruby (5.23.0) lib/sentry/rack/capture_exceptions.rb:21:in `block in call'","sentry-ruby (5.23.0) lib/sentry/hub.rb:89:in `with_scope'","sentry-ruby (5.23.0) lib/sentry-ruby.rb:408:in `with_scope'","sentry-ruby (5.23.0) lib/sentry/rack/capture_exceptions.rb:20:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'","lib/gitlab/middleware/basic_health_check.rb:25:in `call'","lograge (0.11.2) lib/lograge/rails_ext/rack/logger.rb:15:in `call_app'","railties (7.2.3) lib/rails/rack/logger.rb:29:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/remote_ip.rb:96:in `call'","lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'","lib/gitlab/middleware/request_context.rb:15:in `call'","lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call'","request_store (1.7.0) lib/request_store/middleware.rb:19:in `call'","rack (2.2.21) lib/rack/method_override.rb:24:in `call'","rack (2.2.21) lib/rack/runtime.rb:22:in `call'","rack-timeout (0.7.0) lib/rack/timeout/core.rb:154:in `block in call'","rack-timeout (0.7.0) lib/rack/timeout/support/timeout.rb:19:in `timeout'","rack-timeout (0.7.0) lib/rack/timeout/core.rb:153:in `call'","config/initializers/fix_local_cache_middleware.rb:11:in `call'","lib/gitlab/middleware/compressed_json.rb:44:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/executor.rb:16:in `call'","lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'","rack (2.2.21) lib/rack/sendfile.rb:127:in `call'","lib/gitlab/metrics/requests_rack_middleware.rb:83:in `call'","gitlab-labkit (1.3.4) lib/labkit/middleware/rack.rb:22:in `block in call'","gitlab-labkit (1.3.4) lib/labkit/context.rb:43:in `with_context'","gitlab-labkit (1.3.4) lib/labkit/middleware/rack.rb:21:in `call'","actionpack (7.2.3) lib/action_dispatch/middleware/request_id.rb:33:in `call'","lib/gitlab/middleware/static_assets_authorization.rb:23:in `call'","railties (7.2.3) lib/rails/engine.rb:535:in `call'","railties (7.2.3) lib/rails/railtie.rb:226:in `public_send'","railties (7.2.3) lib/rails/railtie.rb:226:in `method_missing'","lib/gitlab/middleware/release_env.rb:12:in `call'","rack (2.2.21) lib/rack/urlmap.rb:74:in `block in call'","rack (2.2.21) lib/rack/urlmap.rb:58:in `each'","rack (2.2.21) lib/rack/urlmap.rb:58:in `call'","puma (7.1.0) lib/puma/configuration.rb:300:in `call'","puma (7.1.0) lib/puma/request.rb:101:in `block in handle_request'","puma (7.1.0) lib/puma/thread_pool.rb:355:in `with_force_shutdown'","puma (7.1.0) lib/puma/request.rb:100:in `handle_request'","puma (7.1.0) lib/puma/server.rb:503:in `process_client'","puma (7.1.0) lib/puma/server.rb:262:in `block in run'","puma (7.1.0) lib/puma/thread_pool.rb:182:in `block in spawn_thread'"],"user.username":null,"tags.program":"web","tags.locale":"en","tags.feature_category":"importers","tags.correlation_id":"01KJ5SGC6S5ETRW9F3FK23EX5M"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"BulkImports::Error ('BulkImports::Projects::Pipelines::PushRulePipeline' is not a valid BulkImport Pipeline):"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/app/models/bulk_imports/tracker.rb:43:in `pipeline_class'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/app/models/bulk_imports/tracker.rb:26:in `file_extraction_pipeline?'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/app/models/bulk_imports/entity.rb:231:in `block in checksums'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.3/lib/active_record/relation/delegation.rb:98:in `each'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activerecord-7.2.3/lib/active_record/relation/delegation.rb:98:in `each'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/app/models/bulk_imports/entity.rb:230:in `each_with_object'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/app/models/bulk_imports/entity.rb:230:in `checksums'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/delegator/plain_object.rb:8:in `delegate'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/entity.rb:546:in `delegate_attribute'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/delegator_exposure.rb:8:in `value'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/base.rb:91:in `valid_value'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/base.rb:73:in `serializable_value'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:41:in `block in serializable_value'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:122:in `block (2 levels) in map_entity_exposures'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/options.rb:90:in `with_attr_path'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/base.rb:125:in `with_attr_path'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:121:in `block in map_entity_exposures'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:120:in `each'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:120:in `each_with_object'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:120:in `map_entity_exposures'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/exposure/nesting_exposure.rb:40:in `serializable_value'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-entity-1.0.1/lib/grape_entity/entity.rb:513:in `serializable_hash'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/core_ext/object/json.rb:167:in `block in as_json'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/core_ext/object/json.rb:167:in `map'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/core_ext/object/json.rb:167:in `as_json'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/json.rb:173:in `dump'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/json.rb:173:in `adapter_dump'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/json.rb:79:in `dump'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/json.rb:255:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/formatter.rb:48:in `block (2 levels) in build_formatted_response'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/formatter.rb:48:in `collect'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/formatter.rb:48:in `block in build_formatted_response'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/notifications.rb:210:in `block in instrument'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/notifications/instrumenter.rb:58:in `instrument'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/notifications.rb:210:in `instrument'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/formatter.rb:47:in `build_formatted_response'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/formatter.rb:31:in `after'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:39:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:36:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/ip_address.rb:14:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/ip_address_state.rb:11:in `with'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/ip_address.rb:13:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:36:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:36:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/api/api_guard.rb:270:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:36:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-oauth2-2.2.1/lib/rack/oauth2/server/resource.rb:20:in `_call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-oauth2-2.2.1/lib/rack/oauth2/server/resource/bearer.rb:8:in `_call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-oauth2-2.2.1/lib/rack/oauth2/server/abstract/handler.rb:17:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/error.rb:39:in `block in call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/error.rb:38:in `catch'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/error.rb:38:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape_logging-1.8.4/lib/grape_logging/middleware/request_logger.rb:60:in `block in call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape_logging-1.8.4/lib/grape_logging/middleware/request_logger.rb:58:in `catch'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape_logging-1.8.4/lib/grape_logging/middleware/request_logger.rb:58:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/middleware/base.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/head.rb:12:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/endpoint.rb:224:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/endpoint.rb:218:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router/route.rb:58:in `exec'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:120:in `process_route'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:74:in `block in identity'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:94:in `transaction'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:72:in `identity'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:56:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:136:in `with_optimization'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/router.rb:55:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/api/instance.rb:165:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/api/instance.rb:70:in `call!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/grape-2.0.0/lib/grape/api/instance.rb:65:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/routing/mapper.rb:33:in `block in <class:Constraints>'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/routing/mapper.rb:62:in `serve'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/journey/router.rb:53:in `block in serve'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/config/initializers/action_dispatch_journey_router.rb:52:in `block in find_routes'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/config/initializers/action_dispatch_journey_router.rb:25:in `map!'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/config/initializers/action_dispatch_journey_router.rb:25:in `find_routes'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/journey/router.rb:34:in `serve'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/routing/route_set.rb:896:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/gitlab-experiment-1.2.0/lib/gitlab/experiment/middleware.rb:19:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/flipper-1.3.6/lib/flipper/middleware/memoizer.rb:87:in `memoized_call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/flipper-1.3.6/lib/flipper/middleware/memoizer.rb:45:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/sidekiq_shard_awareness_validation.rb:20:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/sidekiq_sharding/validator.rb:42:in `enabled'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/sidekiq_shard_awareness_validation.rb:20:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/memory_report.rb:13:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/speedscope.rb:13:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/database/load_balancing/rack_middleware.rb:23:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/etag_caching/middleware.rb:21:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/metrics/web_transaction.rb:46:in `run'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/metrics/rack_middleware.rb:16:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/go.rb:21:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/query_analyzer.rb:11:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/database/query_analyzer.rb:94:in `within'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/query_analyzer.rb:11:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/ci/job_token/middleware.rb:11:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/batch-loader-2.0.5/lib/batch_loader/middleware.rb:11:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-attack-6.8.0/lib/rack/attack.rb:105:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/apollo_upload_server-2.1.7/lib/apollo_upload_server/middleware.rb:14:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/multipart.rb:177:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/rack_attack_headers.rb:42:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-attack-6.8.0/lib/rack/attack.rb:129:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/warden-1.2.9/lib/warden/manager.rb:36:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/warden-1.2.9/lib/warden/manager.rb:34:in `catch'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/warden-1.2.9/lib/warden/manager.rb:34:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-cors-2.0.2/lib/rack/cors.rb:102:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/tempfile_reaper.rb:15:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/etag.rb:27:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/conditional_get.rb:27:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/head.rb:12:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/http/permissions_policy.rb:38:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/http/content_security_policy.rb:38:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/read_only/controller.rb:40:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/read_only.rb:18:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/unauthenticated_session_expiry.rb:18:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/session/abstract/id.rb:266:in `context'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/session/abstract/id.rb:260:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/secure_headers.rb:11:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/cookies.rb:704:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/same_site_cookies.rb:27:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/callbacks.rb:31:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/activesupport-7.2.3/lib/active_support/callbacks.rb:101:in `run_callbacks'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/callbacks.rb:30:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-rails-5.23.0/lib/sentry/rails/rescued_exception_interceptor.rb:14:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:31:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/path_traversal_check.rb:40:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/handle_malformed_strings.rb:19:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/json_validation.rb:165:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry/rack/capture_exceptions.rb:30:in `block (2 levels) in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry/hub.rb:299:in `with_session_tracking'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry-ruby.rb:428:in `with_session_tracking'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry/rack/capture_exceptions.rb:21:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry/hub.rb:89:in `with_scope'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry-ruby.rb:408:in `with_scope'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/sentry-ruby-5.23.0/lib/sentry/rack/capture_exceptions.rb:20:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/show_exceptions.rb:32:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/basic_health_check.rb:25:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/lograge-0.11.2/lib/lograge/rails_ext/rack/logger.rb:15:in `call_app'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/railties-7.2.3/lib/rails/rack/logger.rb:29:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/remote_ip.rb:96:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/request_context.rb:15:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/webhook_recursion_detection.rb:15:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/request_store-1.7.0/lib/request_store/middleware.rb:19:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/method_override.rb:24:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/runtime.rb:22:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-timeout-0.7.0/lib/rack/timeout/core.rb:154:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-timeout-0.7.0/lib/rack/timeout/support/timeout.rb:19:in `timeout'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-timeout-0.7.0/lib/rack/timeout/core.rb:153:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/config/initializers/fix_local_cache_middleware.rb:11:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/compressed_json.rb:44:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/executor.rb:16:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/sendfile.rb:127:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/metrics/requests_rack_middleware.rb:83:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/gitlab-labkit-1.3.4/lib/labkit/middleware/rack.rb:22:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/gitlab-labkit-1.3.4/lib/labkit/context.rb:43:in `with_context'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/gitlab-labkit-1.3.4/lib/labkit/middleware/rack.rb:21:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/actionpack-7.2.3/lib/action_dispatch/middleware/request_id.rb:33:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/static_assets_authorization.rb:23:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/railties-7.2.3/lib/rails/engine.rb:535:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/railties-7.2.3/lib/rails/railtie.rb:226:in `public_send'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/railties-7.2.3/lib/rails/railtie.rb:226:in `method_missing'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/lib/gitlab/middleware/release_env.rb:12:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/urlmap.rb:74:in `block in call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/urlmap.rb:58:in `each'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/rack-2.2.21/lib/rack/urlmap.rb:58:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/configuration.rb:300:in `call'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/request.rb:101:in `block in handle_request'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/thread_pool.rb:355:in `with_force_shutdown'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/request.rb:100:in `handle_request'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/server.rb:503:in `process_client'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/server.rb:262:in `block in run'"}
{"component": "gitlab","subcomponent":"production","time":"2026-02-23T17:42:13Z","message":"  /srv/gitlab/vendor/bundle/ruby/3.3.0/gems/puma-7.1.0/lib/puma/thread_pool.rb:182:in `block in spawn_thread'"}

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info
$ gitlab-rake gitlab:env:info

System information
System:		
Proxy:		no
Current User:	git
Using RVM:	no
Ruby Version:	3.3.10
Gem Version:	3.7.2
Bundler Version:2.7.2
Rake Version:	13.0.6
Redis Version:	7.0.15
Sidekiq Version:7.3.9
Go Version:	unknown

GitLab information
Version:	18.9.0-ee
Revision:	20fe49b575f
Directory:	/srv/gitlab
DB Adapter:	PostgreSQL
DB Version:	16.12
URL:		https://gitlab.XXXXX.XX
HTTP Clone URL:	https://gitlab.XXXXX.XX/some-group/some-project.git
SSH Clone URL:	git@gitlab-ssh.int.XXXXX.XXXXX.XX:some-group/some-project.git
Elasticsearch:	no
Geo:		no
Using LDAP:	no
Using Omniauth:	no

GitLab Shell
Version:	14.45.6
Repository storages:
- default: 	tcp://gitlab-gitaly-0.gitlab-gitaly.gitlab-ce.svc:8075
GitLab Shell path:		/home/git/gitlab-shell

Gitaly
- default Address: 	tcp://gitlab-gitaly-0.gitlab-gitaly.gitlab-ce.svc:8075
- default Version: 	18.9.0
- default Git Version: 	2.52.gaea8cc3

Results of GitLab application Check

Checking GitLab subtasks ...

Checking GitLab Shell ...

GitLab Shell: ... GitLab Shell version >= 14.45.6 ? ... OK (14.45.6)
Running /home/git/gitlab-shell/bin/gitlab-shell-check
gitlab-shell self-check failed
  Try fixing it:
  Make sure GitLab is running;
  Check the gitlab-shell configuration file:
  sudo -u git -H editor /home/git/gitlab-shell/config.yml
  Please fix the error above and rerun the checks.

Checking GitLab Shell ... Finished

Checking Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... no
  Try fixing it:
  sudo -u git -H RAILS_ENV=production bin/background_jobs start
  For more information see:
  doc/install/installation.md in section "Install Init Script"
  see log/sidekiq.log for possible errors
  Please fix the error above and rerun the checks.

Checking Sidekiq ... Finished

Checking Incoming Email ...

Incoming Email: ... Reply by email is disabled in config/gitlab.yml

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... LDAP is disabled in config/gitlab.yml

Checking LDAP ... Finished

Checking GitLab App ...

Database config exists? ... yes
Tables are truncated? ... skipped
All migrations up? ... yes
Database contains orphaned GroupMembers? ... no
GitLab config exists? ... yes
GitLab config up to date? ... yes
Cable config exists? ... yes
Resque config exists? ... yes
Log directory writable? ... yes
Tmp directory writable? ... yes
Uploads directory exists? ... yes
Uploads directory has correct permissions? ... yes
Uploads directory tmp has correct permissions? ... skipped (no tmp uploads folder yet)
Systemd unit files or init script exist? ... no
  Try fixing it:
  Install the Service
  For more information see:
  doc/install/installation.md in section "Install the Service"
  Please fix the error above and rerun the checks.
Systemd unit files or init script up-to-date? ... can't check because of previous errors
Projects have namespace: ...
5/2 ... yes
5/3 ... yes
5/4 ... yes
5/5 ... yes
5/6 ... yes
13/7 ... yes
12/8 ... yes
12/9 ... yes
14/10 ... yes
15/11 ... yes
17/12 ... yes
19/13 ... yes
19/14 ... yes
19/15 ... yes
19/16 ... yes
19/17 ... yes
18/18 ... yes
18/19 ... yes
20/20 ... yes
20/21 ... yes
20/22 ... yes
20/23 ... yes
20/24 ... yes
20/25 ... yes
20/26 ... yes
Redis version >= 6.2.14? ... yes
Ruby version >= 3.0.6 ? ... yes (3.3.10)
Git user has default SSH configuration? ... yes
Active users: ... 2
Is authorized keys file accessible? ... skipped (authorized keys not enabled)
GitLab configured to store new projects in hashed storage? ... yes
All projects are in hashed storage? ... yes
Elasticsearch version 7.x-9.x or OpenSearch version 1.x-3.x ... skipped (advanced search is disabled)
All migrations must be finished before doing a major upgrade ... skipped (Advanced Search is disabled)

Checking GitLab App ... Finished


Checking GitLab subtasks ... Finished

(Note; deployed on Kubernetes with the Helm chart, so I understand that the Sidekiq/Shell failures shown above are expected behaviour.)

Edited by 🤖 GitLab Bot 🤖