Details
-
Bug
-
Resolution: Duplicate
-
Low
-
None
-
3.3.2, 3.3.1
-
None
-
None
Description
Yesterday our Crucible threw the following error:
Repository index failed due to error com.cenqua.fisheye.rep.RepositoryClientExoeption: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.utils.process.ProcessException: While executing: "git whatchanged --always --reverse --date-order -m ‐-no-abbrev -C --find-copies-harder 5e2ebe6a0aa239635ddc91d8064636436f759f38..ab78600b4b48f1efefd7871f55750943c1963dee --pretty=format:C:%H%nP:%P%nA:%aN%nE:%aE%nR:%cN%nF:%cE%nD:%at%n5:%s%nB:%b%n@@fe_body_end@@" in [/var/www/fecru/var/cache/in/clone] com.atlassian.utils.process.ProcessException: com.atlassian.fisheye.dvcs.handler.DvcsProcessRuntimeException: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.fisheye.dvcs.handler.DvcsProcessRuntimeException: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.fisheye.dvcs.handler.DvcsProcessException: Error while communicating with VCS: com.atlassian.utils.process.ProcessException: While executing: "git diff -C --find-copies-harder --no-abbrev --full-index -UO 46b53509c9d384f697306480993df888c9058f..61d862daa5290309d708d365423a998377d584b4" in [/var/www/fecru/var/cache/in/clone] com.atlassian.utils.process.ProcessException: java.lang.StringIndexOutOfBoundsException: String index out of range: 209 java.lang.StringIndexOutOfBoundsException: String index out of range: 209
Having no idea what to look for (since the error doesn't really point out the problem), I ran this command to look for lines in the changes that are longer than 209 characters:
git diff -C --find-copies-harder --no-abbrev --full-index -U0 46b85af50ec9d384fe9730648c993dfe88c9c58f..61d862daa52e030ed7c8d36542aaee8377d584b4 | grep '.\{209,\}'
I found one interesting line:
diff --git a/vendor/liip/imagine-bundle/Liip/ImagineBundle/Tests/Fixtures/assets/%F0%C9%F0%F4%F0%F4%F0%F9.jpeg "b/vendor/liip/imagine-bundle/Liip/ImagineBundle/Tests/Fixtures/assets/\320\220\320\223\320\223\320\227.jpeg"
Calculating the line length with and without interpreting unicode characters looked promising as the candidate for this error. Having no other idea what makes Crucible complain, we rebased and removed that file and suddenly everything was working again.
So obviously there is something wrong in processing changes that contain filenames with unicode characters. I wonder that no one ran into this problem before (at least I didn't find a ticket related to that problem).
To reproduce the issue: just add a file containing unicode characters to the git repository (i.e. АГГЗ.txt) and let Crucible index the changes. That should trigger the error.
Attachments
Issue Links
- duplicates
-
FE-5176 git rename detection breaks on files with non ASCII characters in their names
- Closed