Issues After Upgrading GitLab CE 15.6.3->15.7.0 on Raspberry Pi

Greetings:

This morning I upgraded GitLab CE from 15.6.3 to 15.7.0 on my Raspberry Pi system and it said the upgrade was successful however if I try to access repositories within the GUI, I am met with the message “An error occurred while fetching folder content.” When I dig deeper, things look a bit serious. I have some excerpts below. Ultimately, I can’t fetch or push any data to any repositories. Thoughts?

From exceptions_json.log

{"severity":"ERROR","time":"2022-12-23T17:55:15.279Z","correlation_id":"01GN01ZWHNRC64Z6BZ1R1K74CQ","exception.class":"GRPC::Internal","exception.message":"13:panic: unaligned 64-bit atomic operation. debug_error_string:{\"created\":\"@1671818115.265281313\",\"description\":\"Error received from peer unix:/var/opt/gitlab/gitaly/gitaly.socket\",\"file\":\"src/core/lib/surface/call.cc\",\"file_line\":1063,\"grpc_message\":\"panic: unaligned 64-bit atomic operation\",\"grpc_status\":13}","exception.backtrace":["config/initializers/enumerator_next_patch.rb:9:in `block (2 levels) in \u003cmodule:EnumeratorNextPatch\u003e'","lib/gitlab/gitaly_client/call.rb:43:in `block (3 levels) in instrument_stream'","lib/gitlab/gitaly_client/call.rb:55:in `recording_request'","lib/gitlab/gitaly_client/call.rb:43:in `block (2 levels) in instrument_stream'","lib/gitlab/gitaly_client/call.rb:42:in `loop'","lib/gitlab/gitaly_client/call.rb:42:in `block in instrument_stream'","lib/gitlab/gitaly_client/blob_service.rb:193:in `each'","lib/gitlab/gitaly_client/blob_service.rb:193:in `each'","lib/gitlab/gitaly_client/blob_service.rb:193:in `flat_map'","lib/gitlab/gitaly_client/blob_service.rb:193:in `map_lfs_pointers'","lib/gitlab/gitaly_client/blob_service.rb:120:in `get_new_lfs_pointers'","lib/gitlab/git/lfs_changes.rb:12:in `new_pointers'","lib/gitlab/checks/lfs_integrity.rb:19:in `objects_missing?'","lib/gitlab/checks/lfs_check.rb:20:in `block in validate!'","lib/gitlab/checks/timed_logger.rb:27:in `log_timed'","lib/gitlab/checks/lfs_check.rb:16:in `validate!'","lib/gitlab/checks/changes_access.rb:119:in `bulk_access_checks!'","lib/gitlab/checks/changes_access.rb:28:in `block in validate!'","lib/gitlab/checks/timed_logger.rb:27:in `log_timed'","lib/gitlab/checks/changes_access.rb:27:in `validate!'","lib/gitlab/git_access.rb:360:in `check_access!'","lib/gitlab/git_access.rb:349:in `check_change_access!'","lib/gitlab/git_access.rb:332:in `check_push_access!'","lib/gitlab/git_access.rb:92:in `check'","lib/api/internal/base.rb:121:in `access_check!'","lib/api/internal/base.rb:67:in `block in check_allowed'","lib/api/internal/base.rb:145:in `with_admin_mode_bypass!'","lib/api/internal/base.rb:66:in `check_allowed'","lib/api/internal/base.rb:169:in `block (2 levels) in \u003cclass:Base\u003e'","lib/api/api_guard.rb:215:in `call'","lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16: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/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:37:in `within'","lib/gitlab/middleware/query_analyzer.rb:11:in `call'","lib/gitlab/middleware/multipart.rb:173:in `call'","lib/gitlab/middleware/read_only/controller.rb:50:in `call'","lib/gitlab/middleware/read_only.rb:18:in `call'","lib/gitlab/middleware/same_site_cookies.rb:27:in `call'","lib/gitlab/middleware/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:37:in `call'","lib/gitlab/middleware/rack_multipart_tempfile_factory.rb:19:in `call'","lib/gitlab/middleware/sidekiq_web_static.rb:20:in `call'","lib/gitlab/metrics/requests_rack_middleware.rb:77:in `call'","lib/gitlab/middleware/release_env.rb:13:in `call'"],"user.username":null,"tags.program":"web","tags.locale":"en","tags.feature_category":"source_code_management","tags.correlation_id":"01GN01ZWHNRC64Z6BZ1R1K74CQ"}

From gitlab-shell.log

This is when I try to push something into a repo.

{"correlation_id":"01GN01QGK3QH5QKJT4R7R1RCMB","duration_ms":3,"error":"Internal API error (502)","level":"error","method":"POST","msg":"Internal API error","status":502,"time":"2022-12-23T17:50:39Z","url":"http://unix/api/v4/internal/allowed"}
{"correlation_id":"01GN01QGK3QH5QKJT4R7R1RCMB","error":"Internal API error (502)","level":"warning","msg":"gitlab-shell: main: command execution failed","time":"2022-12-23T17:50:39Z"}
{"command":"*receivepack.Command","correlation_id":"01GN01ZTFHCKSEPX2KHJZHGDXC","env":{"GitProtocolVersion":"","IsSSHConnection":true,"OriginalCommand":"git-receive-pack 'foo/TeX.git'","RemoteAddr":"192.168.247.1"},"level":"info","msg":"gitlab-shell: main: executing command","time":"2022-12-23T17:55:11Z"}

Can you try:

gitlab-ctl restart

or even:

systemctl restart gitlab-runsvdir

and see if it’s any better?

I forgot to mention some system information. I made sure the file system was alright.

$ sudo btrfs scrub status /foo/
UUID:             ffoo3-afooff-foo-foo-foo
Scrub started:    Fri Dec 23 11:42:01 2022
Status:           finished
Duration:         0:46:06
Total to scrub:   353.59GiB
Rate:             130.90MiB/s
Error summary:    no errors found

I am running the latest Raspberry Pi OS (32-bit) Bullseye.

$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

Thanks for the reply. I might’ve replied to the forum without replying directly to you, so I wanted to mention directly to you that I tried those suggestions and they didn’t work.

I think I have the same issue…
From my logs, the problem seems to be with gitaly:

gitaly (13:panic: unaligned 64-bit atomic operation.)
(this is also in your logs)

This seems to have happened before, check this thread

Downgraded back to 15.6.3 and it’s all fine again.

Yes, your errors match mine. Thank you for finding the past thread from a year ago. I do recall coming across that as well. I downgraded to 15.6.3 as well. I hope that GitLab has perused this forum entry and is aware of the issue so they can fix 15.7.1.

Hi,

Unfortunately, I’m facing the exact same issue. How did you downgrade back to 15.6.3? Never done that and don’t want to break anything.

Thanks,
Chris

GitLab has a lot of documentation on those topics. Some URLs that should help you are listed below.

In general, when GitLab is updated it makes a lite backup of things (not a full one). This is usually sufficient to restore to a previous version. However, this is not always the case (e.g., this did not work for me going from 15.7.0 back to 15.6.3). In those cases, having a full backup seems to work better (which is what I used as a Plan B).

In general, you should start making full backups before the upgrades if possible so you can restore an older one if needed (or automate them to occur on some interval). It sounds like you haven’t done this. So, you can try doing the restore from the lite backup or you can wait for GitLab to fix 15.7.0 (possibly with a patched Gitaly) or to fix it for 15.7.1 and then do the backups so you’re not without a functioning GitLab in the future.

None of these options are without stress. Hopefully others who follow this forum read this and chime in if there are other options. I wish you and everyone happy holidays.

1 Like

Thank you so much for your extensive reply. I do regular backups, but I assume, these are all just the small ones, so I will take more care about this in the future.

Chris

EDIT: Downgrade went smoothly. Aside from the links given above, I found this page quite useful.

I’ve opened an issue in the same project as the previous issue

So everyone interested can follow :slightly_smiling_face:

Thanks for reporting! A fix has been merged in Fix 64-bit alignment errors with request queue counters (!5224) · Merge requests · GitLab.org / gitaly · GitLab. I kicked off a nightly build and will post a new gitaly binary for testing. Follow Issues After Upgrading to GitLab CE 15.7.0 on Raspberry Pi OS 32-bit (#4701) · Issues · GitLab.org / gitaly · GitLab for the latest updates.

1 Like

@stanhu Sounds great :slight_smile: will that also make it into the packaged RPI versions, so that it’s not required for gitaly to be downloaded separately? Assuming if so that will be when 15.7.1 is released?

Yes, 15.7.1 should have the fixes. I suspect it will be released sometime next week, but that’s just a guess right now.

In the meantime, Issues After Upgrading to GitLab CE 15.7.0 on Raspberry Pi OS 32-bit (#4701) · Issues · GitLab.org / gitaly · GitLab has links to some recent builds that appear to fix the problem.

1 Like

FYI, 15.7.1 was released last week on January 5, 2023: GitLab Patch Release: 15.7.1 | GitLab