Job logs cannot be retrieved because corresponding commit hash does not seem to exist
Summary
We have some jobs for which we cannot retrieve their job logs (no job logs have been deleted). In the application's logs we found a backtrace saying that the corresponding changeset's branch or topic cannot be found. The commit hash bbf2555332e141e64b0e58ce3bf215ec5a1646cc does indeed not correspond to any commit in the repository, hidden or not, but can be found in the web interface. Its parent as well as a commit which seems to be another version of the commit bbf2555332e141e64b0e58ce3bf215ec5a1646cc both exist in the web interface as well as in the repository.
Thanks in advance for your help!
Relevant logs and/or screenshots
'exception.backtrace': ['lib/gitlab/mercurial/hg_git_repository.rb:368:in '
"`rescue in hg_changeset_branch_topic'",
'lib/gitlab/mercurial/hg_git_repository.rb:359:in '
"`hg_changeset_branch_topic'",
'lib/gitlab/metrics/instrumentation.rb:160:in `block '
"in method_missing'",
"lib/gitlab/metrics/method_call.rb:27:in `measure'",
'lib/gitlab/metrics/instrumentation.rb:160:in '
"`method_missing'",
'app/models/ci/pipeline.rb:862:in '
"`hg_append_predefined_commit_variables'",
'lib/gitlab/metrics/instrumentation.rb:160:in `block '
"in hg_append_predefined_commit_variables'",
"lib/gitlab/metrics/method_call.rb:27:in `measure'",
'lib/gitlab/metrics/instrumentation.rb:160:in '
"`hg_append_predefined_commit_variables'",
'app/models/ci/pipeline.rb:835:in `block in '
"predefined_commit_variables'",
"app/models/ci/pipeline.rb:821:in `tap'",
'app/models/ci/pipeline.rb:821:in '
"`predefined_commit_variables'",
'lib/gitlab/metrics/instrumentation.rb:160:in `block '
"in predefined_commit_variables'",
"lib/gitlab/metrics/method_call.rb:27:in `measure'",
'lib/gitlab/metrics/instrumentation.rb:160:in '
"`predefined_commit_variables'",
'app/models/ci/pipeline.rb:791:in `block in '
"predefined_variables'",
"app/models/ci/pipeline.rb:785:in `tap'",
'app/models/ci/pipeline.rb:785:in '
"`predefined_variables'",
'lib/gitlab/metrics/instrumentation.rb:160:in `block '
"in predefined_variables'",
"lib/gitlab/metrics/method_call.rb:27:in `measure'",
'lib/gitlab/metrics/instrumentation.rb:160:in '
"`predefined_variables'",
'app/models/concerns/ci/contextable.rb:16:in `block '
"in scoped_variables'",
"app/models/concerns/ci/contextable.rb:13:in `tap'",
'app/models/concerns/ci/contextable.rb:13:in '
"`scoped_variables'",
"app/models/ci/build.rb:510:in `block in variables'",
'lib/gitlab/utils/strong_memoize.rb:30:in '
"`strong_memoize'",
"app/models/ci/build.rb:505:in `variables'",
"app/models/ci/build.rb:986:in `debug_mode?'",
'lib/gitlab/metrics/instrumentation.rb:160:in `block '
"in debug_mode?'",
"lib/gitlab/metrics/method_call.rb:27:in `measure'",
'lib/gitlab/metrics/instrumentation.rb:160:in '
"`debug_mode?'",
'app/policies/ci/build_policy.rb:53:in `block in '
"<class:BuildPolicy>'",
'lib/declarative_policy/condition.rb:23:in '
"`instance_eval'",
"lib/declarative_policy/condition.rb:23:in `compute'",
'lib/declarative_policy/condition.rb:44:in `block in '
"pass?'",
"lib/declarative_policy/base.rb:303:in `cache'",
"lib/declarative_policy/condition.rb:44:in `pass?'",
"lib/declarative_policy/rule.rb:81:in `pass?'",
'lib/declarative_policy/rule.rb:211:in `block in '
"pass?'",
"lib/declarative_policy/rule.rb:211:in `all?'",
"lib/declarative_policy/rule.rb:211:in `pass?'",
"lib/declarative_policy/step.rb:81:in `pass?'",
'lib/declarative_policy/runner.rb:101:in `block in '
"run'",
'lib/declarative_policy/runner.rb:180:in `block in '
"steps_by_score'",
"lib/declarative_policy/runner.rb:149:in `loop'",
'lib/declarative_policy/runner.rb:149:in '
"`steps_by_score'",
"lib/declarative_policy/runner.rb:82:in `run'",
"lib/declarative_policy/runner.rb:60:in `pass?'",
'lib/declarative_policy/base.rb:234:in `block in '
"allowed?'",
"lib/declarative_policy/base.rb:234:in `all?'",
"lib/declarative_policy/base.rb:234:in `allowed?'",
"lib/declarative_policy/base.rb:226:in `can?'",
"app/models/ability.rb:72:in `allowed?'",
'lib/gitlab/metrics/instrumentation.rb:160:in `block '
"in allowed?'",
"lib/gitlab/metrics/method_call.rb:27:in `measure'",
'lib/gitlab/metrics/instrumentation.rb:160:in '
"`allowed?'",
'app/controllers/application_controller.rb:191:in '
"`can?'",
'app/controllers/projects/jobs_controller.rb:163:in '
"`authorize_read_build_trace!'",
'app/controllers/application_controller.rb:500:in '
"`set_current_admin'",
"lib/gitlab/session.rb:11:in `with_session'",
'app/controllers/application_controller.rb:491:in '
"`set_session_storage'",
"lib/gitlab/i18n.rb:73:in `with_locale'",
"lib/gitlab/i18n.rb:79:in `with_user_locale'",
'app/controllers/application_controller.rb:485:in '
"`set_locale'",
"lib/gitlab/error_tracking.rb:52:in `with_context'",
'app/controllers/application_controller.rb:550:in '
"`sentry_context'",
'app/controllers/application_controller.rb:478:in '
"`block in set_current_context'",
'lib/gitlab/application_context.rb:56:in `block in '
"use'",
"lib/gitlab/application_context.rb:56:in `use'",
'lib/gitlab/application_context.rb:22:in '
"`with_context'",
'app/controllers/application_controller.rb:469:in '
"`set_current_context'",
'lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in '
"`call'",
'lib/gitlab/middleware/rails_queue_duration.rb:33:in '
"`call'",
'lib/gitlab/metrics/rack_middleware.rb:16:in `block '
"in call'",
"lib/gitlab/metrics/transaction.rb:56:in `run'",
"lib/gitlab/metrics/rack_middleware.rb:16:in `call'",
'lib/gitlab/request_profiler/middleware.rb:17: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/multipart.rb:172: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/handle_malformed_strings.rb:21:in '
"`call'",
'lib/gitlab/middleware/basic_health_check.rb:25:in '
"`call'",
'lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in '
"`call'",
'lib/gitlab/middleware/request_context.rb:21:in '
"`call'",
'config/initializers/fix_local_cache_middleware.rb:11:in '
"`call'",
'lib/gitlab/metrics/requests_rack_middleware.rb:76:in '
"`call'",
"lib/gitlab/middleware/release_env.rb:12:in `call'"],
'exception.class': 'Gitlab::Mercurial::HgGitRepository::HgError',
'exception.message': 'Could not get hg branch and topic of changeset '
'bbf2555332e141e64b0e58ce3bf215ec5a1646cc: Command '
"failed (status code 255): 'Sentry is attempting to send "
'1 pending error messages\n'
'Waiting up to 2 seconds\n'
'Press Ctrl-C to quit\n'
'\' command was: ["/opt/gitlab/embedded/bin/hg", "log", '
'"-r", "bbf2555332e141e64b0e58ce3bf215ec5a1646cc", "-T", '
'"{branch}:{topic}"]',
Details about the Heptapod instance where the bug occurs
We are running 0.20.7 deployed via docker-compose.