Skip to content

Branch name omitted due to bad UTF-8 conversion by Gitaly ref handler

It looks like there is some issue with populating the branch cache with that branch name:

*** PRODUCTION *** production> proj.repository.expire_all_method_caches  
*** PRODUCTION *** production> proj.repository.branch_names.include?('FixSymbolsTitleDropdown')
Ignoring error converting IBM424_ltr into UTF8: U_FILE_ACCESS_ERROR
=> false

This seems similar to https://gitlab.com/gitlab-org/gitlab-ce/issues/39227.

Indeed, if I repeat that experiment:

[7] pry(main)> foo = 'refs/heads/FixSymbolsTitleDropdown'
=> "refs/heads/FixSymbolsTitleDropdown"
[8] pry(main)> CharlockHolmes::EncodingDetector.detect(foo)
=> {:type=>:text, :encoding=>"IBM424_ltr", :ruby_encoding=>"binary", :confidence=>17, :language=>"he"}

I thought we had resolved this in https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/12167, but it looks like we are hitting another case.

Original text:

We just noticed a merge request that is unmergable via GitLab UI: inkscape/inkscape!174 (merged)

GitLab claims "Source branch does not exist. Please restore it or use a different source branch", however the source branch does exist at https://gitlab.com/inkscape/inkscape/tree/FixSymbolsTitleDropdown and the generated diff proves the branch exists and is readable in principle.

Potentially related issues I noticed while checking why the branch was unmergable:

  • It's not possible to choose the relevant branch FixSymbolsTitleDropdown when creating a new merge request.
  • Using "Delete merged branches" currently does not work when executed from https://gitlab.com/inkscape/inkscape/branches
    Let me now if I should a separate report for this right away.
Edited by Stan Hu