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

rez-pkg-cache --clean fails when it encounters malformed json

Abierto
#2,016 1 comentario 0 reacciones 0 asignados Ver en GitHub

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
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
python
Área
cli, tooling

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

bug package-payload-cache

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

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 AcademySoftwareFoundation/rez

Todos los issues de AcademySoftwareFoundation/rez

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.