Giter Club home page Giter Club logo

Comments (5)

dirk-thomas avatar dirk-thomas commented on June 20, 2024

using the paralell tool

What kind of tool is that?

This is because both instances of my colcon build command are trying to write to the same latest_build folder.

Each invocation will only write to the specific directory with the timestamp. So invoking the tool with the same verb at the same second is currently indeed a problem (both invocations using the same timestamp). I don't think that is your problem though.

The latest* symlinks are only created for the user for convenience. There could be a race condition if two invocations run through the same logic with checking and then creating the symlink.

Can you please provide a reproducible example.

from colcon-core.

dirk-thomas avatar dirk-thomas commented on June 20, 2024

Please try #130 which makes sure that each invocation gets a separate log directory and all FS calls which might be subject to a race are handling exceptions gracefully.

from colcon-core.

murphm8 avatar murphm8 commented on June 20, 2024

I'm using https://www.gnu.org/software/parallel/

The command is:

parallel < commands.txt

The contents of commands.txt is:

colcon build --base-paths ./workspace1 --build-base ./build/workspace1/build-output --install-base ./build/workspace1/install-output
colcon build --base-paths ./workspace2 --build-base ./build/workspace2/build-output --install-base ./build/workspace2/install-output

The environment has COLCON_LOG_PATH set to /home/ec2-user/build/logs. My current working directory is /home/ec2-user. Maybe it should be possible to set the log directory via a command line argument?

from colcon-core.

dirk-thomas avatar dirk-thomas commented on June 20, 2024

I can't make it fail with similar commands (e.g. building a ROS 2 workspace twice in parallel). Maybe it is related to your filesystem? Mine is on a SSD which will be less likely to run into a race condition due to its speed.

Please try #130 since it clearly separates your two log directories. Please comment here with your results.

from colcon-core.

murphm8 avatar murphm8 commented on June 20, 2024

I successfully ran the build in parallel with your changes. Thanks for the solution!

from colcon-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.