Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Link.__deepcopy__ silently drops collision geometry (coal pickling limitation)

Abierto
#577 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 2 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
48/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
robotics

Línea de trabajo

Ejecuta test_ERobot.py seguido de test_Link.py::TestDHLink::test_copy con --tb=long. Sigue la cadena de atributos desde el DHLink nuevo hasta el coal CollisionObject a través del estado compartido de Link o Robot. Se considera terminado cuando se elimina la referencia compartida no intencionada o se convierte en una weak reference, y el test de copia específico recorre la ruta de advertencia sin perder geometría no relacionada.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

tech-debt

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.

Lenguaje dominante
C++
Estrellas
3.5k
Forks
630
Merge medio
3 d 7 h
PR fusionados (30 d)
50

Preparar el entorno

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de petercorke/robotics-toolbox-python

Todos los issues de petercorke/robotics-toolbox-python

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.