Skip to content

UnboundLocalError: cannot access local variable 'updates' where it is not associated with a value #847

Description

@litebito

I noticed in the dashboard that my patchman server did not update everything correctly, so I ran patchman manually

/opt/patchman/.venv/bin/patchman --all

When doing that, I saw it failing with the following error:


Found metalink - https://mirrors.fedoraproject.org/metalink?repo=epel-10&arch=x86_64
45 Mirrors already exist (max=2), not adding more
Fetching rpm Repo data             : 100%|====================================================================================================================================| 4066/4066 [00:00<00:00, 11633042.34it/s]
Found yum rpm Repo - http://epel.grena.ge/10.3/Everything/x86_64/repodata/repomd.xml
Fetching Package data              : 100%|===============================================================================================================================| 4492437/4492437 [00:02<00:00, 1997528.30it/s]
Mirror Packages checksum has not changed, skipping Package refresh
No Module metadata found in http://epel.grena.ge/10.3/Everything/x86_64/repodata/repomd.xml
Fetching Errata data               : 100%|==============================================================================================================================| 2781499/2781499 [00:00<00:00, 36572409.63it/s]
Mirror Errata checksum has not changed, skipping Erratum refresh
Fetching rpm Repo data             : 100%|====================================================================================================================================| 4066/4066 [00:00<00:00, 13128591.27it/s]
Found yum rpm Repo - http://ftp.linux.edu.lv/epel/10.3/Everything/x86_64/repodata/repomd.xml
Fetching Package data              : 100%|===============================================================================================================================| 4492437/4492437 [00:01<00:00, 3492388.25it/s]
zstd: could not determine content size in frame header
Error parsing yum primary.xml from http://ftp.linux.edu.lv/epel/10.3/Everything/x86_64/repodata/3a686093e94c8bb452e98084bf58d33ed61cf50b37650d5b96819f392fd63d30-primary.xml.zst: syntax error: line 1, column 0
No Module metadata found in http://ftp.linux.edu.lv/epel/10.3/Everything/x86_64/repodata/repomd.xml
Fetching Errata data               : 100%|===============================================================================================================================| 2781499/2781499 [00:00<00:00, 7938365.66it/s]
zstd: could not determine content size in frame header
Error parsing updateinfo file from http://ftp.linux.edu.lv/epel/10.3/Everything/x86_64/repodata/c32180e8df4324f03cbb7bc6398959971efb5a033d6699a9f4be7b2a81b26f9a-updateinfo.xml.zst : syntax error: line 1, column 0
Traceback (most recent call last):
  File "/opt/patchman/.venv/bin/patchman", line 521, in <module>
    main()
  File "/opt/patchman/.venv/bin/patchman", line 515, in main
    showhelp = process_args(args)
               ^^^^^^^^^^^^^^^^^^
  File "/opt/patchman/.venv/bin/patchman", line 471, in process_args
    refresh_repos(args.repo, args.force)
  File "/opt/patchman/.venv/bin/patchman", line 126, in refresh_repos
    repo.refresh(force)
  File "/opt/patchman/.venv/lib64/python3.12/site-packages/repos/models.py", line 95, in refresh
    refresh_rpm_repo(self)
  File "/opt/patchman/.venv/lib64/python3.12/site-packages/repos/repo_types/rpm.py", line 40, in refresh_rpm_repo
    refresh_rpm_repo_mirrors(repo)
  File "/opt/patchman/.venv/lib64/python3.12/site-packages/repos/repo_types/rpm.py", line 98, in refresh_rpm_repo_mirrors
    refresh_yum_repo(mirror, repo_data, mirror_url, errata_only)
  File "/opt/patchman/.venv/lib64/python3.12/site-packages/repos/repo_types/yum.py", line 257, in refresh_yum_repo
    refresh_repomd_updateinfo(mirror, data, mirror_url)
  File "/opt/patchman/.venv/lib64/python3.12/site-packages/repos/repo_types/yum.py", line 189, in refresh_repomd_updateinfo
    extract_updateinfo(data, url)
  File "/opt/patchman/.venv/lib64/python3.12/site-packages/errata/sources/repos/yum.py", line 44, in extract_updateinfo
    extract_updateinfo_concurrently(updates, elen, max_workers)
                                    ^^^^^^^
UnboundLocalError: cannot access local variable 'updates' where it is not associated with a value
[root@host]#

I thought it was a bad mirror, so I disabled the mirror in the Patchman UI, and ran it again. After a while, again the same error for a different mirror.
I tried that a few times (disabling mirrors, hoping it would get past the error) but it keeps erroring out with a next mirror.

Any idea how we can fix this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions