Link.__deepcopy__ silently drops collision geometry (coal pickling limitation)
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 48/100
Piste de recherche
Exécutez test_ERobot.py, puis test_Link.py::TestDHLink::test_copy avec --tb=long. Suivez la chaîne d’attributs depuis le DHLink nouvellement créé jusqu’au coal CollisionObject via l’état partagé de Link ou Robot. Le travail est terminé lorsque la référence partagée involontaire est supprimée ou rendue weak-referenced, et que le test de copie ciblé emprunte le chemin d’avertissement sans perdre de géométrie sans rapport.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Migrated from tech-debt.md (deleted, see repo history via git log -- tech-debt.md).
Link.__deepcopy__ silently drops coal CollisionObject instances because the coal library doesn't support pickling. The current workaround warns at runtime when shapes are lost.
Root cause: a fresh DHLink can reach the coal objects of an unrelated URDF robot through shared class-level state in Link or Robot (exact attribute TBD). This means:
- Copied DH links that happen to run after URDF robot tests lose nothing (DH links have no collision shapes), so the warning path is never exercised in isolation.
- If the shared reference is ever followed for other purposes (iteration, serialisation) it could cause similar failures or unexpected aliasing.
Proper fix: obtain the full deepcopy traceback with --tb=long when running test_ERobot.py followed by test_Link.py::TestDHLink::test_copy, trace which attribute chain connects the fresh DHLink to a coal object, and remove or weak-ref that shared state.
- Langage dominant
- C++
- Étoiles
- 3.6k
- Forks
- 645
- Merge moyen
- 1 j 8 h
- PR mergées (30 j)
- 144
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire 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.
Autres issues de petercorke/robotics-toolbox-python
-
plt.pause(0) waits for ever: PoseGraph.plot_scan(pause=0) and Vehicle animation may hangPeut-être pris @huxiaoyi-ovo l’a pris il y a 2 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
petercorke/robotics-toolbox-python#876 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
petercorke/robotics-toolbox-python#709 ·
Les mainteneurs répondent en général sous 1 jour
-
tech-debt
Difficulté 4/5 1-2 jours Accessibilité débutants 55/100
petercorke/robotics-toolbox-python#898 ·
Les mainteneurs répondent en général sous 1 jour
-
LatticePlanner: integer headings, and motion primitives with finer turn steps (design first)Peut-être pris @kVinsom l’a pris il y a 2 jours. Ouverteenhancement help wanted
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
petercorke/robotics-toolbox-python#895 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
tech-debt
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 18/100
petercorke/robotics-toolbox-python#894 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de petercorke/robotics-toolbox-python
Issues similaires
-
extended_stabilizer: `std::pow(2, p/2.)` in `scalar_t::to_complex()` takes ~40% of runtime on LinuxPeut-être pris @mehmetniyazikayi l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
Qiskit/qiskit-aer#2502 ·
Les mainteneurs répondent en général sous 1 jour
-
Test failure on FreeBSD: #26 unexpected system_clock sourcePeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouvertelow priority rt_lib tests
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
RobLoach/raylib-cpp#440 · 2 commentaires ·
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 85/100
Les mainteneurs répondent en général sous 1 jour