GitLab Runners page - 500 Internal Error

I’m running gitlab/gitlab-ce:12.3.5-ce.0 (though this has also happened recently with latest) and sometimes get the below error in the log along with a 500 error on the admin/runners page. This seems to happen randomly (i.e. has happened before I’ve registered any runners) and I get the following in the logs - I’m at a loss…

Started GET "/admin/runners" for 127.0.0.1 at 2019-10-21 19:39:03 +0000
Processing by Admin::RunnersController#index as HTML
Completed 500 Internal Server Error in 153ms (ActiveRecord: 10.6ms | Elasticsearch: 0.0ms)
  
ActionView::Template::Error ():
    35: 
    36:   .col-sm-6
    37:     .bs-callout
    38:       = render partial: 'ci/runner/how_to_setup_runner',
    39:                 locals: { registration_token: Gitlab::CurrentSettings.runners_registration_token,
    40:                           type: 'shared',
    41:                           reset_token_url: reset_registration_token_admin_application_settings_path }
  
lib/gitlab/crypto_helper.rb:27:in `aes256_gcm_decrypt'
app/models/concerns/token_authenticatable_strategies/encrypted.rb:45:in `get_token'
app/models/concerns/token_authenticatable_strategies/base.rb:33:in `ensure_token!'
app/models/concerns/token_authenticatable.rb:43:in `block in add_authentication_token_field'
app/models/application_setting_implementation.rb:252:in `runners_registration_token'
lib/gitlab/current_settings.rb:20:in `method_missing'
app/views/admin/runners/index.html.haml:38:in `_app_views_admin_runners_index_html_haml__3092332764759006485_69997986997420'
app/controllers/application_controller.rb:118:in `render'
lib/gitlab/session.rb:11:in `with_session'
app/controllers/application_controller.rb:450:in `set_session_storage'
lib/gitlab/i18n.rb:55:in `with_locale'
lib/gitlab/i18n.rb:61:in `with_user_locale'
app/controllers/application_controller.rb:444:in `set_locale'
lib/gitlab/middleware/rails_queue_duration.rb:27:in `call'
lib/gitlab/metrics/rack_middleware.rb:17:in `block in call'
lib/gitlab/metrics/transaction.rb:57:in `run'
lib/gitlab/metrics/rack_middleware.rb:17:in `call'
lib/gitlab/request_profiler/middleware.rb:17:in `call'
lib/gitlab/middleware/go.rb:20:in `call'
lib/gitlab/etag_caching/middleware.rb:13:in `call'
lib/gitlab/middleware/correlation_id.rb:16:in `block in call'
lib/gitlab/middleware/correlation_id.rb:15:in `call'
lib/gitlab/middleware/multipart.rb:117:in `call'
lib/gitlab/middleware/read_only/controller.rb:42:in `call'
lib/gitlab/middleware/read_only.rb:18:in `call'
lib/gitlab/middleware/basic_health_check.rb:25:in `call'
lib/gitlab/request_context.rb:26:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:29:in `call'
lib/gitlab/middleware/release_env.rb:12:in `call'

The relevant part of my docker-compose.yml is:

  gitlab:
    container_name: ${SF_GITLAB_HOSTNAME}
    image: gitlab/gitlab-ce:${SF_GITLAB_VER}
    restart: always
    hostname: ${SF_GITLAB_HOSTNAME}
    network_mode: host
    volumes:
      - ./${SF_DOCKER_VOLUME_DIR}/${SF_GITLAB_HOSTNAME}/logs/:/var/log/gitlab
      - ./${SF_DOCKER_VOLUME_DIR}/${SF_GITLAB_HOSTNAME}/data/:/var/opt/gitlab
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'http://${SF_GITLAB_URL}/'

I am facing the exact same issue with Gitlab-EE 12.4.0