Memory-sync mode still opens some files for writing
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- c
- Área
- cli, operating-systems
Línea de trabajo
Start with lib/download.c around the referenced retry branch and reproduce xbps-install with -MS both with and without root, comparing the saved strace output if available. Trace why memory-sync opens x86_64-repodata.part for writing and why the failure reports both an error and “Success”; done means memory-sync avoids unnecessary writes and reports the underlying failure accurately.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When using xbps-install with flags -MS, xbps will open the db (/var/db/xbps/) in write mode if a remote repo has changed since the last real sync.
This is apparent when running the command without root, where the openat() call fails. It also seems that when run as root, the same command does not actually use the opened file, as further runs of it without root will still present the error.
Using strace, the error (which I think comes from lib/download.c) seems to be this:
openat(AT_FDCWD, "x86_64-repodata.part", O_WRONLY|O_CREAT|O_TRUNC|O_CLOEXEC, 0644) = -1 EACCES (Permission denied)
It is in the retry branch of that if though, so maybe there's also an error before it.
There's also a secondary bug; this failure (both sync modes without root) causes a message that both claims failure and success
ERROR: [reposync] failed to fetch file `https://privatereporedacted/x86_64-repodata': Success
[DEBUG] [rpool] `https://privatereporedacted' failed to fetch repository data: Success
(the error line is part of normal output)
I have saved the full strace output of memorysync with and without root, and rootless normal sync. I can provide those if needed but not publicly over github.
- Lenguaje dominante
- C
- Estrellas
- 1.2k
- Forks
- 152
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin 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 void-linux/xbps
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 68/100
void-linux/xbps#475 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
void-linux/xbps#701 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
void-linux/xbps#700 ·
-
xbps-query -RX repository overridesPosiblemente ocupada @outofsyncrs la tomó hace 30 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
void-linux/xbps#696 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 52/100
void-linux/xbps#695 · 7 comentarios ·
Todos los issues de void-linux/xbps
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
openwrt/firmware-utils#82 ·
-
area:http-gateway good first issue priority:low type:bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
crazy-goat/php-fpm-ng#870 ·
Los mantenedores suelen responder en 1 día
-
Discover carries headerEdges that nothing reads since #1914 moved E0507/E0517 to the compiler graphAbiertotech-debt
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
2个显示的问题Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
coolsnowwolf/lede#14209 ·
-
Cannot run pico-hsm-tool.pyAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 75/100
polhenarejos/pico-hsm#147 ·