ros2 / ros2/ci

Failure to clone submodules if job gets aborted early

Open
#878 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Python
Stars
55
Forks
39
Avg merge
1d 13h
Merged PRs (30d)
7

Description

Generated by Generative AI

No

Operating System:
<PUT OS INFO HERE>
ROS version or commit hash:

rolling

RMW implementation (if applicable):

No response

RMW Configuration (if applicable):

No response

Client library (if applicable):

No response

'ros2 doctor --report' output
ros2 doctor --report
<COPY OUTPUT HERE>
Steps to reproduce issue
  1. Start a job on an agent on ci.ros2
  2. Abort it while it's cloning the repositories.
  3. Run a second job on the same agent on ci.ros2
  4. Jobs fails with failure to clone submodules.
Expected behavior

Job abort should not have cascading effects on subsequent builds.

Actual behavior

Workspace stays in a broken state making subsequent git clone request fail.

Additional information

Reported by @skyegalaxy happening both on ci_linux, ci_linux-rhel.

Failing job : https://ci.ros2.org/job/ci_linux-rhel/9128/

 > git submodule update --init --recursive linux_docker_resources/rticonnextdds-src # timeout=10
20:21:03 hudson.plugins.git.GitException: Command "git submodule update --init --recursive linux_docker_resources/rticonnextdds-src" returned status code 1:
20:21:03 stdout: 
20:21:03 stderr: error: The following untracked working tree files would be overwritten by checkout:
20:21:03 	README.md
20:21:03 	openssl-1.1.1k-6.0.1.25-host-x64Linux.rtipkg
20:21:03 	openssl-3.0.12-7.3.0-host-x64Linux.rtipkg
20:21:03 	openssl-3.0.12-7.3.0-target-x64Linux4gcc7.3.0.rtipkg
20:21:03 	openssl-3.5.5-7.7.0-host-x64Linux.rtipkg
20:21:03 	openssl-3.5.5-7.7.0-target-x64Linux4gcc8.5.0.rtipkg
20:21:03 	rti_connext_dds-6.0.1-pro-host-x64Linux.run.000
20:21:03 	rti_connext_dds-6.0.1-pro-host-x64Linux.run.001
20:21:03 	rti_connext_dds-6.0.1-pro-host-x64Linux.run.002
20:21:03 	rti_connext_dds-6.0.1-pro-host-x64Linux.run.003
20:21:03 	rti_connext_dds-6.0.1.25-pro-host-x64Linux.rtipkg.000
20:21:03 	rti_connext_dds-6.0.1.25-pro-host-x64Linux.rtipkg.001
20:21:03 	rti_connext_dds-6.0.1.25-pro-target-x64Linux4gcc7.3.0.rtipkg.000
20:21:03 	rti_connext_dds-6.0.1.25-pro-target-x64Linux4gcc7.3.0.rtipkg.001
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.001
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.002
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.003
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.004
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.005
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.006
20:21:03 	rti_connext_dds-7.3.0-pro-host-x64Linux.run.007
20:21:03 	rti_connext_dds-7.3.0-pro-target-x64Linux4gcc7.3.0.rtipkg.001
20:21:03 	rti_connext_dds-7.3.0-pro-target-x64Linux4gcc7.3.0.rtipkg.002
20:21:03 	rti_connext_dds-7.3.0-pro-target-x64Linux4gcc7.3.0.rtipkg.003
20:21:03 	rti_connext_dds-7.3.0-pro-target-x64Linux4gcc7.3.0.rtipkg.004
20:21:03 	rti_connext_dds-7.7.0-pro-host-x64Linux.run.000
20:21:03 Please move or remove them before you switch branches.
20:21:03 Aborting

Aborted job: https://ci.ros2.org/job/ci_linux-rhel/9127/

18:40:03  > git submodule update --init --recursive linux_docker_resources/rticonnextdds-src # timeout=10
18:44:35 $ ssh-agent -k
18:44:35 unset SSH_AUTH_SOCK;
18:44:35 unset SSH_AGENT_PID;
18:44:35 echo Agent pid 237946 killed;
18:44:35 [ssh-agent] Stopped.
18:44:35 Build was aborted

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the aborted ci_linux-rhel/9127 and failing ci_linux-rhel/9128 logs, focusing on the git submodule update for linux_docker_resources/rticonnextdds-src. Trace how the CI job handles an aborted clone and reuses the agent workspace. Done means a job aborted during cloning leaves the workspace usable and the next job clones its submodules successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
git
Domain
ci-cd, devops, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.