Intermittent errors when trying to submit a MR review or diff comment

Summary

For a customer (internal), sometimes when trying to submit an MR review with multiple comments, or just trying to submit a single diff comment directly, fails silently. Subsequent attempts to add the comments will then fail with errors. Logs contain DiffNote::NoteDiffFileCreationError messages.

The issue occurs rarely (a few times per month) and is reproducible when encountered, but no discernible pattern was observable as to what conditions might trigger it. It can usually be worked around by commenting on slightly different lines.

Steps to reproduce

  1. Add comments to MR, either directly or in bulk via "Submit Review" feature
  2. See no comments being added
  3. Retry step 1
  4. See error message
  5. Observe DiffNote::NoteDiffFileCreationError in logs

What is the current bug behavior?

MR comments are sometimes not being added and lost to (silent) errors

What is the expected correct behavior?

MR comments are always correctly saved after submission

Relevant logs and/or screenshots

HAR of a repeated request

Expand full log
{
  "log": {
    "version": "1.2",
    "creator": {
      "name": "Firefox",
      "version": "100.0.2"
    },
    "browser": {
      "name": "Firefox",
      "version": "100.0.2"
    },
    "pages": [
      {
        "startedDateTime": "2022-06-01T10:00:47.750+03:00",
        "id": "page_1",
        "title": "Redacted MR title (!12263) · Merge requests · groupname / projectname · GitLab",
        "pageTimings": {
          "onContentLoad": -3153775,
          "onLoad": -3153325
        }
      }
    ],
    "entries": [
      {
        "pageref": "page_1",
        "startedDateTime": "2022-06-01T10:00:47.750+03:00",
        "request": {
          "bodySize": 1255,
          "method": "POST",
          "url": "https://redacted.tld/groupname/projectname/notes?target_id=21935&target_type=merge_request",
          "httpVersion": "HTTP/2",
          "headers": [
            {
              "name": "Host",
              "value": "redacted.tld"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"
            },
            {
              "name": "Accept",
              "value": "application/json, text/plain, */*"
            },
            {
              "name": "Accept-Language",
              "value": "fi-FI,fi;q=0.8,en-US;q=0.5,en;q=0.3"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate, br"
            },
            {
              "name": "Referer",
              "value": "https://redacted.tld/groupname/projectname/-/merge_requests/12263/diffs"
            },
            {
              "name": "X-CSRF-Token",
              "value": "REDACTED"
            },
            {
              "name": "X-Requested-With",
              "value": "XMLHttpRequest"
            },
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "Content-Length",
              "value": "1255"
            },
            {
              "name": "Origin",
              "value": "https://redacted.tld"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Cookie",
              "value": "_gitlab_session=REDACTED; known_sign_in=REDACTED; event_filter=all; sidebar_collapsed=false; collapsed_gutter=false"
            },
            {
              "name": "Sec-Fetch-Dest",
              "value": "empty"
            },
            {
              "name": "Sec-Fetch-Mode",
              "value": "cors"
            },
            {
              "name": "Sec-Fetch-Site",
              "value": "same-origin"
            },
            {
              "name": "TE",
              "value": "trailers"
            }
          ],
          "cookies": [
            {
              "name": "_gitlab_session",
              "value": "REDACTED"
            },
            {
              "name": "known_sign_in",
              "value": "REDACTED"
            },
            {
              "name": "event_filter",
              "value": "all"
            },
            {
              "name": "sidebar_collapsed",
              "value": "false"
            },
            {
              "name": "collapsed_gutter",
              "value": "false"
            }
          ],
          "queryString": [
            {
              "name": "target_id",
              "value": "21935"
            },
            {
              "name": "target_type",
              "value": "merge_request"
            }
          ],
          "headersSize": 1135,
          "postData": {
            "mimeType": "application/json",
            "params": [],
            "text": "{\"view\":\"inline\",\"line_type\":\"old\",\"merge_request_diff_head_sha\":\"8f55fe50d790cebd04ba99446fc4d5e6c372a71b\",\"in_reply_to_discussion_id\":\"\",\"note_project_id\":\"\",\"target_type\":\"merge_request\",\"target_id\":21935,\"return_discussion\":true,\"note\":{\"note\":\"some text\",\"position\":\"{\\\"base_sha\\\":\\\"279a07b63398d9a0f141175a328ac8d3211b8b01\\\",\\\"start_sha\\\":\\\"e7793a3e7d1bdf0baa0787f619d4ba41f19a1840\\\",\\\"head_sha\\\":\\\"8f55fe50d790cebd04ba99446fc4d5e6c372a71b\\\",\\\"old_path\\\":\\\"src/MFServer/RPCExternalLocationsHelper.cpp\\\",\\\"new_path\\\":\\\"src/MFServer/RPCExternalLocationsHelper.cpp\\\",\\\"position_type\\\":\\\"text\\\",\\\"old_line\\\":75,\\\"new_line\\\":74,\\\"line_range\\\":{\\\"start\\\":{\\\"line_code\\\":\\\"0bad84b0755cba1e89cffd96a8c3a1083ab242df_75_74\\\",\\\"type\\\":null,\\\"old_line\\\":75,\\\"new_line\\\":74},\\\"end\\\":{\\\"line_code\\\":\\\"0bad84b0755cba1e89cffd96a8c3a1083ab242df_75_74\\\",\\\"type\\\":null,\\\"old_line\\\":75,\\\"new_line\\\":74}}}\",\"noteable_type\":\"MergeRequest\",\"noteable_id\":21935,\"commit_id\":null,\"type\":\"DiffNote\",\"line_code\":\"0bad84b0755cba1e89cffd96a8c3a1083ab242df_75_74\"}}"
          }
        },
        "response": {
          "status": 422,
          "statusText": "Unprocessable Entity",
          "httpVersion": "HTTP/2",
          "headers": [
            {
              "name": "server",
              "value": "nginx"
            },
            {
              "name": "date",
              "value": "Wed, 01 Jun 2022 07:00:47 GMT"
            },
            {
              "name": "content-type",
              "value": "application/json; charset=utf-8"
            },
            {
              "name": "content-length",
              "value": "109"
            },
            {
              "name": "cache-control",
              "value": "no-cache"
            },
            {
              "name": "page-title",
              "value": "GitLab"
            },
            {
              "name": "permissions-policy",
              "value": "interest-cohort=()"
            },
            {
              "name": "pragma",
              "value": "no-cache"
            },
            {
              "name": "vary",
              "value": "Accept"
            },
            {
              "name": "x-content-type-options",
              "value": "nosniff"
            },
            {
              "name": "x-download-options",
              "value": "noopen"
            },
            {
              "name": "x-frame-options",
              "value": "SAMEORIGIN"
            },
            {
              "name": "x-gitlab-custom-error",
              "value": "1"
            },
            {
              "name": "x-permitted-cross-domain-policies",
              "value": "none"
            },
            {
              "name": "x-request-id",
              "value": "01G4F1280NCCSGRJTSHEDGX5G1"
            },
            {
              "name": "x-runtime",
              "value": "0.185372"
            },
            {
              "name": "x-ua-compatible",
              "value": "IE=edge"
            },
            {
              "name": "x-xss-protection",
              "value": "1; mode=block"
            },
            {
              "name": "X-Firefox-Spdy",
              "value": "h2"
            }
          ],
          "cookies": [],
          "content": {
            "mimeType": "application/json; charset=utf-8",
            "size": 109,
            "text": "{\"commands_changes\":null,\"valid\":false,\"errors\":{\"line_code\":[\"can't be blank\",\"must be a valid line code\"]}}"
          },
          "redirectURL": "",
          "headersSize": 571,
          "bodySize": 680
        },
        "cache": {},
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "ssl": 0,
          "send": 0,
          "wait": 190,
          "receive": 0
        },
        "time": 190,
        "_securityState": "secure",
        "serverIPAddress": "10.0.0.160",
        "connection": "443"
      },
      {
        "pageref": "page_1",
        "startedDateTime": "2022-06-01T10:00:49.876+03:00",
        "request": {
          "bodySize": 0,
          "method": "GET",
          "url": "https://redacted.tld/groupname/projectname/noteable/merge_request/21935/notes",
          "httpVersion": "HTTP/2",
          "headers": [
            {
              "name": "Host",
              "value": "redacted.tld"
            },
            {
              "name": "User-Agent",
              "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:100.0) Gecko/20100101 Firefox/100.0"
            },
            {
              "name": "Accept",
              "value": "application/json, text/plain, */*"
            },
            {
              "name": "Accept-Language",
              "value": "fi-FI,fi;q=0.8,en-US;q=0.5,en;q=0.3"
            },
            {
              "name": "Accept-Encoding",
              "value": "gzip, deflate, br"
            },
            {
              "name": "Referer",
              "value": "https://redacted.tld/groupname/projectname/-/merge_requests/12263/diffs"
            },
            {
              "name": "X-CSRF-Token",
              "value": "REDACTED"
            },
            {
              "name": "X-Requested-With",
              "value": "XMLHttpRequest"
            },
            {
              "name": "X-Last-Fetched-At",
              "value": "1654066843843771"
            },
            {
              "name": "Connection",
              "value": "keep-alive"
            },
            {
              "name": "Cookie",
              "value": "_gitlab_session=REDACTED; known_sign_in=REDACTED; event_filter=all; sidebar_collapsed=false; collapsed_gutter=false"
            },
            {
              "name": "Sec-Fetch-Dest",
              "value": "empty"
            },
            {
              "name": "Sec-Fetch-Mode",
              "value": "cors"
            },
            {
              "name": "Sec-Fetch-Site",
              "value": "same-origin"
            },
            {
              "name": "If-None-Match",
              "value": "W/\"4c70a2e9818e14a2af1764165f55d3e6\""
            },
            {
              "name": "TE",
              "value": "trailers"
            }
          ],
          "cookies": [
            {
              "name": "_gitlab_session",
              "value": "REDACTED"
            },
            {
              "name": "known_sign_in",
              "value": "REDACTED"
            },
            {
              "name": "event_filter",
              "value": "all"
            },
            {
              "name": "sidebar_collapsed",
              "value": "false"
            },
            {
              "name": "collapsed_gutter",
              "value": "false"
            }
          ],
          "queryString": [],
          "headersSize": 1122
        },
        "response": {
          "status": 304,
          "statusText": "Not Modified",
          "httpVersion": "HTTP/2",
          "headers": [
            {
              "name": "server",
              "value": "nginx"
            },
            {
              "name": "date",
              "value": "Wed, 01 Jun 2022 07:00:49 GMT"
            },
            {
              "name": "cache-control",
              "value": "no-cache"
            },
            {
              "name": "etag",
              "value": "W/\"4c70a2e9818e14a2af1764165f55d3e6\""
            },
            {
              "name": "x-gitlab-from-cache",
              "value": "true"
            },
            {
              "name": "x-request-id",
              "value": "01G4F12A32MFSXX7S3K2D3TEF3"
            },
            {
              "name": "x-runtime",
              "value": "0.005405"
            },
            {
              "name": "strict-transport-security",
              "value": "max-age=63072000"
            },
            {
              "name": "referrer-policy",
              "value": "strict-origin-when-cross-origin"
            },
            {
              "name": "X-Firefox-Spdy",
              "value": "h2"
            }
          ],
          "cookies": [],
          "content": {
            "mimeType": "application/json; charset=utf-8",
            "size": 47,
            "text": "{\"last_fetched_at\":1654066843843771,\"notes\":[]}"
          },
          "redirectURL": "",
          "headersSize": 353,
          "bodySize": 400
        },
        "cache": {
          "afterRequest": null
        },
        "timings": {
          "blocked": 0,
          "dns": 0,
          "connect": 0,
          "ssl": 0,
          "send": 0,
          "wait": 8,
          "receive": 0
        },
        "time": 8,
        "_securityState": "secure",
        "serverIPAddress": "10.0.0.160",
        "connection": "443"
      }
    ]
  }
}

Excerpt from production_json.log

Note: The log below is NOT directly related to the above HAR, they are two separate occasions of the issue!

Expand full log
    {
        "method": "POST",
        "path": "/groupname/projectname/-/merge_requests/12092/drafts/publish",
        "format": "json",
        "controller": "Projects::MergeRequests::DraftsController",
        "action": "publish",
        "status": 500,
        "time": "2022-04-28T05:48:35.328Z",
        "params": [
            {
                "key": "namespace_id",
                "value": "groupname"
            },
            {
                "key": "project_id",
                "value": "projectname"
            },
            {
                "key": "merge_request_id",
                "value": "12092"
            }
        ],
        "correlation_id": "01G1QBDJVK98Y9FCKY4XN371J3",
        "meta.user": "redacted",
        "meta.project": "groupname/projectname",
        "meta.root_namespace": "projectname",
        "meta.client_id": "user/23",
        "meta.caller_id": "Projects::MergeRequests::DraftsController#publish",
        "meta.remote_ip": "10.1.4.253",
        "meta.feature_category": "code_review",
        "remote_ip": "10.1.4.253",
        "user_id": 23,
        "username": "redacted",
        "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:99.0) Gecko/20100101 Firefox/99.0",
        "queue_duration_s": 0.014193,
        "request_urgency": "low",
        "target_duration_s": 5,
        "gitaly_calls": 8,
        "gitaly_duration_s": 0.034619,
        "redis_calls": 9,
        "redis_duration_s": 0.002069,
        "redis_read_bytes": 1508,
        "redis_write_bytes": 1694,
        "redis_cache_calls": 7,
        "redis_cache_duration_s": 0.001468,
        "redis_cache_read_bytes": 1323,
        "redis_cache_write_bytes": 388,
        "redis_shared_state_calls": 1,
        "redis_shared_state_duration_s": 0.000311,
        "redis_shared_state_read_bytes": 2,
        "redis_shared_state_write_bytes": 151,
        "redis_sessions_calls": 1,
        "redis_sessions_duration_s": 0.00029,
        "redis_sessions_read_bytes": 183,
        "redis_sessions_write_bytes": 1155,
        "db_count": 35,
        "db_write_count": 8,
        "db_cached_count": 4,
        "db_replica_count": 0,
        "db_primary_count": 35,
        "db_main_count": 35,
        "db_main_replica_count": 0,
        "db_replica_cached_count": 0,
        "db_primary_cached_count": 4,
        "db_main_cached_count": 4,
        "db_main_replica_cached_count": 0,
        "db_replica_wal_count": 0,
        "db_primary_wal_count": 0,
        "db_main_wal_count": 0,
        "db_main_replica_wal_count": 0,
        "db_replica_wal_cached_count": 0,
        "db_primary_wal_cached_count": 0,
        "db_main_wal_cached_count": 0,
        "db_main_replica_wal_cached_count": 0,
        "db_replica_duration_s": 0.0,
        "db_primary_duration_s": 0.027,
        "db_main_duration_s": 0.027,
        "db_main_replica_duration_s": 0.0,
        "cpu_s": 0.216038,
        "mem_objects": 46100,
        "mem_bytes": 4015396,
        "mem_mallocs": 13806,
        "mem_total_bytes": 5859396,
        "pid": 118147,
        "exception.class": "DiffNote::NoteDiffFileCreationError",
        "exception.message": "Failed to find diff line for: src/MFShell/ShellDialogBar.cpp, old_line: , new_line: 133",
        "exception.backtrace": [
            "app/models/diff_note.rb:46:in `create_diff_file'",
            "config/initializers/forbid_sidekiq_in_transactions.rb:58:in `block in committed!'",
            "config/initializers/forbid_sidekiq_in_transactions.rb:10:in `skipping_transaction_check'",
            "config/initializers/forbid_sidekiq_in_transactions.rb:58:in `committed!'",
            "lib/gitlab/database/load_balancing/connection_proxy.rb:126:in `block in write_using_load_balancer'",
            "lib/gitlab/database/load_balancing/load_balancer.rb:112:in `block in read_write'",
            "lib/gitlab/database/load_balancing/load_balancer.rb:172:in `retry_with_backoff'",
            "lib/gitlab/database/load_balancing/load_balancer.rb:110:in `read_write'",
            "lib/gitlab/database/load_balancing/connection_proxy.rb:125:in `write_using_load_balancer'",
            "lib/gitlab/database/load_balancing/connection_proxy.rb:77:in `transaction'",
            "app/services/notes/create_service.rb:29:in `block in execute'",
            "app/services/notes/create_service.rb:52:in `execute_quick_actions'",
            "app/services/notes/create_service.rb:23:in `execute'",
            "app/services/draft_notes/publish_service.rb:54:in `create_note_from_draft'",
            "app/services/draft_notes/publish_service.rb:37:in `block in publish_draft_notes'",
            "app/services/draft_notes/publish_service.rb:35:in `map'",
            "app/services/draft_notes/publish_service.rb:35:in `publish_draft_notes'",
            "app/services/draft_notes/publish_service.rb:11:in `execute'",
            "app/controllers/projects/merge_requests/drafts_controller.rb:50:in `publish'",
            "ee/lib/gitlab/ip_address_state.rb:10:in `with'",
            "ee/app/controllers/ee/application_controller.rb:45:in `set_current_ip_address'",
            "app/controllers/application_controller.rb:499:in `set_current_admin'",
            "lib/gitlab/session.rb:11:in `with_session'",
            "app/controllers/application_controller.rb:490:in `set_session_storage'",
            "lib/gitlab/i18n.rb:105:in `with_locale'",
            "lib/gitlab/i18n.rb:111:in `with_user_locale'",
            "app/controllers/application_controller.rb:484:in `set_locale'",
            "app/controllers/application_controller.rb:478: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/middleware/memory_report.rb:13:in `call'",
            "lib/gitlab/middleware/speedscope.rb:13:in `call'",
            "lib/gitlab/request_profiler/middleware.rb:17:in `call'",
            "lib/gitlab/database/load_balancing/rack_middleware.rb:23: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/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:46: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/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'",
            "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:26: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:77:in `call'",
            "lib/gitlab/middleware/release_env.rb:13:in `call'"
        ],
        "db_duration_s": 0.02406,
        "view_duration_s": 0.0,
        "duration_s": 0.23888
    }

Additional logs

Zendesk 🎫 #286108 (internal) has several full SOS reports after reproducing the error.

Output of checks

Results of GitLab environment info

Expand for output related to GitLab environment info

System information
System:		Ubuntu 18.04
Proxy:		no
Current User:	git
Using RVM:	no
Ruby Version:	2.7.5p203
Gem Version:	3.1.4
Bundler Version:2.2.33
Rake Version:	13.0.6
Redis Version:	6.2.6
Sidekiq Version:6.4.0
Go Version:	unknown

GitLab information
Version:	15.0.1-ee
Revision:	d69f38d4a95
Directory:	/opt/gitlab/embedded/service/gitlab-rails
DB Adapter:	PostgreSQL
DB Version:	12.10
URL:		https://redacted.tld
HTTP Clone URL:	https://redacted.tld/some-group/some-project.git
SSH Clone URL:	git@redacted.tld:some-group/some-project.git
Elasticsearch:	yes
Geo:		no
Using LDAP:	yes
Using Omniauth:	yes
Omniauth Providers: azure_oauth2, github, bitbucket

GitLab Shell
Version:	14.3.0
Repository storage paths:
- default: 	/mnt/data/gitlab/git-data/repositories
GitLab Shell path:		/opt/gitlab/embedded/service/gitlab-shell


Results of GitLab application Check

Expand for output related to the GitLab application check

Checking GitLab subtasks ...

Checking GitLab Shell ...

GitLab Shell: ... GitLab Shell version >= 14.3.0 ? ... OK (14.3.0) Running /opt/gitlab/embedded/service/gitlab-shell/bin/check Internal API available: OK Redis available via internal API: OK gitlab-shell self-check successful

Checking GitLab Shell ... Finished

Checking Gitaly ...

Gitaly: ... default ... OK

Checking Gitaly ... Finished

Checking Sidekiq ...

Sidekiq: ... Running? ... yes Number of Sidekiq processes (cluster/worker) ... 1/3

Checking Sidekiq ... Finished

Checking Incoming Email ...

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

Checking Incoming Email ... Finished

Checking LDAP ...

LDAP: ... Server: ldapmain LDAP authentication... Success LDAP users with access to your GitLab server (only showing the first 100 results) User output sanitized. Found 100 users of 100 limit.

Checking LDAP ... Finished

Checking GitLab App ...

Database config exists? ... yes All migrations up? ... yes Database contains orphaned GroupMembers? ... no GitLab config exists? ... yes GitLab config up to date? ... 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? ... yes Systemd unit files or init script exist? ... skipped (omnibus-gitlab has neither init script nor systemd units) Systemd unit files or init script up-to-date? ... skipped (omnibus-gitlab has neither init script nor systemd units) Projects have namespace: ... 4/1 ... yes 9/3 ... yes 9/4 ... yes 9/5 ... yes 10/6 ... yes 6/7 ... yes 9/8 ... yes 9/9 ... yes 4/10 ... yes 9/11 ... yes 8/12 ... yes 4/13 ... yes 10/14 ... yes 8/15 ... yes 4/16 ... yes 14/18 ... yes 8/19 ... yes 10/20 ... yes 4/22 ... yes 8/26 ... yes 4/27 ... yes 16/29 ... yes 9/30 ... yes 16/32 ... yes 8/33 ... yes 4/34 ... yes 8/35 ... yes 4/36 ... yes 27/37 ... yes 4/38 ... yes 6/39 ... yes 32/40 ... yes 8/41 ... yes 9/42 ... yes 8/43 ... yes 27/44 ... yes 11/45 ... yes 89/46 ... yes 4/47 ... yes 67/49 ... yes 27/50 ... yes 83/51 ... yes 83/52 ... yes 85/53 ... yes 4/54 ... yes 83/55 ... yes 16/56 ... yes 89/57 ... yes 27/58 ... yes 83/59 ... yes 83/60 ... yes 83/61 ... yes 83/62 ... yes 4/63 ... yes 72/64 ... yes 4/65 ... yes 16/66 ... yes 105/68 ... yes 89/69 ... yes 83/70 ... yes 89/71 ... yes 108/74 ... yes 117/75 ... yes 121/77 ... yes 123/78 ... yes 89/79 ... yes 48/80 ... yes 123/81 ... yes 8/82 ... yes 8/83 ... yes 122/84 ... yes 16/85 ... yes 69/86 ... yes 83/87 ... yes 16/88 ... yes 134/89 ... yes 136/90 ... yes 83/91 ... yes 123/92 ... yes 144/93 ... yes 83/94 ... yes 4/95 ... yes 4/96 ... yes 69/97 ... yes 136/98 ... yes 83/99 ... yes 12/100 ... yes 121/101 ... yes 144/102 ... yes 144/103 ... yes 144/104 ... yes 116/105 ... yes 119/106 ... yes 83/107 ... yes 152/108 ... yes 144/109 ... yes 116/110 ... yes 9/111 ... yes 4/112 ... yes 4/113 ... yes 89/114 ... yes 8/115 ... yes 83/116 ... yes 8/117 ... yes 117/118 ... yes 72/119 ... yes 123/120 ... yes 123/121 ... yes 9/122 ... yes 4/123 ... yes 123/124 ... yes 83/125 ... yes 4/126 ... yes 83/127 ... yes 116/128 ... yes 123/129 ... yes 123/130 ... yes 83/131 ... yes 4/132 ... yes 83/133 ... yes 72/134 ... yes 89/135 ... yes 4/136 ... yes 83/137 ... yes 168/138 ... yes 202/139 ... yes 16/140 ... yes 4/141 ... yes 168/142 ... yes 48/143 ... yes 123/144 ... yes 123/145 ... yes 120/146 ... yes 228/147 ... yes 228/148 ... yes 123/149 ... yes 234/150 ... yes 122/151 ... yes 234/152 ... yes 148/153 ... yes 236/154 ... yes 236/155 ... yes 237/156 ... yes 239/158 ... yes 239/159 ... yes 239/160 ... yes 7/161 ... yes 7/162 ... yes 239/163 ... yes 239/164 ... yes 239/165 ... yes 239/166 ... yes 239/167 ... yes 239/168 ... yes 239/169 ... yes 239/170 ... yes 239/171 ... yes 239/172 ... yes 239/173 ... yes 239/174 ... yes 239/175 ... yes 239/176 ... yes 239/177 ... yes 239/178 ... yes 239/179 ... yes 239/180 ... yes 239/181 ... yes 239/182 ... yes 239/183 ... yes 239/184 ... yes 239/185 ... yes 239/186 ... yes 239/187 ... yes 239/188 ... yes 239/189 ... yes 239/190 ... yes 239/191 ... yes 239/192 ... yes 239/193 ... yes 239/194 ... yes 239/195 ... yes 239/196 ... yes 239/197 ... yes 239/198 ... yes 239/199 ... yes 239/200 ... yes 239/201 ... yes 239/202 ... yes 239/203 ... yes 239/204 ... yes 239/205 ... yes 239/206 ... yes 239/207 ... yes 239/208 ... yes 239/209 ... yes 239/210 ... yes 239/211 ... yes 239/212 ... yes 239/213 ... yes 239/214 ... yes 239/215 ... yes 239/216 ... yes 239/217 ... yes 239/218 ... yes 239/219 ... yes 239/220 ... yes 239/221 ... yes 239/222 ... yes 239/223 ... yes 239/224 ... yes 239/225 ... yes 239/226 ... yes 239/227 ... yes 239/228 ... yes 239/229 ... yes 239/230 ... yes 239/231 ... yes 239/232 ... yes 239/233 ... yes 239/234 ... yes 239/235 ... yes 239/236 ... yes 239/237 ... yes 239/238 ... yes 239/239 ... yes 239/240 ... yes 239/241 ... yes 239/242 ... yes 239/243 ... yes 239/244 ... yes 239/245 ... yes 239/246 ... yes 239/247 ... yes 239/248 ... yes 239/249 ... yes 239/250 ... yes 239/251 ... yes 239/252 ... yes 239/253 ... yes 239/254 ... yes 239/255 ... yes 239/256 ... yes 239/257 ... yes 239/258 ... yes 239/259 ... yes 239/260 ... yes 239/261 ... yes 239/262 ... yes 239/263 ... yes 239/264 ... yes 239/265 ... yes 239/266 ... yes 239/267 ... yes 239/268 ... yes 239/269 ... yes 239/270 ... yes 239/271 ... yes 239/272 ... yes 239/273 ... yes 239/274 ... yes 239/275 ... yes 239/276 ... yes 239/277 ... yes 239/278 ... yes 239/279 ... yes 239/280 ... yes 239/281 ... yes 239/282 ... yes 239/283 ... yes 239/284 ... yes 239/285 ... yes 239/286 ... yes 239/287 ... yes 239/288 ... yes 239/289 ... yes 239/290 ... yes 239/291 ... yes 239/292 ... yes 239/293 ... yes 239/294 ... yes 239/295 ... yes 239/296 ... yes 239/297 ... yes 239/298 ... yes 239/299 ... yes 239/300 ... yes 239/301 ... yes 239/302 ... yes 239/303 ... yes 239/304 ... yes 239/305 ... yes 239/306 ... yes 239/307 ... yes 239/308 ... yes 239/309 ... yes 239/310 ... yes 239/311 ... yes 239/312 ... yes 239/313 ... yes 239/314 ... yes 239/315 ... yes 239/316 ... yes 239/317 ... yes 239/318 ... yes 239/319 ... yes 239/320 ... yes 239/321 ... yes 247/322 ... yes 247/323 ... yes 247/324 ... yes 247/325 ... yes 247/326 ... yes 247/327 ... yes 247/328 ... yes 247/329 ... yes 247/330 ... yes 247/331 ... yes 247/332 ... yes 85/333 ... yes 85/334 ... yes 4/335 ... yes 256/336 ... yes 134/337 ... yes 257/338 ... yes 257/339 ... yes 257/340 ... yes 257/341 ... yes 234/342 ... yes 89/343 ... yes 89/344 ... yes 89/345 ... yes 98/346 ... yes 144/347 ... yes 266/348 ... yes 257/350 ... yes 234/351 ... yes 226/352 ... yes 226/353 ... yes 123/354 ... yes 234/355 ... yes 136/356 ... yes 123/357 ... yes 257/358 ... yes 123/359 ... yes 9/360 ... yes 144/361 ... yes 16/364 ... yes 237/365 ... yes 234/366 ... yes 121/367 ... yes 123/368 ... yes 274/369 ... yes 247/370 ... yes 234/371 ... yes 144/372 ... yes 123/378 ... yes 90/380 ... yes 274/381 ... yes 274/382 ... yes 4/383 ... yes 274/384 ... yes 247/385 ... yes 247/386 ... yes 247/387 ... yes 247/388 ... yes 247/389 ... yes 247/390 ... yes 247/391 ... yes 247/392 ... yes 247/393 ... yes 247/394 ... yes 247/395 ... yes 247/396 ... yes 247/397 ... yes 148/398 ... yes 289/399 ... yes 121/400 ... yes 247/401 ... yes 247/402 ... yes 247/403 ... yes 247/404 ... yes 247/405 ... yes 247/406 ... yes 247/407 ... yes 247/408 ... yes 247/409 ... yes 247/410 ... yes 247/411 ... yes 247/412 ... yes 247/413 ... yes 247/414 ... yes 247/415 ... yes 247/416 ... yes 247/417 ... yes 247/418 ... yes 247/419 ... yes 247/420 ... yes 247/421 ... yes 247/422 ... yes 247/423 ... yes 247/424 ... yes 247/425 ... yes 247/426 ... yes 247/427 ... yes 274/428 ... yes 83/429 ... yes 234/430 ... yes 247/431 ... yes 247/432 ... yes 83/433 ... yes 83/434 ... yes 121/435 ... yes 121/436 ... yes 320/437 ... yes 121/439 ... yes 320/440 ... yes 320/441 ... yes 320/442 ... yes 320/443 ... yes 121/444 ... yes 320/445 ... yes 123/446 ... yes 116/447 ... yes 238/449 ... yes 83/450 ... yes 234/451 ... yes 83/452 ... yes 89/454 ... yes 89/455 ... yes 83/456 ... yes 433/457 ... yes 108/458 ... yes 83/459 ... yes 234/460 ... yes 247/461 ... yes 247/462 ... yes 83/464 ... yes 237/465 ... yes 144/466 ... yes 237/467 ... yes 237/468 ... yes 83/469 ... yes 85/470 ... yes 247/471 ... yes 32/472 ... yes 226/473 ... yes 16/474 ... yes 226/475 ... yes 228/476 ... yes 247/477 ... yes 247/478 ... yes 433/479 ... yes 83/480 ... yes 247/481 ... yes 247/482 ... yes 247/483 ... yes 247/484 ... yes 289/485 ... yes 247/486 ... yes 247/487 ... yes 247/488 ... yes 247/489 ... yes 247/490 ... yes 247/491 ... yes 247/492 ... yes 121/493 ... yes 247/494 ... yes 247/495 ... yes 247/496 ... yes 247/497 ... yes 85/498 ... yes 343/499 ... yes 343/500 ... yes 343/501 ... yes 247/502 ... yes 247/503 ... yes 83/504 ... yes 247/505 ... yes 83/506 ... yes 83/507 ... yes 247/508 ... yes 247/509 ... yes 347/510 ... yes 256/511 ... yes 247/512 ... yes 348/513 ... yes 105/514 ... yes 83/515 ... yes 89/516 ... yes 247/517 ... yes 134/519 ... yes 134/520 ... yes 134/521 ... yes 348/522 ... yes 4/523 ... yes 83/524 ... yes 320/525 ... yes 83/526 ... yes 83/527 ... yes 83/528 ... yes 83/529 ... yes 83/530 ... yes 228/531 ... yes 119/532 ... yes 83/533 ... yes 120/534 ... yes 120/535 ... yes 120/536 ... yes 120/537 ... yes 83/538 ... yes 4/539 ... yes 4/540 ... yes 363/542 ... yes 363/543 ... yes 83/544 ... yes 83/545 ... yes 83/546 ... yes 83/547 ... yes 121/548 ... yes 48/549 ... yes 108/550 ... yes 89/551 ... yes 83/552 ... yes 85/553 ... yes 379/554 ... yes 83/555 ... yes 379/556 ... yes 83/557 ... yes 83/558 ... yes 389/559 ... yes 389/560 ... yes 389/561 ... yes 25/562 ... yes 121/563 ... yes 83/564 ... yes 83/565 ... yes 27/566 ... yes 27/567 ... yes 9/568 ... yes 123/569 ... yes 121/570 ... yes 125/571 ... yes 89/572 ... yes 83/573 ... yes 83/574 ... yes 83/575 ... yes 83/576 ... yes 83/577 ... yes 83/578 ... yes 83/579 ... yes 234/580 ... yes 83/581 ... yes 85/582 ... yes 83/583 ... yes 228/584 ... yes 83/585 ... yes 237/586 ... yes 108/587 ... yes 410/588 ... yes 83/589 ... yes 83/590 ... yes 83/591 ... yes 433/592 ... yes 433/593 ... yes 27/594 ... yes 85/595 ... yes 85/596 ... yes 4/597 ... yes 121/598 ... yes 234/599 ... yes 83/601 ... yes 121/602 ... yes 438/603 ... yes 343/604 ... yes 83/605 ... yes 234/606 ... yes 226/607 ... yes 237/608 ... yes 16/609 ... yes 83/610 ... yes 83/611 ... yes 9/612 ... yes 83/613 ... yes 449/614 ... yes 89/615 ... yes 123/616 ... yes 108/617 ... yes 123/618 ... yes 123/619 ... yes 89/620 ... yes 4/621 ... yes 228/622 ... yes 83/623 ... yes 83/624 ... yes 466/625 ... yes 83/626 ... yes 226/628 ... yes 237/629 ... yes 4/630 ... yes 472/631 ... yes 83/632 ... yes 410/633 ... yes 83/634 ... yes 83/635 ... yes 83/636 ... yes 105/637 ... yes 83/638 ... yes 83/639 ... yes 226/640 ... yes 83/641 ... yes 83/642 ... yes 83/643 ... yes 119/644 ... yes 83/645 ... yes 83/646 ... yes 61/647 ... yes 472/648 ... yes 83/649 ... yes 83/650 ... yes 83/651 ... yes 4/652 ... yes 469/653 ... yes 484/654 ... yes 119/655 ... yes 83/656 ... yes 83/657 ... yes 83/658 ... yes 172/659 ... yes 83/660 ... yes 83/661 ... yes 83/662 ... yes 83/663 ... yes 83/664 ... yes 119/665 ... yes 234/666 ... yes 83/667 ... yes 83/668 ... yes 472/669 ... yes 83/670 ... yes 83/671 ... yes 83/672 ... yes 83/673 ... yes 83/674 ... yes 83/675 ... yes 410/676 ... yes 105/677 ... yes 83/678 ... yes 121/679 ... yes 234/680 ... yes 83/681 ... yes 83/682 ... yes 237/683 ... yes 83/684 ... yes 83/685 ... yes 83/686 ... yes 123/687 ... yes 83/688 ... yes 83/689 ... yes 234/690 ... yes 105/691 ... yes 4/692 ... yes 83/693 ... yes 83/694 ... yes 4/695 ... yes 83/696 ... yes 83/697 ... yes 48/698 ... yes 83/699 ... yes 83/700 ... yes 83/701 ... yes 530/702 ... yes 105/703 ... yes 234/704 ... yes 108/705 ... yes 83/706 ... yes 4/707 ... yes 83/708 ... yes 83/709 ... yes 576/710 ... yes 502/711 ... yes 26/712 ... yes 83/713 ... yes 83/714 ... yes 83/715 ... yes 83/716 ... yes 4/717 ... yes 4/718 ... yes 83/719 ... yes 83/720 ... yes 83/721 ... yes 105/722 ... yes 83/723 ... yes 257/724 ... yes 4/725 ... yes 234/726 ... yes 27/727 ... yes 83/728 ... yes 136/729 ... yes 136/730 ... yes 83/731 ... yes 105/732 ... yes Redis version >= 5.0.0? ... yes Ruby version >= 2.7.2 ? ... yes (2.7.5) Git user has default SSH configuration? ... no Try fixing it: mkdir ~/gitlab-check-backup-1654516299 sudo mv /var/opt/gitlab/.ssh/known_hosts~ ~/gitlab-check-backup-1654516299 For more information see: doc/user/ssh.md#overriding-ssh-settings-on-the-gitlab-server Please fix the error above and rerun the checks. Active users: ... 264 Is authorized keys file accessible? ... yes GitLab configured to store new projects in hashed storage? ... yes All projects are in hashed storage? ... yes Elasticsearch version 7.x-8.x or OpenSearch version 1.x ... yes (elasticsearch 7.16.2)

Checking GitLab App ... Finished

Checking GitLab subtasks ... Finished

Related issues

There's two existing issues that mention DiffNote::NoteDiffFileCreationError:

However, they all seem to have some ghost notes as the underlying cause. The customer here used the Rails console to confirm there's no ghost notes present as described in the workaround to be found in the other issues. Also none of the conditions pointed out there (force pushes, project imports) as a cause for them do apply, so we're assuming this is a different problem.

Edited by Manuel Grabowski