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

Fisheye cannot parse SCM output in different locale than english

    XMLWordPrintable

Details

    Description

      If SCM (in this case - mercurial) produces output in different locale than english we are not able to parse it and logging INFO message like this

      INFO  [30278:StdOutHandler XXX ] fisheye BaseLineOutputHandler-reportNonMatchingLine - Non-matching line 'XXXXXXXX               12146:228460ff45fe (geschlossen)' context '[--config, ui.verbose=false, branches, -c]'
      

      As a result of this "error" the exception might be thrown

      java.lang.IllegalStateException: Both branchInCache and branchInScm not specified in onBranchHeadUpdated
      	at com.atlassian.fisheye.hg.HgScanner.prepareBranchToBeStored(HgScanner.java:860)
      	at com.atlassian.fisheye.dvcs.DvcsScanner.updateBranchHead(DvcsScanner.java:220)
      	at com.atlassian.fisheye.dvcs.DvcsScanner.processRevisions(DvcsScanner.java:296)
      	at com.cenqua.fisheye.rep.LifecycleRepositoryScanner.slurpRepository(LifecycleRepositoryScanner.java:82)
      	at com.cenqua.fisheye.rep.LifecycleRepositoryScanner.doSlurpTransaction(LifecycleRepositoryScanner.java:49)
      	at com.cenqua.fisheye.rep.BaseRepositoryScanner.ping(BaseRepositoryScanner.java:73)
      	at com.cenqua.fisheye.rep.BaseRepositoryEngine.doSlurp(BaseRepositoryEngine.java:86)
      	at com.cenqua.fisheye.rep.RepositoryEngine.slurp(RepositoryEngine.java:414)
      	at com.cenqua.fisheye.rep.ping.IndexingPingRequest.doRequest(IndexingPingRequest.java:27)
      	at com.cenqua.fisheye.rep.ping.IncrementalPingRequest.doRequest(IncrementalPingRequest.java:30)
      	at com.cenqua.fisheye.rep.ping.PingRequest$1.run(PingRequest.java:55)
      	at com.cenqua.fisheye.util.NamedExecution.run(NamedExecution.java:27)
      	at com.cenqua.fisheye.rep.ping.PingRequest.process(PingRequest.java:52)
      	at com.cenqua.fisheye.rep.RepositoryHandle.processPingRequests(RepositoryHandle.java:217)
      	at com.cenqua.fisheye.rep.RepositoryHandle.access$100(RepositoryHandle.java:59)
      	at com.cenqua.fisheye.rep.RepositoryHandle$2.run(RepositoryHandle.java:173)
      	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      	at java.lang.Thread.run(Thread.java:724)
      

      Workaround

      Workaround #1

      Change locale of your fisheye user to english by putting the following line in .bashrc of Fisheye user.

      export LANGUAGE=en_US
      

      rerun .bashrc

      . ~/.bashrc
      

      and restart FishEye/Crucible instance

      Workaround #2

      Use the attached noThrow.btm Byteman script to force Fisheye ignore the error and continue indexing. Disable it afterwards. See https://confluence.atlassian.com/fishkb/enable-byteman-for-additional-logging-in-fisheye-and-crucible-943956769.html.

      Attachments

        1. noThrow.btm
          0.5 kB
        2. crucible-invalid-branch.zip
          9 kB

        Issue Links

          Activity

            People

              Unassigned Unassigned
              dlahn David Lahn (Inactive)
              Votes:
              3 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: