rez-pkg-cache --clean fails when it encounters malformed json
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 45/100
Línea de trabajo
La ruta de fallo está indicada en rez/package_cache.py: get_variants() es llamada por clean() a través del punto de entrada rez-pkg-cache. Reprodúcelo con un a.json vacío y verifica después que rez-pkg-cache --clean finaliza correctamente, trata la variante malformada como no almacenada en caché y permite que una solicitud posterior de caché la recupere.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Situation:
Local drive where cache dir is set ran out of space, this caused a package cache to write an empty a.json file to cached variant folder
Now most rez-pkg-cache calls fail with:
>rez-pkg-cache --clean
Traceback (most recent call last):
File "<frozen runpy>", line 198, in _run_module_as_main
File "<frozen runpy>", line 88, in _run_code
File "C:\opt\rez\bin\rez\rez-pkg-cache.exe\__main__.py", line 7, in <module>
File "c:\opt\rez\3.2.1\Lib\site-packages\rez\cli\_entry_points.py", line 190, in run_rez_pkg_cache
return run("pkg-cache")
^^^^^^^^^^^^^^^^
File "c:\opt\rez\3.2.1\Lib\site-packages\rez\cli\_main.py", line 189, in run
returncode = run_cmd()
^^^^^^^^^
File "c:\opt\rez\3.2.1\Lib\site-packages\rez\cli\_main.py", line 181, in run_cmd
return func(opts, opts.parser, extra_arg_groups)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "c:\opt\rez\3.2.1\Lib\site-packages\rez\cli\pkg-cache.py", line 167, in command
pkgcache.clean()
File "c:\opt\rez\3.2.1\Lib\site-packages\rez\package_cache.py", line 698, in clean
for variant, rootpath, status in self.get_variants():
^^^^^^^^^^^^^^^^^^^
File "c:\opt\rez\3.2.1\Lib\site-packages\rez\package_cache.py", line 586, in get_variants
data = json.loads(f.read())
^^^^^^^^^^^^^^^^^^^^
File "C:\opt\python\py311\Lib\json\__init__.py", line 346, in loads
return _default_decoder.decode(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\opt\python\py311\Lib\json\decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\opt\python\py311\Lib\json\decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Environment
- OS Windows 10
- Rez version 3.2.1
- Rez python version 3.11
To reproduce rm contents of a.json file in a cached variant
Ideally it would be good if the malformed variant was ignored and seen as not cached, so the next occurrence of the variant being called to cache, will fix the issue
- Lenguaje dominante
- Python
- Estrellas
- 1.1k
- Forks
- 373
- Merge medio
- 3 d 10 h
- PR fusionados (30 d)
- 6
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 AcademySoftwareFoundation/rez
-
documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
AcademySoftwareFoundation/rez#2205 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
_rez_fwd ++version causes exception with ++versionsPosiblemente ocupada @ClementHector la tomó hace 14 días. Abiertobug difficulty/medium help wanted rez-suite
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
AcademySoftwareFoundation/rez#2046 · 2 comentarios · 1 asignado ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
AcademySoftwareFoundation/rez#2211 ·
Los mantenedores suelen responder en 1 día
-
bug package-definition
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
AcademySoftwareFoundation/rez#2173 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 30/100
AcademySoftwareFoundation/rez#2166 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de AcademySoftwareFoundation/rez
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
letsencrypt/cp-cps#353 ·
-
Marble Madness II is missingAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
PedestrianDynamics/pyFDS-Evac#394 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
DOI-USGS/pywatershed#421 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
python-pillow/Pillow#10087 · 1 comentario ·
Los mantenedores suelen responder en 1 día