Gitlab 进首页报错500 Whoops。 访问仓库错误码503

一、背景

可能由于机器突然断过电,或者系统问题。部署的Gitlab在某天运行时突然不正常,具体表现在通过浏览器进首页时报错(错误码为500),访问其中一个仓库错误码为503。如下:

 

后来发现无法备份,备份到某个仓库的时候会终止。

查了一圈有人说是由于断电导致某个文件损坏了,继而引发的问题。

版本:

系统:ubuntu16.04

GitLab版本:10.7.3

 

二、部分日志:

备份时的日志:(如下就是xxx_lib仓库出了问题)

xxx/TEST_Proj1 … [DONE]
xxx/TEST_Proj1.wiki … [SKIPPED]
xxx/xxx_lib … rake aborted!
Gitlab::Git::CommandError: 13:HasLocalBranches: cmd wait: exit status 128
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/git/repository.rb:1397:in rescue in gitaly_migrate' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/git/repository.rb:1390:ingitaly_migrate'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/git/repository.rb:1546:in uncached_has_local_branches?' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/git/repository.rb:240:inblock in has_local_branches?'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/utils/strong_memoize.rb:26:in strong_memoize' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/git/repository.rb:239:inhas_local_branches?'
/opt/gitlab/embedded/service/gitlab-rails/app/models/repository.rb:512:in has_visible_content?' /opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/repository_cache_adapter.rb:17:inblock (2 levels) in cache_method'
/opt/gitlab/embedded/service/gitlab-rails/lib/gitlab/repository_cache.rb:22:in `fetch'
 
访问首页时的日志:
Read fragment views/routes/55-20180725054749729480000/projects/36-20180725054749660386000/root/index/application_settings/1-20180505055609666165000/cross-project:true/v2.5/6e9f3ed1415f1c03e7a094b52c2ed709 (0.2ms)
Read fragment views/routes/238-20190905112740764906000/projects/202-20190905112740761259000/root/index/application_settings/1-20180505055609666165000/cross-project:true/v2.5/6e9f3ed1415f1c03e7a094b52c2ed709 (0.3ms)
Read fragment views/routes/425-20220419091855157945000/projects/373-20220419091855154119000/root/index/application_settings/1-20180505055609666165000/cross-project:true/v2.5/6e9f3ed1415f1c03e7a094b52c2ed709 (0.2ms)
Read fragment views/routes/43-20180620033208948092000/projects/27-20180620033208941965000/root/index/application_settings/1-20180505055609666165000/cross-project:true/v2.5/6e9f3ed1415f1c03e7a094b52c2ed709 (0.1ms)
Completed 500 Internal Server Error in 181ms (ActiveRecord: 12.2ms)
ActionView::Template::Error (failed to parse loose object: invalid header):
19: - if project.creator && use_creator_avatar
20: = image_tag avatar_icon_for_user(project.creator, 40), class: "avatar s40", alt:''
21: - else
22: = project_icon(project, alt: '', class: 'avatar project-avatar s40')
23: .project-details
24: %h3.prepend-top-0.append-bottom-0
25: = link_to project_path(project), class: 'text-plain' do
lib/gitlab/git/repository.rb:1692:in target'
lib/gitlab/git/repository.rb:1692:inblock in branches_filter'
lib/gitlab/git/repository.rb:1690:in each'
lib/gitlab/git/repository.rb:1690:ineach'
lib/gitlab/git/repository.rb:1690:in map'
lib/gitlab/git/repository.rb:1690:inbranches_filter'
lib/gitlab/git/repository.rb:173:in `block in branches'
 

三、解决方法

0)先在本地把xxx_lib仓库备份好。

1)进入Gitlab的存放仓库的目录,找到指定的仓库清空。

/var/opt/gitlab/git-data/repositories/xxx_User/  (xxx_User为用户名)

在此文件夹中把 xxx_lib.git  和 xxx_lib.wiki.git删掉。类似于下面这样,这两个就是一个仓库的数据。

 

 

 2)删掉后,就可以通过浏览器访问这个仓库,只不过变成一个空仓库了。

 

四、总结

1)要定期备份。
2)存放代码的机器要可靠,包含不限于系统稳定性和电源稳定。
 
 
 
 
posted @   xcywt  阅读(1004)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
作者:xcywt
出处:https://www.cnblogs.com/xcywt//
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
点击右上角即可分享
微信分享提示