Unsupported JDK`s can cause builds to stay put in an incomplete state due to problem with log parsing

お困りですか?

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

コミュニティに質問

症状

When running a build, it hangs with the message that the build is incomplete and the build logs can not be viewed eventhough an incomplete version exist in the file system. Suggesting that parsing the build logs is not completed

The atlassian-bamboo.log shows the following:

java.lang.IllegalStateException: sun.io.MalformedInputException
	at org.apache.commons.io.LineIterator.hasNext(LineIterator.java:107)
	at com.atlassian.bamboo.build.logger.BuildLogFileAccessor.getLastNLogs(BuildLogFileAccessor.java:266)
	at com.atlassian.bamboo.build.ViewBuildLogs.retrieveBuildLogs(ViewBuildLogs.java:44)
	at com.atlassian.bamboo.build.ViewBuildLogs.doExecute(ViewBuildLogs.java:33)
	at com.atlassian.bamboo.ww2.BambooActionSupport.execute(BambooActionSupport.java:946)
	at sun.reflect.GeneratedMethodAccessor433.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:618)
	at com.opensymphony.xwork.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:358)
	at com.opensymphony.xwork.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:218)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:192)
	at com.opensymphony.xwork.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:175)
	at com.atlassian.bamboo.ww2.interceptors.BambooWorkflowInterceptor.doIntercept(BambooWorkflowInterceptor.java:33)
	at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
	at com.opensymphony.xwork.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:116)
	at com.atlassian.bamboo.ww2.interceptors.BambooValidationInterceptor.doIntercept(BambooValidationInterceptor.java:33)
	at com.opensymphony.xwork.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
	at com.atlassian.bamboo.ww2.interceptors.JSONValidationInterceptor.intercept(JSONValidationInterceptor.java:78)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)
	at com.opensymphony.xwork.interceptor.AroundInterceptor.intercept(AroundInterceptor.java:31)
	at com.opensymphony.xwork.DefaultActionInvocation.invoke(DefaultActionInvocation.java:190)

 

原因

You are most likely using an unsupported JDK against your Bamboo server or remote agent. So far, this issue is common with IBM JDK 1.5 on SUSE Linux OS. The root of the  problem is the $LANG environment variable where if the $LANG contains a locale with the ".UTF-8" suffix, Java expects all input files to be encoded using UTF-8.

ソリューション

A workaround that might help will be to change the encoding to something else which might also break other stuffs in future like weird characters not correctly displayed will be to change the encoding scheme. To do that, try the following:

  1.  Shutdown Bamboo
  2.  Navigate to the conf/wrapper.conf file and open it for edit
  3.  Add this line:

    wrapper.java.additional.5=-Dfile.encoding=ISO-8859-1

Please replace the number 5 with the next available digit in the series of java addditonals
   4.  Restart BAMBOO and check that your system encoding changes to ISO-8859-1 from the general configuration page.

If possible try to change the JDK to a supported one

最終更新日 2013 年 6 月 14 日

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

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