micro-ROS / micro-ROS/micro-ROS-demos
ping_pong rand() is not seeded so device ids are likely the same across nodes
Personne n'a encore pris cette issue.
- Langage dominant
- C
- Étoiles
- 101
- Forks
- 35
- Merge moyen
- 4 j 16 h
- PR mergées (30 j)
- 3
Description
Issue template
- Hardware description: docker only
- RTOS: N/A
- Installation type: a containerized version of https://micro.ros.org/docs/tutorials/core/first_application_linux/
- Version or commit hash: b86db303dd7aed7ed34de2e1c2f94300c2ba7e4e
- this patch to fix the stack corruption https://github.com/micro-ROS/micro-ROS-demos/pull/96
Steps to reproduce the issue
Build this repo on your target
cd /ros2_ws
. /opt/ros/humble/setup.bash
. install/local_setup.bash
colcon build --packages-select micro_ros_demos_rclc
/ros2_ws/install/micro_ros_demos_rclc/lib/micro_ros_demos_rclc/ping_pong
Expected behavior
I expect to see ping/pong messages
Actual behavior
You will see only Ping or only Pong messages
Additional information
Running on Ubuntu 24.04 host, docker compose driving a pair of containers to pubsub.
In my testing, seeding random with a nanosecond clock is sufficient to generate different device ids. I'd file a PR but I'd like to see if this was intended or maybe just an artifact of launching two container simultaneously
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par l’exécutable ping_pong du package micro_ros_demos_rclc et suivez l’initialisation de ses identifiants de périphérique et de l’état de rand(). Reproduisez le problème à l’aide des commandes colcon de build et de conteneur fournies, puis vérifiez que les deux conteneurs échangent des messages Ping et Pong avec des identifiants distincts.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- c
- Domaine
- distributed-systems, embedded-iot
- Type d'issue
- Bug
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 68/100