Error 500 on old merge request
It can actually be seen on this very instance right now: heptapod-tests!1 (merged)
While testing the heptapod:0.2.0
Docker image, I've got a full copy of this instance, this gives me more opportunity to investigate.
Here's a complete traceback:
Started GET "/heptapod/heptapod-tests/merge_requests/1" for 172.20.0.1 at 2019-04-27 12:24:55 +0000
Processing by Projects::MergeRequestsController#show as HTML
Parameters: {"namespace_id"=>"heptapod", "project_id"=>"heptapod-tests", "id"=>"1"}
Completed 500 Internal Server Error in 284ms (ActiveRecord: 22.4ms)
ActionView::Template::Error (wrong argument type nil (expected String)):
20: -# haml-lint:disable InlineJavaScript
21: :javascript
22: window.gl = window.gl || {};
23: window.gl.mrWidgetData = #{serialize_issuable(@merge_request)}
24:
25: #js-vue-mr-widget.mr-widget
26:
lib/gitlab/git/repository.rb:464:in `rev_parse_target'
lib/gitlab/git/repository.rb:458:in `sha_from_ref'
lib/gitlab/git/repository.rb:489:in `hgsha_from_ref'
app/models/repository.rb:462:in `method_missing'
app/models/merge_request_diff.rb:151:in `diff_refs'
app/models/merge_request.rb:362:in `diff_refs'
app/models/merge_request.rb:934:in `has_complete_diff_refs?'
app/services/merge_requests/conflicts/list_service.rb:17:in `can_be_resolved_in_ui?'
app/presenters/merge_request_presenter.rb:74:in `conflict_resolution_path'
app/serializers/merge_request_entity.rb:115:in `block in <class:MergeRequestEntity>'
app/serializers/base_serializer.rb:11:in `represent'
app/serializers/merge_request_serializer.rb:7:in `represent'
app/helpers/issuables_helper.rb:42:in `serialize_issuable'
app/views/projects/merge_requests/show.html.haml:23:in `_app_views_projects_merge_requests_show_html_haml__464644201042640764_69921729463500'
app/controllers/projects/merge_requests_controller.rb:79:in `block (3 levels) in show'
lib/gitlab/gitaly_client.rb:193:in `allow_n_plus_1_calls'
app/controllers/projects/merge_requests_controller.rb:78:in `block (2 levels) in show'
app/controllers/projects/merge_requests_controller.rb:62:in `show'
lib/gitlab/i18n.rb:47:in `with_locale'
lib/gitlab/i18n.rb:53:in `with_user_locale'
app/controllers/application_controller.rb:346:in `set_locale'
lib/gitlab/middleware/multipart.rb:93:in `call'
lib/gitlab/request_profiler/middleware.rb:14:in `call'
lib/gitlab/middleware/go.rb:17:in `call'
lib/gitlab/etag_caching/middleware.rb:11:in `call'
lib/gitlab/middleware/read_only.rb:30:in `call'
lib/gitlab/request_context.rb:18:in `call'
lib/gitlab/metrics/requests_rack_middleware.rb:27:in `call'
At first sight that might be a matter of the commit displayed in the MR being obsolete (merged using the command-line with a rebase). It's possible that it's been a consequence of bugs that Heptapod 0.2.0 wouldn't have.