500 error when accessing project with submodules
Created by: jowisz
Hello, we have a repository with many submodules. When we trying access to Files / Commits we get error 500. In production.log I see this message:
ActionView::Template::Error (Object not found - failed to find pack entry (38dee137dd3961c215172beefc780612c0042fb7)):
3: - if diff_file.diff.submodule?
4: %span
5: - submodule_item = project.repository.blob_at(@commit.id, diff_file.file_path)
6: = submodule_link(submodule_item, @commit.id, project.repository)
7: - else
8: %span
9: - if diff_file.deleted_file
app/models/repository.rb:173:in `method_missing'
app/models/repository.rb:264:in `submodule_url_for'
app/helpers/submodule_helper.rb:6:in `submodule_links'
app/helpers/diff_helper.rb:157:in `submodule_link'
app/views/projects/diffs/_file.html.haml:6:in `_app_views_projects_diffs__file_html_haml__2886573603300098859_69977299181240'
app/views/projects/diffs/_diffs.html.haml:22:in `block in _app_views_projects_diffs__diffs_html_haml__2748123112914767185_69977317849040'
app/views/projects/diffs/_diffs.html.haml:17:in `each'
app/views/projects/diffs/_diffs.html.haml:17:in `each_with_index'
app/views/projects/diffs/_diffs.html.haml:17:in `_app_views_projects_diffs__diffs_html_haml__2748123112914767185_69977317849040'
app/views/projects/commit/show.html.haml:5:in `_app_views_projects_commit_show_html_haml__4515131005562029281_69977296097700'
app/controllers/projects/commit_controller.rb:28:in `show'
Object with this id (38dee137dd3961c215172beefc780612c0042fb7) exists. This is a commit in one of submodules. Submodule with whis commit is defined in .gitmodules as below:
[submodule "cores/sc/middleware/submodule"] path = cores/sc/middleware/submodule url = git@git-hostname:project/submodule_core.git
Tested on two environments:
- Gitlab 8.1.3 + GitLab Shell 2.6.7 + Ruby 2.2.4p230 + Rails 4.1.12
- Gitlab 8.4.2 + GitLab Shell 2.6.10 + Ruby 2.2.4p230 + Rails 4.2.5.1
Any ideas?
BR, Tomasz Kowalski