Details
-
Bug
-
Resolution: Unresolved
-
Low
-
None
-
6.8.1, 6.8.2, 6.10.2
-
None
-
1
-
Severity 3 - Minor
-
0
-
Description
Issue Summary
Build log is showing inaccurate information once we change an invalid "Working subdirectory" value for the script task to another (yet invalid) value.
Steps to Reproduce
- Create a new plan
- Add a Script task to it with an invalid path at the "Working subdirectory" field (Path/from/step2)
- Run the plan
- Change the "Working subdirectory" content to a different nonexistent path (Path/from/step4)
- Run the build again
Expected Results
It's expected the Job to fail in both cases because we are pointing the "Working subdirectory" to a non-existent path and we should see the correct non-existent path at the build logs
Actual Results
Both builds will fail but in the build logs for the second build (Step 5) we'll still see the error referencing the path set on step 2:
com.atlassian.bamboo.task.TaskException: Failed to execute task at com.atlassian.bamboo.plugins.shell.task.AbstractShellBuildTask.execute(AbstractShellBuildTask.java:65) at com.atlassian.bamboo.plugins.script.task.ScriptBuildTask.execute(ScriptBuildTask.java:68) at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$3(TaskExecutorImpl.java:319) at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:252) at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:319) at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:112) at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:73) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.executeBuildPhase(DefaultBuildAgent.java:204) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:176) at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.lambda$waitAndPerformBuild$0(BuildAgentControllerImpl.java:131) at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:185) at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:125) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:127) at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: The working directory /var/atlassian/application-data/bamboo/xml-data/build-dir/EB-TES-JOB1/Path/from/step2 must exist before executing the process at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at com.atlassian.bamboo.process.ProcessServiceImpl.createExternalProcess(ProcessServiceImpl.java:145) at com.atlassian.bamboo.process.ProcessServiceImpl.executeExternalProcess(ProcessServiceImpl.java:203) at com.atlassian.bamboo.process.ProcessServiceImpl.executeExternalProcess(ProcessServiceImpl.java:218) at com.atlassian.bamboo.plugins.shell.task.AbstractShellBuildTask.execute(AbstractShellBuildTask.java:48) ... 17 more
But if you look at the agent logs, you'll see that the task is failing with the correct directory (Path/from/step4):
2019-09-17 21:11:03,981 ERROR [20-BAM::Agente 3::Agent:pool-35-thread-1] [TaskExecutorImpl] Error occurred while running Task 'Test ScriptTask(3)' of type com.atlassian.bamboo.plugins.scripttask:task.builder.script. com.atlassian.bamboo.task.TaskException: Failed to execute task at com.atlassian.bamboo.plugins.shell.task.AbstractShellBuildTask.execute(AbstractShellBuildTask.java:65) at com.atlassian.bamboo.plugins.script.task.ScriptBuildTask.execute(ScriptBuildTask.java:68) at com.atlassian.bamboo.task.TaskExecutorImpl.lambda$executeTasks$3(TaskExecutorImpl.java:319) at com.atlassian.bamboo.task.TaskExecutorImpl.executeTaskWithPrePostActions(TaskExecutorImpl.java:252) at com.atlassian.bamboo.task.TaskExecutorImpl.executeTasks(TaskExecutorImpl.java:319) at com.atlassian.bamboo.task.TaskExecutorImpl.execute(TaskExecutorImpl.java:112) at com.atlassian.bamboo.build.pipeline.tasks.ExecuteBuildTask.call(ExecuteBuildTask.java:73) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.executeBuildPhase(DefaultBuildAgent.java:204) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent.build(DefaultBuildAgent.java:176) at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.lambda$waitAndPerformBuild$0(BuildAgentControllerImpl.java:131) at com.atlassian.bamboo.variable.CustomVariableContextImpl.withVariableSubstitutor(CustomVariableContextImpl.java:185) at com.atlassian.bamboo.v2.build.agent.BuildAgentControllerImpl.waitAndPerformBuild(BuildAgentControllerImpl.java:125) at com.atlassian.bamboo.v2.build.agent.DefaultBuildAgent$1.run(DefaultBuildAgent.java:127) at com.atlassian.bamboo.utils.BambooRunnables$1.run(BambooRunnables.java:48) at com.atlassian.bamboo.security.ImpersonationHelper.runWith(ImpersonationHelper.java:26) at com.atlassian.bamboo.security.ImpersonationHelper.runWithSystemAuthority(ImpersonationHelper.java:17) at com.atlassian.bamboo.security.ImpersonationHelper$1.run(ImpersonationHelper.java:41) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: The working directory /var/atlassian/application-data/bamboo/xml-data/build-dir/EB-TES-JOB1/Path/from/step4 must exist before executing the process at com.google.common.base.Preconditions.checkArgument(Preconditions.java:122) at com.atlassian.bamboo.process.ProcessServiceImpl.createExternalProcess(ProcessServiceImpl.java:145) at com.atlassian.bamboo.process.ProcessServiceImpl.executeExternalProcess(ProcessServiceImpl.java:203) at com.atlassian.bamboo.process.ProcessServiceImpl.executeExternalProcess(ProcessServiceImpl.java:218) at com.atlassian.bamboo.plugins.shell.task.AbstractShellBuildTask.execute(AbstractShellBuildTask.java:48) ... 17 more
If you set a valid subdirectory the build will pass
It does not matter how many times you change the "Working subdirectory" value. if is a non-existent path, the logs will still show the first one.
Workaround
Restarting Bamboo server will adjust the build log information