-
Bug
-
Resolution: Answered
-
Low
-
3.8.1
-
Severity 3 - Minor
-
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.