500 error when trying to create merge request soon after pushing

Summary

User was unable to create a pull request soon after pushing, with an unhelpful 500 error. Issue resolved itself after a few minutes.

Steps to reproduce

Upload a trivial merge request then visit URL given in git output, e.g. https://artifex.githost.io/joseph/sot/merge_requests/new?merge_request%5Bsource_branch%5D=xlsx-crash-fix

What is the current bug behavior?

500 error shown to user

What is the expected correct behavior?

Either page should work, or should say "We're still processing your commits, try again in a bit."

Relevant logs and/or screenshots

From production.log:

Started GET "/joseph/sot/merge_requests/new?merge_request%5Bsource_branch%5D=xlsx-crash-fix" for 81.187.12.227 at 2017-03-01 11:18:54 +0000
Processing by Projects::MergeRequestsController#new as HTML
Parameters: {"merge_request"=>{"source_branch"=>"xlsx-crash-fix"}, "namespace_id"=>"joseph", "project_id"=>"sot"}
Completed 500 Internal Server Error in 441ms (ActiveRecord: 45.5ms)
Rugged::OdbError (Object not found - no match for id (0c581290fc3f4d0f66ec5aec961e33fcf051f467)):
app/models/repository.rb:1134:in `merge_base'
app/models/repository.rb:1134:in `merge_base'
app/models/project.rb:479:in `merge_base_commit'
app/models/merge_request.rb:288:in `branch_merge_base_commit'
app/models/merge_request.rb:222:in `diff_base_commit'
app/controllers/projects/merge_requests_controller.rb:667:in `define_new_vars'
app/controllers/projects/merge_requests_controller.rb:233:in `block (2 levels) in new'
app/controllers/projects/merge_requests_controller.rb:232:in `new'
lib/gitlab/middleware/multipart.rb:93:in `call'
lib/gitlab/request_profiler/middleware.rb:14:in `call'
lib/gitlab/middleware/go.rb:16:in `call'
lib/gitlab/middleware/readonly_geo.rb:30:in `call'

Output of checks

No idea what this means.

Results of GitLab environment info

We don't have access to githost.io instance to run this. Version is GitLab Enterprise Edition 8.17.0-ee 22400e67 .

Results of GitLab application Check

We don't have access to githost.io instance to run this.

Possible fixes

Unknown

Assignee Loading
Time tracking Loading