-
-
Notifications
You must be signed in to change notification settings - Fork 3k
Closed
Labels
crashtopic-recursive-typestopic-type-aliasTypeAlias and other type alias issuesTypeAlias and other type alias issues
Description
Crash Report
While I was having no problems with MyPy 1.10, with MyPy 1.11.0, 1.11.1 I get segmentation faults, and an exception with the code installed as:
pip3 install git+https://github.com/python/mypy@fe15ee69b9225f808f8ed735671b73c31ae1bed8
By avoiding the segfaults, I get a KeyError: 'expr'
Traceback
{.env311-sf}{965/mypy-1.11.1} % mypy
Traceback (most recent call last):
File "/home/ariza/.env311-sf/bin/mypy", line 8, in <module>
sys.exit(console_entry())
^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/__main__.py", line 15, in console_entry
main()
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/main.py", line 102, in main
res, messages, blockers = run_build(sources, options, fscache, t0, stdout, stderr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/main.py", line 186, in run_build
res = build.build(sources, options, None, flush_errors, fscache, stdout, stderr)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/build.py", line 193, in build
result = _build(
^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/build.py", line 268, in _build
graph = dispatch(sources, manager, stdout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/build.py", line 2950, in dispatch
process_graph(graph, manager)
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/build.py", line 3341, in process_graph
process_fresh_modules(graph, prev_scc, manager)
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/build.py", line 3419, in process_fresh_modules
graph[id].load_tree()
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/build.py", line 2103, in load_tree
self.tree = MypyFile.deserialize(data)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 402, in deserialize
tree.names = SymbolTable.deserialize(data["names"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 4019, in deserialize
st[key] = SymbolTableNode.deserialize(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 3960, in deserialize
node = SymbolNode.deserialize(data["node"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 263, in deserialize
return method(data)
^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 3382, in deserialize
names = SymbolTable.deserialize(data["names"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 4019, in deserialize
st[key] = SymbolTableNode.deserialize(value)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 3960, in deserialize
node = SymbolNode.deserialize(data["node"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 263, in deserialize
return method(data)
^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/nodes.py", line 1092, in deserialize
type = None if data["type"] is None else mypy.types.deserialize_type(data["type"])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/types.py", line 224, in deserialize_type
return method(data)
^^^^^^^^^^^^
File "/home/ariza/.env311-sf/lib/python3.11/site-packages/mypy/types.py", line 997, in deserialize
original_str_expr=data["expr"],
~~~~^^^^^^^^
KeyError: 'expr'
To Reproduce
This results from running MyPy on a large code base that makes heavy use of TypeVarTuple and Unpack. I cannot isolate the issue but this can be reproduced within the following PR:
Your Environment
- Mypy version used: 1.11.0, 1.11.1
- Mypy command-line flags:
mypy --strict - Mypy configuration options from
mypy.ini(and other config files): https://github.com/static-frame/static-frame/blob/e235c34c1a25a97a36e24e5c584049bd2df31ebb/pyproject.toml#L26 - Python version used: 3.11
- Operating system and version: Ubuntu 20.04.3 LTS
Metadata
Metadata
Assignees
Labels
crashtopic-recursive-typestopic-type-aliasTypeAlias and other type alias issuesTypeAlias and other type alias issues