Skip to content

error when (indirectly) importing mypy during package introspection #178

@zzzeek

Description

@zzzeek

We run slotscheck on linux and it has begun intermittently core dumping on the SQLAlchemy source tree. Here's the core dump occurring on a clean checkout

[classic@zotac tmp]$ git clone https://github.com/sqlalchemy/sqlalchemy


Cloning into 'sqlalchemy'...
remote: Enumerating objects: 221912, done.
remote: Counting objects: 100% (6585/6585), done.
remote: Compressing objects: 100% (1719/1719), done.
remote: Total 221912 (delta 4306), reused 6123 (delta 4109), pack-reused 215327
Receiving objects: 100% (221912/221912), 100.43 MiB | 13.37 MiB/s, done.
Resolving deltas: 100% (166804/166804), done.
[classic@zotac tmp]$ python --version
Python 3.11.4

[classic@zotac tmp]$ python -m venv .venv
[classic@zotac tmp]$ .venv/bin/pip install slotscheck

Collecting slotscheck
  Using cached slotscheck-0.17.0-py3-none-any.whl (20 kB)
Collecting click<9.0,>=8.0
  Using cached click-8.1.6-py3-none-any.whl (97 kB)
Installing collected packages: click, slotscheck
Successfully installed click-8.1.6 slotscheck-0.17.0

[notice] A new release of pip available: 22.3.1 -> 23.2.1
[notice] To update, run: python3.11 -m pip install --upgrade pip

[classic@zotac tmp]$ source .venv/bin/activate
(.venv) [classic@zotac sqlalchemy:main]$ pip install -e .

Obtaining file:///home/classic/tmp/sqlalchemy
  Installing build dependencies ... done
  Checking if build backend supports build_editable ... done
  Getting requirements to build editable ... done
  Installing backend dependencies ... done
  Preparing editable metadata (pyproject.toml) ... done
Collecting typing-extensions>=4.2.0
  Using cached typing_extensions-4.7.1-py3-none-any.whl (33 kB)
Collecting greenlet!=0.4.17
  Using cached greenlet-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (618 kB)
Building wheels for collected packages: SQLAlchemy
  Building editable for SQLAlchemy (pyproject.toml) ... done
  Created wheel for SQLAlchemy: filename=SQLAlchemy-2.0.20.dev0-0.editable-cp311-cp311-linux_x86_64.whl size=5469 sha256=05327af543c7001e3a33d444e161b16fef4d2b095468a448b10e60bdbc0d953a
  Stored in directory: /tmp/pip-ephem-wheel-cache-9i_xccfq/wheels/a8/7e/00/e10a0e6817e01d868585daad36d782018a2496f55f5ede1501
Successfully built SQLAlchemy
Installing collected packages: typing-extensions, greenlet, SQLAlchemy
Successfully installed SQLAlchemy-2.0.20.dev0 greenlet-2.0.2 typing-extensions-4.7.1

[notice] A new release of pip available: 22.3.1 -> 23.2.1
[notice] To update, run: pip install --upgrade pip

(.venv) [classic@zotac sqlalchemy:main]$ pip install mypy
Collecting mypy
  Using cached mypy-1.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.0 MB)
Requirement already satisfied: typing-extensions>=4.1.0 in /home/classic/tmp/.venv/lib64/python3.11/site-packages (from mypy) (4.7.1)
Collecting mypy-extensions>=1.0.0
  Using cached mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)
Installing collected packages: mypy-extensions, mypy
Successfully installed mypy-1.5.0 mypy-extensions-1.0.0

[notice] A new release of pip available: 22.3.1 -> 23.2.1
[notice] To update, run: pip install --upgrade pip
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
All OK!
Scanned 219 module(s), 1647 class(es).
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
Segmentation fault (core dumped)

here are the steps without command output

[classic@zotac tmp]$ git clone https://github.com/sqlalchemy/sqlalchemy
[classic@zotac tmp]$ python -m venv .venv
[classic@zotac tmp]$ .venv/bin/pip install slotscheck
[classic@zotac tmp]$ source .venv/bin/activate
(.venv) [classic@zotac sqlalchemy:main]$ pip install -e .
(.venv) [classic@zotac sqlalchemy:main]$ pip install mypy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy
(.venv) [classic@zotac sqlalchemy:main]$ slotscheck -m sqlalchemy

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions