Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maximum call stack size exceeded (Maybe file too big?) #1751

Closed
zhen8838 opened this issue Sep 2, 2021 · 7 comments
Closed

Maximum call stack size exceeded (Maybe file too big?) #1751

zhen8838 opened this issue Sep 2, 2021 · 7 comments
Labels
bug Something isn't working fixed in next version (main) A fix has been implemented and will appear in an upcoming version

Comments

@zhen8838
Copy link

zhen8838 commented Sep 2, 2021

Environment data

  • Language Server version: 2021.9.0
  • OS and version: darwin arm64
  • Python version (and distribution if applicable, e.g. Anaconda): mambaforge/bin/python3
  • python.analysis.indexing: undefined
  • python.analysis.typeCheckingMode: off

Expected behaviour

autocomplete the class parameters.

截屏2021-09-02 23 45 07

Actual behaviour

截屏2021-09-02 23 44 55
I generate an ISA definition python file, It has a lot of code (about 15000 lines), yesterday autocomplete works very will but today the pylance can't autocomplete and raise the error message:

[Error - 11:50:43 PM] Request completionItem/resolve failed.
  Message: Request completionItem/resolve failed with message: Maximum call stack size exceeded
  Code: -32603 

Logs

Python Language Server Log

Click to expand Log
[Info  - 11:37:48 PM] Pylance language server 2021.9.0 (pyright 21562654) starting
[Info  - 11:37:48 PM] Server root directory: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist
[Info  - 11:37:48 PM] No configuration file found.
[Info  - 11:37:48 PM] No pyproject.toml file found.
[Info  - 11:37:48 PM] Setting pythonPath for service "gnne_kernel_generator": "/usr/bin/python3"
[Warn  - 11:37:48 PM] stubPath /Users/lisa/Documents/gnne_kernel_generator/typings is not a valid directory.
[Info  - 11:37:48 PM] Assuming Python version 3.8
[Info  - 11:37:48 PM] Assuming Python platform Darwin
Search paths for /Users/lisa/Documents/gnne_kernel_generator
  /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib
  /Users/lisa/Documents/gnne_kernel_generator
  /Users/lisa/Documents/nncase/out/build/m1-debug/lib
  /Users/lisa/Documents/nncase/out/build/m1-debug/python
  /Users/lisa/Documents/nncase/python/
  /Users/lisa/Documents/nncase/tests
  /Users/lisa/Documents/gnne_kernel_generator/typings
  /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stubs/...
  /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/bundled/stubs
  /Users/lisa/Documents/nncase/out/build/m1-debug/lib
  /Users/lisa/Documents/nncase/out/build/m1-debug/python
  /Users/lisa/Documents/nncase/python
  /Users/lisa/Documents/nncase/tests
  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8
  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/lib-dynload
  /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages
[Info  - 11:37:48 PM] Searching for source files
[Info  - 11:37:48 PM] Found 39 source files
IntelliCode model /Users/lisa/.vscode/extensions/visualstudioexptteam.vscodeintellicode-1.2.14/cache/E61945A9A512ED5E1A3EE3F1A2365B88F8FE_E4E9EADA96734F01970E616FAB2FAC19
[Info  - 11:37:48 PM] Background analysis(1) root directory: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist
[Info  - 11:37:48 PM] Background analysis(1) started
Background analysis message: setConfigOptions
Background analysis message: setImportResolver
Background analysis message: ensurePartialStubPackages
Background analysis message: setTrackedFiles
Background analysis message: markAllFilesDirty
Background analysis message: setFileOpened
Background analysis message: analyze
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]   parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (34ms)
[BG(1)]   parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 5ms] (69ms)
[BG(1)]   binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/builtins.pyi (18ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/quote_types.py [fs read 1ms] (4ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/quote_types.py (0ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/isa.py [fs read 2ms] (121ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/isa.py ...
[BG(1)]       parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing.pyi [fs read 1ms] (9ms)
[BG(1)]       binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing.pyi (6ms)
[BG(1)]       parsing: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/cfg.py [fs read 0ms] (12ms)
[BG(1)]       binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/cfg.py (6ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/isa.py (91ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/mfu.py [fs read 1ms] (9ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/mfu.py (3ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (233ms)
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 0ms] (3ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (1ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 1ms] (1ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing_extensions.pyi (1ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/__init__.py [fs read 1ms] (1ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/__init__.py (0ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/utils.py [fs read 0ms] (2ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/utils.py (0ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stubs/Jinja2/jinja2/__init__.pyi [fs read 0ms] (6ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stubs/Jinja2/jinja2/__init__.pyi (0ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stubs/Jinja2/jinja2/environment.pyi [fs read 0ms] (3ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stubs/Jinja2/jinja2/environment.pyi (1ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/kmodule/builder.py [fs read 0ms] (4ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/kmodule/builder.py (1ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/shadow/hook.py [fs read 0ms] (9ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/shadow/hook.py (2ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/ir/ccir.py [fs read 0ms] (2ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/ir/ccir.py (0ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/include/ir/types.py [fs read 0ms] (3ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/include/ir/types.py (1ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/abc.pyi [fs read 0ms] (1ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/abc.pyi (0ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/builtins/HashEnum.py [fs read 0ms] (0ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/builtins/HashEnum.py (0ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/enum.pyi [fs read 0ms] (1ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/enum.pyi (0ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/dataclasses.pyi [fs read 1ms] (2ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/dataclasses.pyi (1ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/types.py [fs read 0ms] (3ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/types.py (2ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/ir/__init__.py [fs read 1ms] (1ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/ir/__init__.py (0ms)
[BG(1)]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/ir/ccop.py [fs read 0ms] (0ms)
[BG(1)]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/ir/ccop.py (0ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/os/__init__.pyi [fs read 1ms] (7ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/os/__init__.pyi (5ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/io.pyi [fs read 0ms] (3ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/io.pyi (2ms)
[BG(1)]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/types.pyi [fs read 1ms] (8ms)
[BG(1)]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/types.pyi (1ms)
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (501ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (855ms)
Background analysis message: resumeAnalysis
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
[FG] parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (22ms)
[FG] parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/builtins.pyi [fs read 2ms] (47ms)
[FG] binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/builtins.pyi (18ms)
[FG] binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/quote_types.py [fs read 1ms] (6ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/quote_types.py (0ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/isa.py [fs read 1ms] (121ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/isa.py ...
[FG]     parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing.pyi [fs read 0ms] (9ms)
[FG]     binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing.pyi (7ms)
[FG]     parsing: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/cfg.py [fs read 1ms] (13ms)
[FG]     binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/cfg.py (6ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/isa.py (93ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/mfu.py [fs read 0ms] (8ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/gnne/mfu.py (3ms)
[FG] binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (235ms)
Background analysis message: analyze
[FG] completion at /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py:29:6 ...
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/types.py [fs read 0ms] (3ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/include/shadow/types.py (1ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/shadow/hook.py [fs read 1ms] (10ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/shadow/hook.py (2ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/builtins/HashEnum.py [fs read 0ms] (1ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/builtins/HashEnum.py (0ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/__init__.py [fs read 0ms] (1ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/__init__.py (0ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/utils.py [fs read 0ms] (1ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/jinjia/utils.py (0ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/kmodule/builder.py [fs read 0ms] (5ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/kmodule/builder.py (1ms)
[FG]   parsing: /Users/lisa/Documents/gnne_kernel_generator/src/ir/ccir.py [fs read 1ms] (5ms)
[FG]   binding: /Users/lisa/Documents/gnne_kernel_generator/src/ir/ccir.py (1ms)
[FG] completion at /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py:29:6 [found 260 items] (38ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]   parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (44ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (46ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
[FG] parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (0ms)
[FG] binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
Background analysis message: analyze
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]   parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (332ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (334ms)
Background analysis message: resumeAnalysis
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
[FG] parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[FG] binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (2ms)
[FG] completion at /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py:29:7 [found 81 items] (4ms)
[FG] completion at /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py:29:7 [found 81 items] (4ms)
Background analysis message: analyze
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]   parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (2ms)
[FG] parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi [fs read 0ms] (2ms)
[FG] binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/_typeshed/__init__.pyi (1ms)
[FG] parsing: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing_extensions.pyi [fs read 0ms] (1ms)
[FG] binding: /Users/lisa/.vscode/extensions/ms-python.vscode-pylance-2021.9.0/dist/typeshed-fallback/stdlib/typing_extensions.pyi (1ms)
[Error - 11:37:51 PM] Request completionItem/resolve failed.
  Message: Request completionItem/resolve failed with message: Maximum call stack size exceeded
  Code: -32603 
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (284ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (287ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
[FG] parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (3ms)
[FG] binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (2ms)
Background analysis message: analyze
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]   parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (2ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (284ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (287ms)
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: setFileOpened
Background analysis message: markFilesDirty
[FG] parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (2ms)
[FG] binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (2ms)
[Error - 11:37:54 PM] Request textDocument/signatureHelp failed.
  Message: Request textDocument/signatureHelp failed with message: Maximum call stack size exceeded
  Code: -32603 
Background analysis message: analyze
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py ...
[BG(1)]   parsing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (1ms)
[BG(1)]   binding: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (0ms)
[FG] completion at /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py:29:13 (145ms)
[Error - 11:37:54 PM] Request textDocument/completion failed.
  Message: Request textDocument/completion failed with message: Maximum call stack size exceeded
  Code: -32603 
[BG(1)]   checking: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (252ms)
[BG(1)] analyzing: /Users/lisa/Documents/gnne_kernel_generator/generator/gnne_unary.py (253ms)
Background analysis message: getDiagnosticsForRange
Background analysis message: resumeAnalysis
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: getDiagnosticsForRange
Background analysis message: markFilesDirty
Background analysis message: analyze

Code Snippet / Additional information

The single isa class, whole file has many classes like this:

Click to expand Code
class inst_xxxx(serialize_struct):
  """
  MFU.MN.CONF2
   
   - OPCODE opcode : 8  
   - MFU_MN_PORTIN in1 : 6 
   - MFU_MN_PORTIN in2 : 6 
   - MFU_MN_PORTIN in3 : 6  
   - MFU_MN_PORTIN in4 : 6 
   - MFU_MN_PORTIN in5 : 6 
   - MFU_MN_PORTIN in6 : 6 
   - MFU_MN_PORTIN in7 : 6 
   - MFU_MN_PORTIN in8 : 6
   - MFU_MN_PORTIN in9 : 6 
   - MFU_MN_PORTIN in10 : 6 
   - MFU_MN_PORTIN in11 : 6 
   - MFU_MN_PORTIN in12 : 6
   - MFU_MN_PORTIN in13 : 6 
   - MFU_MN_PORTIN in14 : 6 
   - MFU_MN_PORTIN in15 : 6 
   - MFU_MN_PORTIN in16 : 6 
   - MFU_MN_PORTIN in17 : 6 
   - MFU_MN_PORTIN in18 : 6
   - MFU_MN_PORTIN in19 : 6
   - MFU_MN_PORTIN in20 : 6
   - MFU_MN_PORTIN in21 : 6
   - MFU_MN_PORTIN in22 : 6
   - MFU_MN_PORTIN in23 : 6
   - MFU_MN_PORTIN in24 : 6
   - MFU_MN_PORTIN in25 : 6
   - MFU_MN_PORTIN in26 : 6
   - MFU_MN_PORTIN in27 : 6
   - MFU_MN_PORTIN in28 : 6
   - MFU_MN_PORTIN in29 : 6
   - MFU_MN_PORTIN in30 : 6
   - MFU_MN_PORTIN in31 : 6
   - MFU_MN_PORTIN in32 : 6
   - MFU_MN_PORTIN in33 : 6
   - MFU_MN_PORTIN in34 : 6
   - MFU_MN_PORTIN in35 : 6
   - MFU_MN_PORTIN in36 : 6
   - MFU_MN_PORTIN in37 : 6
   - MFU_MN_PORTIN in38 : 6
   - MFU_MN_PORTIN in39 : 6
   - MFU_MN_PORTIN in40 : 6
   - MFU_MN_PORTIN in41 : 6
   - MFU_MN_PORTIN in42 : 6
   - MFU_MN_PORTIN in43 : 6
   - MFU_MN_PORTIN in44 : 6
  """

  __opcode: [OPCODE, 8]  # type: ignore

  __in1: [MFU_MN_PORTIN, 6]  # type: ignore

  __in2: [MFU_MN_PORTIN, 6]  # type: ignore

  __in3: [MFU_MN_PORTIN, 6]  # type: ignore

  __in4: [MFU_MN_PORTIN, 6]  # type: ignore

  __in5: [MFU_MN_PORTIN, 6]  # type: ignore

  __in6: [MFU_MN_PORTIN, 6]  # type: ignore

  __in7: [MFU_MN_PORTIN, 6]  # type: ignore

  __in8: [MFU_MN_PORTIN, 6]  # type: ignore

  __in9: [MFU_MN_PORTIN, 6]  # type: ignore

  __in10: [MFU_MN_PORTIN, 6]  # type: ignore

  __in11: [MFU_MN_PORTIN, 6]  # type: ignore

  __in12: [MFU_MN_PORTIN, 6]  # type: ignore

  __in13: [MFU_MN_PORTIN, 6]  # type: ignore

  __in14: [MFU_MN_PORTIN, 6]  # type: ignore

  __in15: [MFU_MN_PORTIN, 6]  # type: ignore

  __in16: [MFU_MN_PORTIN, 6]  # type: ignore

  __in17: [MFU_MN_PORTIN, 6]  # type: ignore

  __in18: [MFU_MN_PORTIN, 6]  # type: ignore

  __in19: [MFU_MN_PORTIN, 6]  # type: ignore

  __in20: [MFU_MN_PORTIN, 6]  # type: ignore

  __in21: [MFU_MN_PORTIN, 6]  # type: ignore

  __in22: [MFU_MN_PORTIN, 6]  # type: ignore

  __in23: [MFU_MN_PORTIN, 6]  # type: ignore

  __in24: [MFU_MN_PORTIN, 6]  # type: ignore

  __in25: [MFU_MN_PORTIN, 6]  # type: ignore

  __in26: [MFU_MN_PORTIN, 6]  # type: ignore

  __in27: [MFU_MN_PORTIN, 6]  # type: ignore

  __in28: [MFU_MN_PORTIN, 6]  # type: ignore

  __in29: [MFU_MN_PORTIN, 6]  # type: ignore

  __in30: [MFU_MN_PORTIN, 6]  # type: ignore

  __in31: [MFU_MN_PORTIN, 6]  # type: ignore

  __in32: [MFU_MN_PORTIN, 6]  # type: ignore

  __in33: [MFU_MN_PORTIN, 6]  # type: ignore

  __in34: [MFU_MN_PORTIN, 6]  # type: ignore

  __in35: [MFU_MN_PORTIN, 6]  # type: ignore

  __in36: [MFU_MN_PORTIN, 6]  # type: ignore

  __in37: [MFU_MN_PORTIN, 6]  # type: ignore

  __in38: [MFU_MN_PORTIN, 6]  # type: ignore

  __in39: [MFU_MN_PORTIN, 6]  # type: ignore

  __in40: [MFU_MN_PORTIN, 6]  # type: ignore

  __in41: [MFU_MN_PORTIN, 6]  # type: ignore

  __in42: [MFU_MN_PORTIN, 6]  # type: ignore

  __in43: [MFU_MN_PORTIN, 6]  # type: ignore

  __in44: [MFU_MN_PORTIN, 6]  # type: ignore

  def __init__(self,
               value: Union[bytes, str] = None,
               fields: Tuple[MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN, MFU_MN_PORTIN,
                             MFU_MN_PORTIN, MFU_MN_PORTIN] = None,
               ) -> None:
    cf_str = ''

    self.__in44 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in43 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in42 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in41 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in40 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in39 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in38 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in37 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in36 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in35 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in34 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in33 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in32 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in31 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in30 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in29 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in28 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in27 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in26 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in25 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in24 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in23 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in22 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in21 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in20 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in19 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in18 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in17 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in16 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in15 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in14 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in13 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in12 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in11 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in10 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in9 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in8 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in7 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in6 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in5 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in4 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in3 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in2 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__in1 = MFU_MN_PORTIN(0)
    cf_str += '>u6'
    self.__opcode = OPCODE(0)
    cf_str += '>u8'

    cf_str += '>'
    self.cf = bitstruct.compile(cf_str)
    self._cf_str = cf_str

    if isinstance(value, bytes):
      self.unpack(value)
    elif isinstance(value, str):
      try:
        h = binascii.unhexlify(value)
      except ValueError:
        h = None
      if h:
        self.unpack(h)
      else:
        self.deserialize(h)

    if fields is not None:
      self.fields(fields)

    self.opcode = OPCODE(145)

  def fields(
      self,
      in1: MFU_MN_PORTIN = None,
      in2: MFU_MN_PORTIN = None,
      in3: MFU_MN_PORTIN = None,
      in4: MFU_MN_PORTIN = None,
      in5: MFU_MN_PORTIN = None,
      in6: MFU_MN_PORTIN = None,
      in7: MFU_MN_PORTIN = None,
      in8: MFU_MN_PORTIN = None,
      in9: MFU_MN_PORTIN = None,
      in10: MFU_MN_PORTIN = None,
      in11: MFU_MN_PORTIN = None,
      in12: MFU_MN_PORTIN = None,
      in13: MFU_MN_PORTIN = None,
      in14: MFU_MN_PORTIN = None,
      in15: MFU_MN_PORTIN = None,
      in16: MFU_MN_PORTIN = None,
      in17: MFU_MN_PORTIN = None,
      in18: MFU_MN_PORTIN = None,
      in19: MFU_MN_PORTIN = None,
      in20: MFU_MN_PORTIN = None,
      in21: MFU_MN_PORTIN = None,
      in22: MFU_MN_PORTIN = None,
      in23: MFU_MN_PORTIN = None,
      in24: MFU_MN_PORTIN = None,
      in25: MFU_MN_PORTIN = None,
      in26: MFU_MN_PORTIN = None,
      in27: MFU_MN_PORTIN = None,
      in28: MFU_MN_PORTIN = None,
      in29: MFU_MN_PORTIN = None,
      in30: MFU_MN_PORTIN = None,
      in31: MFU_MN_PORTIN = None,
      in32: MFU_MN_PORTIN = None,
      in33: MFU_MN_PORTIN = None,
      in34: MFU_MN_PORTIN = None,
      in35: MFU_MN_PORTIN = None,
      in36: MFU_MN_PORTIN = None,
      in37: MFU_MN_PORTIN = None,
      in38: MFU_MN_PORTIN = None,
      in39: MFU_MN_PORTIN = None,
      in40: MFU_MN_PORTIN = None,
      in41: MFU_MN_PORTIN = None,
      in42: MFU_MN_PORTIN = None,
      in43: MFU_MN_PORTIN = None,
      in44: MFU_MN_PORTIN = None,
  ):
    if in1:
      self.in1 = in1
    if in2:
      self.in2 = in2
    if in3:
      self.in3 = in3
    if in4:
      self.in4 = in4
    if in5:
      self.in5 = in5
    if in6:
      self.in6 = in6
    if in7:
      self.in7 = in7
    if in8:
      self.in8 = in8
    if in9:
      self.in9 = in9
    if in10:
      self.in10 = in10
    if in11:
      self.in11 = in11
    if in12:
      self.in12 = in12
    if in13:
      self.in13 = in13
    if in14:
      self.in14 = in14
    if in15:
      self.in15 = in15
    if in16:
      self.in16 = in16
    if in17:
      self.in17 = in17
    if in18:
      self.in18 = in18
    if in19:
      self.in19 = in19
    if in20:
      self.in20 = in20
    if in21:
      self.in21 = in21
    if in22:
      self.in22 = in22
    if in23:
      self.in23 = in23
    if in24:
      self.in24 = in24
    if in25:
      self.in25 = in25
    if in26:
      self.in26 = in26
    if in27:
      self.in27 = in27
    if in28:
      self.in28 = in28
    if in29:
      self.in29 = in29
    if in30:
      self.in30 = in30
    if in31:
      self.in31 = in31
    if in32:
      self.in32 = in32
    if in33:
      self.in33 = in33
    if in34:
      self.in34 = in34
    if in35:
      self.in35 = in35
    if in36:
      self.in36 = in36
    if in37:
      self.in37 = in37
    if in38:
      self.in38 = in38
    if in39:
      self.in39 = in39
    if in40:
      self.in40 = in40
    if in41:
      self.in41 = in41
    if in42:
      self.in42 = in42
    if in43:
      self.in43 = in43
    if in44:
      self.in44 = in44
    return self

  def pack(self) -> bytes:
    return self.cf.pack(
        int(self.in44),
        int(self.in43),
        int(self.in42),
        int(self.in41),
        int(self.in40),
        int(self.in39),
        int(self.in38),
        int(self.in37),
        int(self.in36),
        int(self.in35),
        int(self.in34),
        int(self.in33),
        int(self.in32),
        int(self.in31),
        int(self.in30),
        int(self.in29),
        int(self.in28),
        int(self.in27),
        int(self.in26),
        int(self.in25),
        int(self.in24),
        int(self.in23),
        int(self.in22),
        int(self.in21),
        int(self.in20),
        int(self.in19),
        int(self.in18),
        int(self.in17),
        int(self.in16),
        int(self.in15),
        int(self.in14),
        int(self.in13),
        int(self.in12),
        int(self.in11),
        int(self.in10),
        int(self.in9),
        int(self.in8),
        int(self.in7),
        int(self.in6),
        int(self.in5),
        int(self.in4),
        int(self.in3),
        int(self.in2),
        int(self.in1),
        int(self.opcode),
    )[::-1]

  def unpack(self, data: bytes):
    assert len(data) == 34
    res = self.cf.unpack(data[::-1])
    assert res[-1] == 0x91
    (
        self.in44,
        self.in43,
        self.in42,
        self.in41,
        self.in40,
        self.in39,
        self.in38,
        self.in37,
        self.in36,
        self.in35,
        self.in34,
        self.in33,
        self.in32,
        self.in31,
        self.in30,
        self.in29,
        self.in28,
        self.in27,
        self.in26,
        self.in25,
        self.in24,
        self.in23,
        self.in22,
        self.in21,
        self.in20,
        self.in19,
        self.in18,
        self.in17,
        self.in16,
        self.in15,
        self.in14,
        self.in13,
        self.in12,
        self.in11,
        self.in10,
        self.in9,
        self.in8,
        self.in7,
        self.in6,
        self.in5,
        self.in4,
        self.in3,
        self.in2,
        self.in1,
        self.opcode,
    ) = res

  def __repr__(self):
    return 'inst_mfu_mn_conf2(\'' + self.pack().hex() + '\')'

  def __str__(self):
    res = 'inst_mfu_mn_conf2().fields(\n'
    res += '\tin1 = %s ,\n' % str(self.in1)
    res += '\tin2 = %s ,\n' % str(self.in2)
    res += '\tin3 = %s ,\n' % str(self.in3)
    res += '\tin4 = %s ,\n' % str(self.in4)
    res += '\tin5 = %s ,\n' % str(self.in5)
    res += '\tin6 = %s ,\n' % str(self.in6)
    res += '\tin7 = %s ,\n' % str(self.in7)
    res += '\tin8 = %s ,\n' % str(self.in8)
    res += '\tin9 = %s ,\n' % str(self.in9)
    res += '\tin10 = %s ,\n' % str(self.in10)
    res += '\tin11 = %s ,\n' % str(self.in11)
    res += '\tin12 = %s ,\n' % str(self.in12)
    res += '\tin13 = %s ,\n' % str(self.in13)
    res += '\tin14 = %s ,\n' % str(self.in14)
    res += '\tin15 = %s ,\n' % str(self.in15)
    res += '\tin16 = %s ,\n' % str(self.in16)
    res += '\tin17 = %s ,\n' % str(self.in17)
    res += '\tin18 = %s ,\n' % str(self.in18)
    res += '\tin19 = %s ,\n' % str(self.in19)
    res += '\tin20 = %s ,\n' % str(self.in20)
    res += '\tin21 = %s ,\n' % str(self.in21)
    res += '\tin22 = %s ,\n' % str(self.in22)
    res += '\tin23 = %s ,\n' % str(self.in23)
    res += '\tin24 = %s ,\n' % str(self.in24)
    res += '\tin25 = %s ,\n' % str(self.in25)
    res += '\tin26 = %s ,\n' % str(self.in26)
    res += '\tin27 = %s ,\n' % str(self.in27)
    res += '\tin28 = %s ,\n' % str(self.in28)
    res += '\tin29 = %s ,\n' % str(self.in29)
    res += '\tin30 = %s ,\n' % str(self.in30)
    res += '\tin31 = %s ,\n' % str(self.in31)
    res += '\tin32 = %s ,\n' % str(self.in32)
    res += '\tin33 = %s ,\n' % str(self.in33)
    res += '\tin34 = %s ,\n' % str(self.in34)
    res += '\tin35 = %s ,\n' % str(self.in35)
    res += '\tin36 = %s ,\n' % str(self.in36)
    res += '\tin37 = %s ,\n' % str(self.in37)
    res += '\tin38 = %s ,\n' % str(self.in38)
    res += '\tin39 = %s ,\n' % str(self.in39)
    res += '\tin40 = %s ,\n' % str(self.in40)
    res += '\tin41 = %s ,\n' % str(self.in41)
    res += '\tin42 = %s ,\n' % str(self.in42)
    res += '\tin43 = %s ,\n' % str(self.in43)
    res += '\tin44 = %s ,\n' % str(self.in44)
    res += ')'
    return res

  def deserialize(self, data: str):
    pass

  @classmethod
  def total_bytes(cls):
    return 34

  # getter and setters

  def __get_opcode(self):
    return self.__opcode

  def __set_opcode(self, value):

    assert (isinstance(value, (int, OPCODE)))
    self.__opcode = value if isinstance(value, OPCODE) else OPCODE(value)

  def __get_in1(self):
    return self.__in1

  def __set_in1(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in1 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in2(self):
    return self.__in2

  def __set_in2(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in2 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in3(self):
    return self.__in3

  def __set_in3(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in3 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in4(self):
    return self.__in4

  def __set_in4(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in4 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in5(self):
    return self.__in5

  def __set_in5(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in5 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in6(self):
    return self.__in6

  def __set_in6(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in6 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in7(self):
    return self.__in7

  def __set_in7(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in7 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in8(self):
    return self.__in8

  def __set_in8(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in8 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in9(self):
    return self.__in9

  def __set_in9(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in9 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in10(self):
    return self.__in10

  def __set_in10(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in10 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in11(self):
    return self.__in11

  def __set_in11(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in11 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in12(self):
    return self.__in12

  def __set_in12(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in12 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in13(self):
    return self.__in13

  def __set_in13(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in13 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in14(self):
    return self.__in14

  def __set_in14(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in14 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in15(self):
    return self.__in15

  def __set_in15(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in15 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in16(self):
    return self.__in16

  def __set_in16(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in16 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in17(self):
    return self.__in17

  def __set_in17(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in17 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in18(self):
    return self.__in18

  def __set_in18(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in18 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in19(self):
    return self.__in19

  def __set_in19(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in19 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in20(self):
    return self.__in20

  def __set_in20(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in20 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in21(self):
    return self.__in21

  def __set_in21(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in21 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in22(self):
    return self.__in22

  def __set_in22(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in22 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in23(self):
    return self.__in23

  def __set_in23(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in23 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in24(self):
    return self.__in24

  def __set_in24(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in24 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in25(self):
    return self.__in25

  def __set_in25(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in25 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in26(self):
    return self.__in26

  def __set_in26(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in26 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in27(self):
    return self.__in27

  def __set_in27(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in27 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in28(self):
    return self.__in28

  def __set_in28(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in28 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in29(self):
    return self.__in29

  def __set_in29(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in29 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in30(self):
    return self.__in30

  def __set_in30(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in30 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in31(self):
    return self.__in31

  def __set_in31(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in31 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in32(self):
    return self.__in32

  def __set_in32(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in32 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in33(self):
    return self.__in33

  def __set_in33(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in33 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in34(self):
    return self.__in34

  def __set_in34(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in34 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in35(self):
    return self.__in35

  def __set_in35(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in35 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in36(self):
    return self.__in36

  def __set_in36(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in36 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in37(self):
    return self.__in37

  def __set_in37(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in37 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in38(self):
    return self.__in38

  def __set_in38(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in38 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in39(self):
    return self.__in39

  def __set_in39(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in39 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in40(self):
    return self.__in40

  def __set_in40(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in40 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in41(self):
    return self.__in41

  def __set_in41(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in41 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in42(self):
    return self.__in42

  def __set_in42(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in42 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in43(self):
    return self.__in43

  def __set_in43(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in43 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  def __get_in44(self):
    return self.__in44

  def __set_in44(self, value):

    assert (isinstance(value, (int, MFU_MN_PORTIN)))
    self.__in44 = value if isinstance(
        value, MFU_MN_PORTIN) else MFU_MN_PORTIN(value)

  opcode = property(__get_opcode, __set_opcode)
  in1 = property(__get_in1, __set_in1)
  in2 = property(__get_in2, __set_in2)
  in3 = property(__get_in3, __set_in3)
  in4 = property(__get_in4, __set_in4)
  in5 = property(__get_in5, __set_in5)
  in6 = property(__get_in6, __set_in6)
  in7 = property(__get_in7, __set_in7)
  in8 = property(__get_in8, __set_in8)
  in9 = property(__get_in9, __set_in9)
  in10 = property(__get_in10, __set_in10)
  in11 = property(__get_in11, __set_in11)
  in12 = property(__get_in12, __set_in12)
  in13 = property(__get_in13, __set_in13)
  in14 = property(__get_in14, __set_in14)
  in15 = property(__get_in15, __set_in15)
  in16 = property(__get_in16, __set_in16)
  in17 = property(__get_in17, __set_in17)
  in18 = property(__get_in18, __set_in18)
  in19 = property(__get_in19, __set_in19)
  in20 = property(__get_in20, __set_in20)
  in21 = property(__get_in21, __set_in21)
  in22 = property(__get_in22, __set_in22)
  in23 = property(__get_in23, __set_in23)
  in24 = property(__get_in24, __set_in24)
  in25 = property(__get_in25, __set_in25)
  in26 = property(__get_in26, __set_in26)
  in27 = property(__get_in27, __set_in27)
  in28 = property(__get_in28, __set_in28)
  in29 = property(__get_in29, __set_in29)
  in30 = property(__get_in30, __set_in30)
  in31 = property(__get_in31, __set_in31)
  in32 = property(__get_in32, __set_in32)
  in33 = property(__get_in33, __set_in33)
  in34 = property(__get_in34, __set_in34)
  in35 = property(__get_in35, __set_in35)
  in36 = property(__get_in36, __set_in36)
  in37 = property(__get_in37, __set_in37)
  in38 = property(__get_in38, __set_in38)
  in39 = property(__get_in39, __set_in39)
  in40 = property(__get_in40, __set_in40)
  in41 = property(__get_in41, __set_in41)
  in42 = property(__get_in42, __set_in42)
  in43 = property(__get_in43, __set_in43)
  in44 = property(__get_in44, __set_in44)
@github-actions github-actions bot added the triage label Sep 2, 2021
@erictraut
Copy link
Contributor

Thanks for reporting the problem. This type of crash represents an internal bug in the type checker. It shouldn't occur, even for large files.

To diagnose this problem, we'll need a repro case. Does it occur in a piece of code that is checked in to a public repo? If so, I could clone the repo and repro it that way. If it's not in publicly-available code, could you try to find a minimal repro? That typically involves deleting code from the file until the problem goes away, then adding back the part that appears to lead to the crash.

@judej judej added the waiting for user response Requires more information from user label Sep 2, 2021
@github-actions github-actions bot removed the triage label Sep 2, 2021
@zhen8838
Copy link
Author

zhen8838 commented Sep 3, 2021

Hi

Thank you for such a quick reply. I made a minimal reproduce repo in here (python 3.7 and 3.8), Hope this helps you find the problem.

NOTE: maybe need to install the requirements pip install bitstruct.

@erictraut
Copy link
Contributor

Thanks for the quick repro case. I'm able to repro the error, and I'll investigate the cause.

@erictraut
Copy link
Contributor

I've found and fixed the cause of the crash. The fix will be in the next release.

@erictraut erictraut added bug Something isn't working fixed in next version (main) A fix has been implemented and will appear in an upcoming version and removed waiting for user response Requires more information from user labels Sep 3, 2021
@zhen8838
Copy link
Author

zhen8838 commented Sep 3, 2021

Thank you very much!

@zhen8838 zhen8838 closed this as completed Sep 3, 2021
@erictraut
Copy link
Contributor

We'll keep the bug open until we publish the fix as part of the next pylance release.

@erictraut erictraut reopened this Sep 3, 2021
@jakebailey
Copy link
Member

This issue has been fixed in version 2021.9.1, which we've just released. You can find the changelog here: https://github.com/microsoft/pylance-release/blob/main/CHANGELOG.md#202191-8-september-2021

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working fixed in next version (main) A fix has been implemented and will appear in an upcoming version
Projects
None yet
Development

No branches or pull requests

4 participants