python / python/mypy

`_PyType_Lookup: Assertion `!PyErr_Occurred()' failed.` in two `mypyc/test/test_run.py` tests

Ouverte
#16,043 1 commentaire 1 réaction 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

crash good-second-issue topic-mypyc
Langage dominant
Python
Étoiles
20.6k
Forks
3.3k
Métriques de merge des PR
Métriques de PR en attente

Description

Crash Report

When running the mypy test suite while CPython is built --with-assertions, the two following tests fail due to crashes inside the tests.

Traceback

============================================================== FAILURES ===============================================================
__________________________________________________ testI64GlueMethodsAndInheritance ___________________________________________________
[gw4] linux -- Python 3.11.5 /tmp/mypy/.tox/py311/bin/python
data: /tmp/mypy/mypyc/test-data/run-i64.test:1340:
Failed: Invalid output (/tmp/mypy/mypyc/test-data/run-i64.test, line 1340)
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------

*** Exit status: -6
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
Expected:
Actual:
  python: Objects/typeobject.c:3823: _PyType_Lookup: Assertion `!PyErr_Occurred()' failed. (diff)

---------------------------------------------------------- Captured log call ----------------------------------------------------------
INFO     root:dist.py:985 running build_ext
INFO     root:build_ext.py:521 building 'native' extension
INFO     root:dir_util.py:71 creating build/temp.linux-x86_64-cpython-311
INFO     root:dir_util.py:71 creating build/temp.linux-x86_64-cpython-311/build
INFO     root:spawn.py:38 x86_64-pc-linux-gnu-gcc -Wsign-compare -fPIC -I/tmp/mypy/mypyc/lib-rt -I/tmp/mypy/.tox/py311/include -I/usr/include/python3.11 -c build/__native.c -o build/temp.linux-x86_64-cpython-311/build/__native.o -O0 -g1 -Werror -Wno-unused-function -Wno-unused-label -Wno-unreachable-code -Wno-unused-variable -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-ignored-optimization-argument -Wno-cpp
INFO     root:dir_util.py:71 creating build/lib.linux-x86_64-cpython-311
INFO     root:spawn.py:38 x86_64-pc-linux-gnu-gcc -shared build/temp.linux-x86_64-cpython-311/build/__native.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-311/native.cpython-311-x86_64-linux-gnu.so
INFO     root:file_util.py:137 copying build/lib.linux-x86_64-cpython-311/native.cpython-311-x86_64-linux-gnu.so ->
____________________________________________________________ testFloatOps _____________________________________________________________
[gw4] linux -- Python 3.11.5 /tmp/mypy/.tox/py311/bin/python
data: /tmp/mypy/mypyc/test-data/run-floats.test:3:
Failed: Invalid output (/tmp/mypy/mypyc/test-data/run-floats.test, line 3)
-------------------------------------------------------- Captured stdout call ---------------------------------------------------------

*** Exit status: -6
-------------------------------------------------------- Captured stderr call ---------------------------------------------------------
Expected:
Actual:
  python: Objects/typeobject.c:3823: _PyType_Lookup: Assertion `!PyErr_Occurred()' failed. (diff)

---------------------------------------------------------- Captured log call ----------------------------------------------------------
INFO     root:dist.py:985 running build_ext
INFO     root:build_ext.py:521 building 'native' extension
INFO     root:dir_util.py:71 creating build/temp.linux-x86_64-cpython-311
INFO     root:dir_util.py:71 creating build/temp.linux-x86_64-cpython-311/build
INFO     root:spawn.py:38 x86_64-pc-linux-gnu-gcc -Wsign-compare -fPIC -I/tmp/mypy/mypyc/lib-rt -I/tmp/mypy/.tox/py311/include -I/usr/include/python3.11 -c build/__native.c -o build/temp.linux-x86_64-cpython-311/build/__native.o -O0 -g1 -Werror -Wno-unused-function -Wno-unused-label -Wno-unreachable-code -Wno-unused-variable -Wno-unused-command-line-argument -Wno-unknown-warning-option -Wno-unused-but-set-variable -Wno-ignored-optimization-argument -Wno-cpp
INFO     root:dir_util.py:71 creating build/lib.linux-x86_64-cpython-311
INFO     root:spawn.py:38 x86_64-pc-linux-gnu-gcc -shared build/temp.linux-x86_64-cpython-311/build/__native.o -L/usr/lib64 -o build/lib.linux-x86_64-cpython-311/native.cpython-311-x86_64-linux-gnu.so
INFO     root:file_util.py:137 copying build/lib.linux-x86_64-cpython-311/native.cpython-311-x86_64-linux-gnu.so ->
======================================================= short test summary info =======================================================
FAILED mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
FAILED mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
======================================== 2 failed, 376 passed, 2 xfailed in 164.00s (0:02:44) =========================================

To Reproduce

Build CPython with --with-assertions. Then run the test suite, e.g. via tox:

tox -e py311 -- mypyc/test/test_run.py

Your Environment

  • Mypy version used: 1.5.1; also reproduced with 4496a005a84f7daedc1ef2e801583127f5995f75
  • Python version used: 3.11.5; also reproduced with 3.10.13 and 3.12.0rc1
  • Operating system and version: Gentoo Linux amd64

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Commencez par mypyc/test/test_run.py et les cas en échec dans mypyc/test-data/run-i64.test et run-floats.test. Reproduisez le problème avec CPython compilé avec --with-assertions en exécutant tox -e py311 -- mypyc/test/test_run.py, puis suivez l’extension native générée impliquée dans les plantages. Le travail est terminé lorsque les deux tests passent sans l’échec d’assertion _PyType_Lookup.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
c, python
Domaine
compilers, testing-qa
Type d'issue
Bug
Difficulté
3/5
Temps estimé
1-2 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.