Uploaded image for project: 'Bamboo Data Center'
  1. Bamboo Data Center
  2. BAM-15112

java.util.UnknownFormatConversionException: Conversion = '\'

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Low
    • 5.7.0
    • 5.6.2
    • None

    Description

      Problem

      When a build fails, an error is thrown:

      2014-10-09 15:04:59,329 INFO [11-BAM::Camel Integration Agent::Agent:pool-26-thread-1] [DefaultErrorHandler] Recording an error: Error occurred while running Task 'Maven 3 test(3)' of type com.atlassian.bamboo.plugins.maven:task.builder.mvn3. : INT-9999-JOB1
      com.atlassian.bamboo.task.TaskException: Failed to execute task
      	at com.atlassian.bamboo.plugins.maven.task.Maven3BuildTask.execute(Maven3BuildTask.java:112)
      	at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:220)
      	at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:98)
      	at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:75)
      	at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:188)
      	at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:112)
      	at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:110)
      	at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:49)
      	at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:31)
      	at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:20)
      	at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:52)
      	at java.lang.Thread.run(Thread.java:662)
      Caused by: java.util.UnknownFormatConversionException: Conversion = '\'
      	at java.util.Formatter.checkText(Formatter.java:2503)
      	at java.util.Formatter.parse(Formatter.java:2467)
      	at java.util.Formatter.format(Formatter.java:2414)
      	at java.util.Formatter.format(Formatter.java:2367)
      	at java.lang.String.format(String.java:2769)
      	at com.atlassian.bamboo.task.TaskResultBuilder.checkReturnCode(TaskResultBuilder.java:155)
      	at com.atlassian.bamboo.task.TaskResultBuilder.checkReturnCode(TaskResultBuilder.java:137)
      	at com.atlassian.bamboo.plugins.maven.task.Maven3BuildTask.execute(Maven3BuildTask.java:86)
      	... 11 more
      
      

      The character reported in java.util.UnknownFormatConversionException: Conversion = '\' can be different. In this example it's a backslash, but it can be another character.

      Cause

      components/bamboo-api/src/main/java/com/atlassian/bamboo/task/TaskResultBuilder.java

      String logString = String.format("Failing task since return code of [" + externalProcess.getCommandLine() + "] was %d while expected %d", exitCode, expectedReturnCode);

      If the commandline contains a % (percentage sign), it is interpreted as the start of a format specifier by String.format().
      E.g. commandline = "dir %downloaddir%\foo"
      The first % is erroneously interpreted as a %d, but harmless.
      The second % is interpreted as {{%\ }}, which is not a valid format specifier.

      Workaround

      Avoid % (percentage sign) in your commandline and parameters.

      Attachments

        Activity

          People

            Unassigned Unassigned
            rverschoor Rene Verschoor (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: