Thanks to
環境
- CentOS 6.8
- GitLab 8.3.4から8.9.3にアップデート
- アップデートにはrpmを使用
- Ruby 2.3.1
症状
GitLabをアップデートしたあと、特定のリポジトリだけアクセス時に500エラーになる。
/var/log/gitlab/gitlab-rails/production.log
を見ると、以下のようなエラーが出ていた。
Started GET "/xxxxxxxx/xxxxxxxx" for 127.0.0.1 at 2016-07-04 20:51:46 +0900
Processing by ProjectsController#show as HTML
Parameters: {"namespace_id"=>"xxxxxxxx", "id"=>"xxxxxxxx"}
Completed 500 Internal Server Error in 57ms (ActiveRecord: 4.1ms)
OpenSSL::Cipher::CipherError (iv length too short):
app/models/project.rb:456:in `import_url'
app/models/project.rb:486:in `external_import?'
app/models/project.rb:478:in `import?'
app/models/project.rb:494:in `import_in_progress?'
app/controllers/projects_controller.rb:93:in `show'
lib/gitlab/middleware/go.rb:16:in `call'
解決
最初のURL先に書いてあった通り、
sudo gitlab-rails runner "Project.where.not(import_url: nil).each { |p| p.import_data.destroy if p.import_data }"
を実行すると直った。