microsoft / pylance-release

Documentation and issues for Pylance
Creative Commons Attribution 4.0 International
1.7k stars 769 forks source link

Internal Error while Type Checking #6162

Closed AlokSwaminathan closed 1 month ago

AlokSwaminathan commented 1 month ago

Environment data

Code Snippet

from pwn import *

Version 4.12.0 of pwntools

Expected behavior

No internal error

Actual behavior

Throws error

Logs

An internal error occurred while type checking file "/Users/aswamina/Documents/code/test/test.py": Error: Debug Failure. False expression.
    at t.computeMroLinearization (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:977192)
    at /Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:767820
    at t.invalidateTypeCacheIfCanceled (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:1093823)
    at Jn (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:761462)
    at ja (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:813625)
    at qa (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:818357)
    at Ca (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:796132)
    at /Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:794313
    at Array.forEach (<anonymous>)
    at ba (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:794284)
    at wa (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:800649)
    at a.timeOperation (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:1210851)
    at W.visitImportFrom (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:96376)
    at W.visit (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:403227)
    at W.visitNode (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:408545)
    at W.walk (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:408424)
    at W.walk (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:75202)
    at /Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:408509
    at Array.forEach (<anonymous>)
    at W.walkMultiple (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:408488)
    at W.walk (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:408454)
    at W.walk (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:75202)
    at W._walkStatementsAndReportUnreachable (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:116243)
    at W.check (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:74819)
    at /Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:530009
    at a.timeOperation (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:1210851)
    at /Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:529911
    at t.LogTracker.log (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:1172343)
    at _0x43ea54.check (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:529817)
    at /Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:455887
    at t.LogTracker.log (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:1172343)
    at F._checkTypes (/Users/aswamina/.vscode/extensions/ms-python.vscode-pylance-2024.7.1/dist/pyright.bundle.js:1:455344)
debonte commented 1 month ago

This is a duplicate of https://github.com/microsoft/pyright/issues/8228, which was fixed in Pyright 1.1.370. We haven't shipped a Pylance build that incorporates this fix yet. However, the first attempt at fixing this issue was in Pyright 1.1.369 which shipped in Pylance 2024.7.100. I was able to repro the bug using pwntools in Pylance 2024.7.1, but not in Pylance 2024.7.100. So perhaps your scenario is covered by that initial fix attempt.

Can you please try switching to prerelease?

CMLL commented 1 month ago

I was facing the same issue and can confirm that switching to pre-release setting in the PyLance extension fixed the issue.