Uploaded image for project: 'FishEye'
  1. FishEye
  2. FE-5239

File encoding change causes indexing of SVN repository to crash

    XMLWordPrintable

Details

    Description

      When file encoding is changed (eg. from UTF-8 to UTF-16) it causes repository indexing to ctash with a following stack trace:

      2014-06-14 22:28:54,239 DEBUG [SvnExecution5 utf16] fisheye SvnTask-run - Executing svn diff -r 1:2 file:///home/czawadka/repos/utf16.svn@2
      2014-06-14 22:28:54,251 ERROR [InitialPinger2 utf16] fisheye SvnDiffParser-reportError - Error processing diff 1:2 in /home/czawadka/sources/fe/output/dist_inst/var/tmp/utf16/FESVNW_4671838859566393438 - Unexpec
      ted line in overall diff at 1
      2014-06-14 22:28:54,252 DEBUG [InitialPinger2 utf16] fisheye Timer-output - <- Processing diff paths for 2  time 13 millis mem_usage = 269446936 heapsize = 293666816 freemem = 24219880
      2014-06-14 22:28:54,252 DEBUG [InitialPinger2 utf16] fisheye BaseRevisionCache-withDbWriteLock - Rolling back for priority 40
      2014-06-14 22:28:54,252 ERROR [InitialPinger2 utf16] fisheye BaseRepositoryScanner-handleSlurpException - Problem processing revisions from repo utf16 due to class com.cenqua.fisheye.rep.DbException - com.cenqua
      .fisheye.svn.diff.SvnDiffParsingException: Unexpected line in overall diff at 1
      com.cenqua.fisheye.rep.DbException: com.cenqua.fisheye.svn.diff.SvnDiffParsingException: Unexpected line in overall diff at 1
              at com.atlassian.fisheye.svn.Svn2Infill2Processor.processDiff(Svn2Infill2Processor.java:836)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor.processDiffPaths(Svn2Infill2Processor.java:737)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor.infillChangeSet(Svn2Infill2Processor.java:252)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor.access$100(Svn2Infill2Processor.java:81)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor$1.perform(Svn2Infill2Processor.java:124)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor$1.perform(Svn2Infill2Processor.java:113)
              at com.cenqua.fisheye.cache.BaseRevisionCache.withDbWriteLock(BaseRevisionCache.java:1036)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor.process(Svn2Infill2Processor.java:113)
              at com.atlassian.fisheye.svn.Svn2Scanner.slurpRepository(Svn2Scanner.java:209)
              at com.atlassian.fisheye.svn.Svn2Scanner.doSlurpTransaction(Svn2Scanner.java:178)
              at com.cenqua.fisheye.rep.BaseRepositoryScanner.ping(BaseRepositoryScanner.java:82)
              at com.cenqua.fisheye.rep.BaseRepositoryEngine.doSlurp(BaseRepositoryEngine.java:86)
              at com.cenqua.fisheye.rep.RepositoryEngine.slurp(RepositoryEngine.java:399)
              at com.cenqua.fisheye.rep.ping.IndexingPingRequest.doRequest(IndexingPingRequest.java:25)
              at com.cenqua.fisheye.rep.ping.IncrementalPingRequest.doRequest(IncrementalPingRequest.java:30)
              at com.cenqua.fisheye.rep.ping.PingRequest.process(PingRequest.java:51)
              at com.cenqua.fisheye.rep.RepositoryHandle.processPingRequests(RepositoryHandle.java:218)
              at com.cenqua.fisheye.rep.RepositoryHandle.access$100(RepositoryHandle.java:57)
              at com.cenqua.fisheye.rep.RepositoryHandle$2.run(RepositoryHandle.java:174)
              at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
              at java.lang.Thread.run(Thread.java:662)
      Caused by: com.cenqua.fisheye.svn.diff.SvnDiffParsingException: Unexpected line in overall diff at 1
              at com.cenqua.fisheye.svn.diff.SvnDiffParser.reportError(SvnDiffParser.java:127)
              at com.cenqua.fisheye.svn.diff.SvnDiffParser.process(SvnDiffParser.java:152)
              at com.atlassian.fisheye.svn.Svn2Infill2Processor.processDiff(Svn2Infill2Processor.java:834)
              ... 21 more
      

      Dump of sample SVN repository causing repository indexing to crash: utf16.dump
      svn diff -r 1:2 file:///home/czawadka/repos/utf16.svn@2 output: svn utf16-svn.diff, jsvn utf16-jsvn.diff - notice diff header for jsvn encoded as UTF-16. Moreover svn and jsvn contains output of readme.txt with 2 different encodings - ASCII and UTF-16

      Attachments

        1. utf16.dump
          1 kB
        2. utf16-jsvn.diff
          0.7 kB
        3. utf16-svn.diff
          0.4 kB

        Issue Links

          Activity

            People

              cmacneill Conor
              czawadka@atlassian.com Cezary Zawadka
              Votes:
              2 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - Not Specified
                  Not Specified
                  Logged:
                  Time Spent - 0.95h
                  0.95h