Special characters in the commit message causes Bamboo to crash if the file encoding is wrong

お困りですか?

アトラシアン コミュニティをご利用ください。

コミュニティに質問

症状

Committing a changeset with special characters causes Bamboo to fail with the following error message in the atlassian-bamboo.log file:

java.lang.RuntimeException: com.atlassian.bamboo.plugins.hg.HgCommandException: command [C:\Program
 Files\TortoiseHg\hg.exe, log, --follow, --style, 
C:\Windows\Temp\hg.style5963527991958284672.tmp, --rev, 
89b03bf5695c60657b57a7a817317632deafe4c2:0, --config, ui.ssh=ssh -o 
StrictHostKeyChecking=no -o BatchMode=yes, --limit, 1] failed. 
Working directory was `C:\Program Files\Atlassian\Application 
Data\Bamboo\xml-data\build-dir_hg-repositories-cache\7294473af8196ac76d70c34d76732c6012ae1153'.
 stderr:  stdout: <?xml version="1.0"?><log><logentry 
revision="25" 
node="89b03bf5695c60657b57a7a817317632deafe4c2"><author 
email="gcraimundo">gcraimundo</author><date>2012-07-02T11:52:39+01:00</date><parents></parents><msg
 xml:space="preserve">Teste com caracteres Tugas e não só - Coração, 
pé, sofá, à, ó, über, è, 
€</msg><paths><path>SaphetyTab/UnitTests/UnitTest1.cs</path></paths></logentry>
 
    at com.atlassian.bamboo.executor.RetryingTaskExecutor.rerun(RetryingTaskExecutor.java:119)
 
    at com.atlassian.bamboo.executor.RetryingTaskExecutor.runTask(RetryingTaskExecutor.java:79)
 
    at com.atlassian.bamboo.executor.RetryingTaskExecutor.retry(RetryingTaskExecutor.java:174)
 
    at 
com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectionChangesWithRetry(DefaultChangeDetectionManager.java:396)
 
    at 
com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuild(DefaultChangeDetectionManager.java:256)
 
    at 
com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceRevisions(DefaultChangeDetectionManager.java:214)
 
    at 
com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceRevisions(DefaultChangeDetectionManager.java:139)
 
    at 
com.atlassian.bamboo.v2.trigger.DefaultChangeDetectionManager.collectChangesSinceLastBuildIfTriggered(DefaultChangeDetectionManager.java:118)
 
    at com.atlassian.bamboo.v2.trigger.ChangeDetectionListenerAction.process(ChangeDetectionListenerAction.java:95)
 
    at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.createChainState(ChainExecutionManagerImpl.java:245)
 
    at com.atlassian.bamboo.chains.ChainExecutionManagerImpl.start(ChainExecutionManagerImpl.java:168)
 
    at sun.reflect.GeneratedMethodAccessor290.invoke(Unknown Source)
 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 
    at java.lang.reflect.Method.invoke(Unknown Source)
 
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
 
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
 
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
 
    at $Proxy81.start(Unknown Source)
 
    at sun.reflect.GeneratedMethodAccessor290.invoke(Unknown Source)
 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 
    at java.lang.reflect.Method.invoke(Unknown Source)
 
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:304)
 
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
 
    at $Proxy82.start(Unknown Source)
 
    at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.startWithLockTaken(PlanExecutionManagerImpl.java:249)
 
    at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.access$100(PlanExecutionManagerImpl.java:40)
 
    at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1.call(PlanExecutionManagerImpl.java:236)
 
    at com.atlassian.bamboo.plan.PlanExecutionManagerImpl$1.call(PlanExecutionManagerImpl.java:230)
 
    at com.atlassian.util.concurrent.ManagedLocks$ManagedLockImpl.withLock(ManagedLocks.java:324)
 
    at com.atlassian.bamboo.plan.PlanExecutionLockServiceImpl.lock(PlanExecutionLockServiceImpl.java:68)
 
    at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.doWithProcessLock(PlanExecutionManagerImpl.java:360)
 
    at com.atlassian.bamboo.plan.PlanExecutionManagerImpl.start(PlanExecutionManagerImpl.java:229)
 
    at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$1.call(NonBlockingPlanExecutionServiceImpl.java:70)
 
    at com.atlassian.bamboo.plan.NonBlockingPlanExecutionServiceImpl$1.call(NonBlockingPlanExecutionServiceImpl.java:61)
 
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
 
    at java.util.concurrent.FutureTask.run(Unknown Source)
 
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
 
    at com.atlassian.bamboo.build.pipeline.concurrent.NamedThreadFactory$2.run(NamedThreadFactory.java:50)
 
    at java.lang.Thread.run(Unknown Source)
 
Caused by: com.atlassian.bamboo.plugins.hg.HgCommandException: command [C:\Program
 Files\TortoiseHg\hg.exe, log, --follow, --style, 
C:\Windows\Temp\hg.style5963527991958284672.tmp, --rev, 
89b03bf5695c60657b57a7a817317632deafe4c2:0, --config, ui.ssh=ssh -o 
StrictHostKeyChecking=no -o BatchMode=yes, --limit, 1] failed. 
Working directory was `C:\Program Files\Atlassian\Application 
Data\Bamboo\xml-data\build-dir_hg-repositories-cache\7294473af8196ac76d70c34d76732c6012ae1153'.
 stderr:  stdout: <?xml version="1.0"?><log><logentry 
revision="25" 
node="89b03bf5695c60657b57a7a817317632deafe4c2"><author 
email="gcraimundo">gcraimundo</author><date>2012-07-02T11:52:39+01:00</date><parents></parents><msg
 xml:space="preserve">Teste com caracteres Tugas e não só - Coração, 
pé, sofá, à, ó, über, è, 
€</msg><paths><path>SaphetyTab/UnitTests/UnitTest1.cs</path></paths></logentry>
 
    at com.atlassian.bamboo.plugins.hg.HgCommandProcessor.runCommand(HgCommandProcessor.java:488)
 
    at com.atlassian.bamboo.plugins.hg.HgCommandProcessor.runCommand(HgCommandProcessor.java:446)
 
    at com.atlassian.bamboo.plugins.hg.HgCommandProcessor.getChangesetsSinceRevision(HgCommandProcessor.java:339)

 

原因

This is usually the case of wrong file encoding in the OS bamboo wrapper config.

ソリューション

Add the parameter wrapper.java.additional.x=-Dfile.encoding=UTF-8 to your $BAMBOO_INSTALL/conf/wrapper.cnf file, where x represents the next available digit in the list of additional configurable.

 

最終更新日 2013 年 6 月 27 日

この内容はお役に立ちましたか?

はい
いいえ
この記事についてのフィードバックを送信する
Powered by Confluence and Scroll Viewport.