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

File encoding change causes indexing of SVN repository to crash

      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

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

            [FE-5239] File encoding change causes indexing of SVN repository to crash

            The SVNKit bug has apparently been fixed now, so please verify this and include an updated SVNKit in the next FishEye release.

            Colin Finck added a comment - The SVNKit bug has apparently been fixed now, so please verify this and include an updated SVNKit in the next FishEye release.

            Raised http://issues.tmatesoft.com/issue/SVNKIT-515 to inform TMate about the problem with wrongly encoded diff headers.

            Cezary Zawadka added a comment - Raised http://issues.tmatesoft.com/issue/SVNKIT-515 to inform TMate about the problem with wrongly encoded diff headers.

            This also affects 3.4.4

            Colin Finck added a comment - This also affects 3.4.4

              cmacneill Conor (Inactive)
              czawadka@atlassian.com Cezary Zawadka
              Affected customers:
              2 This affects my team
              Watchers:
              5 Start watching this issue

                Created:
                Updated:
                Resolved:

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