facebook / pyre-check

Performant type-checking for python.
https://pyre-check.org/
MIT License
6.8k stars 433 forks source link

Pyre does not work: ƛ Check command exited with non-zero return code: 1 #551

Open alega19 opened 2 years ago

alega19 commented 2 years ago

Pyre Bug

Bug description Does not work, returns exit_code = 1

Reproduction steps Ubuntu 18.04.6 LTS, python 3.7, current dir = /home/oleg

mkdir testpyre
cd testpyre
python3.7 -m venv .venv
source .venv/bin/activate
echo 'x: int = "string"' > main.py
pip install pyre-check==0.9.8
pyre init

I accept Default: . cat .pyre_configuration:

{
  "source_directories": [
    "."
  ],
  "taint_models_path": "/home/oleg/testpyre/.venv/lib"
}

pyre:

ƛ No watchman binary found. 
To enable pyre incremental, you can install watchman: https://facebook.github.io/watchman/docs/install
ƛ Defaulting to non-incremental check.
ƛ Using virtual environment site-packages in search path...
ƛ '/home/oleg/testpyre/.venv/local/lib/python3.7/dist-packages' does not match any paths.
ƛ '/home/oleg/testpyre/.venv/lib/python3/dist-packages' does not match any paths.
ƛ '/home/oleg/testpyre/.venv/lib/python3.7/dist-packages' does not match any paths.
ƛ '/home/oleg/.local/lib/python3.7/site-packages' does not match any paths.
ƛ Check command exited with non-zero return code: 1.

I try using flag -n pyre -n:

2021-12-08 20:14:48,407 [PID 29288] WARNING No watchman binary found. 
To enable pyre incremental, you can install watchman: https://facebook.github.io/watchman/docs/install
2021-12-08 20:14:48,408 [PID 29288] WARNING Defaulting to non-incremental check.
2021-12-08 20:14:48,409 [PID 29288] WARNING Using virtual environment site-packages in search path...
2021-12-08 20:14:48,410 [PID 29288] INFO No binary specified, looking for `pyre.bin` in PATH
2021-12-08 20:14:48,410 [PID 29288] INFO Could not determine the number of Pyre workers from configuration. Auto-set the value to 1.
2021-12-08 20:14:48,410 [PID 29288] WARNING '/home/oleg/testpyre/.venv/local/lib/python3.7/dist-packages' does not match any paths.
2021-12-08 20:14:48,410 [PID 29288] WARNING '/home/oleg/testpyre/.venv/lib/python3/dist-packages' does not match any paths.
2021-12-08 20:14:48,410 [PID 29288] WARNING '/home/oleg/testpyre/.venv/lib/python3.7/dist-packages' does not match any paths.
2021-12-08 20:14:48,412 [PID 29288] WARNING '/home/oleg/.local/lib/python3.7/site-packages' does not match any paths.
2021-12-08 20:14:48,412 [PID 29288] INFO No typeshed specified, looking for it...
2021-12-08 20:14:48,412 [PID 29288] INFO Found: `/home/oleg/testpyre/.venv/lib/pyre_check/typeshed`
2021-12-08 20:14:48,417 [PID 29288] INFO Writing arguments into /tmp/pyre_arguments_a6p3ay2l.json...
2021-12-08 20:14:48,417 [PID 29288] DEBUG Arguments:
{
  "source_paths": {
    "kind": "simple",
    "paths": [
      "/home/oleg/testpyre"
    ]
  },
  "search_paths": [
    "/home/oleg/testpyre/.venv/lib/python3.7/site-packages",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stdlib",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/DateTimeRange",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Deprecated",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Flask",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/JACK-Client",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Jinja2",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Markdown",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/MarkupSafe",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Pillow",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/PyMySQL",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/PyYAML",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Pygments",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Send2Trash",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/Werkzeug",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/aiofiles",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/annoy",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/appdirs",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/atomicwrites",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/aws-xray-sdk",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/babel",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/backports.ssl_match_hostname",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/backports_abc",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/beautifulsoup4",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/bleach",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/boto",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/braintree",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/cachetools",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/caldav",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/certifi",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/characteristic",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/chardet",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/click",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/click-spinner",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/colorama",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/commonmark",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/contextvars",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/croniter",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/cryptography",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/dataclasses",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/dateparser",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/decorator",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/docopt",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/docutils",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/editdistance",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/emoji",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/entrypoints",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/filelock",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/first",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/freezegun",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/frozendict",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/html5lib",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/httplib2",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/humanfriendly",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/itsdangerous",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/jmespath",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/jsonschema",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/mock",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/mypy-extensions",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/mysqlclient",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/oauthlib",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/orjson",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/paramiko",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/polib",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/prettytable",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/protobuf",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/psutil",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/psycopg2",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pyOpenSSL",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pyRFC3339",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pyaudio",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pycurl",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pyfarmhash",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pysftp",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pytest-lazy-fixture",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/python-dateutil",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/python-gflags",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/python-nmap",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/python-slugify",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pytz",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/pyvmomi",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/redis",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/requests",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/retry",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/selenium",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/setuptools",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/simplejson",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/singledispatch",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/six",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/slumber",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/stripe",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/tabulate",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/termcolor",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/toml",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/toposort",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/ttkthemes",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/typed-ast",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/tzlocal",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/ujson",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/vobject",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/waitress",
    "/home/oleg/testpyre/.venv/lib/pyre_check/typeshed/stubs/xxhash"
  ],
  "excludes": [],
  "checked_directory_allowlist": [
    "/home/oleg/testpyre"
  ],
  "checked_directory_blocklist": [],
  "extensions": [],
  "log_path": "/home/oleg/testpyre/.pyre",
  "global_root": "/home/oleg/testpyre",
  "debug": false,
  "python_version": {
    "major": 3,
    "minor": 7,
    "micro": 5
  },
  "shared_memory": {},
  "parallel": true,
  "number_of_workers": 1,
  "additional_logging_sections": [
    "-progress"
  ],
  "show_error_traces": false,
  "strict": false
}
2021-12-08 20:14:48,433 [PID 29288] DEBUG /home/oleg/testpyre/.venv/bin/pyre.bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/oleg/testpyre/.venv/bin/pyre.bin)
2021-12-08 20:14:48,433 [PID 29288] ERROR Check command exited with non-zero return code: 1.

Expected behavior I expect to see typing error message in main.py.

pyre rage > pyre_rage.log:

[pyre_rage.log](https://github.com/facebook/pyre-check/files/7677855/pyre_rage.log)
stroxler commented 2 years ago

Thanks for the bug report @alega19! I'll try to take a look soon, hopefully before end-of-week.

0xedward commented 2 years ago

Hey @alega19, I noticed the following in your pyre_rage.log:

2021-12-08 20:14:48,433 [PID 29288] DEBUG /home/oleg/testpyre/.venv/bin/pyre.bin: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /home/oleg/testpyre/.venv/bin/pyre.bin)

This post might provide a possible explanation for the error you are running into.

If you run sudo apt-get update && apt-get install --only-upgrade libc6 then run Pyre again, would it fix the issue you are running into?

kumpera commented 1 year ago

How do we solve this on linux environments where we cannot apt-get install?

d4l3k commented 1 year ago

@0xedward that doesn't help for ubuntu 18.04 LTS as 2.27-3ubuntu1.6 is the latest glibc version provided. Just ran into this with the latest pytorch docker image. 2.0.0-cuda11.7-cudnn8-devel