intel / ccc-linux-guest-hardening

Linux Security Hardening for Confidential Compute
https://intel.github.io/ccc-linux-guest-hardening-docs
MIT License
63 stars 13 forks source link

Parsl: typeguard.TypeCheckError: argument "storage_access" (None) is not a list #123

Closed Wenzel closed 1 year ago

Wenzel commented 1 year ago

It seems that our parsl 2022.10.27 triggers a Typeguard checking issue: https://github.com/intel/ccc-linux-guest-hardening/blob/master/bkc/kafl/requirements.txt#L4

  File "/home/xxx/ccc-linux-guest-hardening/kafl/.venv/lib/python3.11/site-packages/parsl/config.py", line 94, in __init__
    executors = [ThreadPoolExecutor()]
                 ^^^^^^^^^^^^^^^^^^^^
  File "/home/xxx/ccc-linux-guest-hardening/kafl/.venv/lib/python3.11/site-packages/parsl/executors/threads.py", line 32, in __init__
    def __init__(self, label: str = 'threads', max_threads: int = 2,
  File "/home/xxx/ccc-linux-guest-hardening/kafl/.venv/lib/python3.11/site-packages/typeguard/_functions.py", line 135, in check_argument_types
    check_type_internal(value, annotation, memo)
  File "/home/xxx/ccc-linux-guest-hardening/kafl/.venv/lib/python3.11/site-packages/typeguard/_checkers.py", line 756, in check_type_internal
    checker(value, origin_type, args, memo)
  File "/home/xxx/ccc-linux-guest-hardening/kafl/.venv/lib/python3.11/site-packages/typeguard/_checkers.py", line 284, in check_list
    raise TypeCheckError("is not a list")
typeguard.TypeCheckError: argument "storage_access" (None) is not a list

Looking the storage_access type definition:

image

This should be swicthed to Optional[xxxx]

The latest version of parsl v2023.06.19 fixes this issue: https://github.com/Parsl/parsl/blob/2023.06.19/parsl/executors/threads.py#L31

image