Call to "get cmdb" on Darwin outside of a task throws bash error
@stantheman0128 ya está trabajando en esto.
Desde el 23/9/2026.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Stack tecnológico
- perl
- Área
- devops, operating-systems
Línea de trabajo
Reproduce el problema con el Rexfile proporcionado en Darwin y, después, lee lib/Rex/Hardware/Memory.pm alrededor de la línea 193 y lib/Rex/Hardware/Swap.pm alrededor de la línea 143. Compara el comportamiento de get cmdb() fuera y dentro de una tarea. Se considera terminado cuando la llamada fuera de una tarea se completa sin emitir el error repetido free: command not found.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Describe the bug
Following bash message is shown twice on STDERR:
sh: free: command not found
How to reproduce it
Steps to reproduce the behavior:
- Add the following code in the main body of a Rexfile outside of a task:
get cmdb()
Shortest code example that demonstrates the bug:
use Rex -feature => [ qw( 1.4 ) ];
get cmdb();
task test => sub {
};
1;
Expected behavior
No error.
Circumstances
- Rex version: 11
- Perl version: 5.24.4
- OS running rex: Darwin (Catalina, 10.15.5)
- OS managed by rex: Darwin
Other
The error can be hacked around by change commenting out this line in Rex/Hardware/Memory:
https://github.com/RexOps/Rex/blob/master/lib/Rex/Hardware/Memory.pm#L193
and replace with:
$free_str = '';
The same hack needs to be done to the line at: https://github.com/RexOps/Rex/blob/master/lib/Rex/Hardware/Swap.pm#L143
Obviously these are not proper fixes and are provided here to help pinpoint the problem.
Finally, the bug does not occur when get cmdb() is called from inside a task.
- Lenguaje dominante
- Perl
- Estrellas
- 736
- Forks
- 217
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de RexOps/Rex
-
is_redhat() misses Rocky/Alma/CentOS Stream/Oracle Linux lsb_release IDs -> pkg dies "OS/Provider not supported"Posiblemente ocupada @stantheman0128 la tomó hace 18 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
-
triage needed
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
-
bug
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
-
triage needed
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
Todos los issues de RexOps/Rex
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
jimsalterjrs/sanoid#1116 · 1 reacción ·
-
Add .gitattributes so share/skel keeps LF on a Windows git checkoutPosiblemente ocupada @sadhana-s-codez la tomó hace 3 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
PerlDancer/Dancer2#1854 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
major/MySQLTuner-perl#1007 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100