Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#2,016 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Ferma
Stack tecnologico
python
Ambito
cli, tooling

Direzione di ricerca

Il percorso di errore è indicato in rez/package_cache.py: get_variants() viene chiamata da clean(), tramite l’entry point rez-pkg-cache. Riproducilo con un a.json vuoto, quindi verifica che rez-pkg-cache --clean termini correttamente, tratti la variante malformata come non memorizzata nella cache e consenta a una successiva richiesta della cache di recuperarla.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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

Lingua principale
Python
Stelle
1.1k
Fork
374
Merge medio
3g 10h
PR unite (30g)
6

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di AcademySoftwareFoundation/rez

Tutte le issue di AcademySoftwareFoundation/rez

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.