Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

BUG: numpy segfaults on import with current CPython main #23766

Closed
Labels
@tacaswell

Description

@tacaswell

Describe the issue:

numpy segfaults on import with current CPython main.

Reproduce the code example:

importnumpyasnp

Error message:

$ pythonPython 3.12.0a7+ (heads/main:46f1c78eeb, May 13 2023, 16:09:15) [GCC 13.1.1 20230429] on linuxType"help","copyright","credits" or"license"for more information.>>> import numpy as npSegmentation fault (core dumped)

Runtime information:

Due to segfault on import can not get this 🤣

I can reproduce this with the ~current main branch of numpy + current cython master branch or with the lastest stable cython (0.29.31) + numpy (1.24.x) from pypi.

discovered viahttps://github.com/tacaswell/build_the_world

Context for the issue:

I bisected this back to

$ git bisect badde64e7561680fdc5358001e9488091e75d4174a3 is the first bad commitcommit de64e7561680fdc5358001e9488091e75d4174a3Author: Eric Snow <ericsnowcurrently@gmail.com>Date:   Tue May 2 21:30:03 2023 -0600    gh-94673: More Per-Interpreter Fields for Builtin Static Types (gh-103912)    his involves moving tp_dict, tp_bases, and tp_mro to PyInterpreterState, in the same way we did for tp_subclasses.  Those three fields are effectively const for builtin static types (unlike tp_subclasses).  In theory we only need to make their values immortal, along with their contents.  However, that isn't such a simple proposition.  (See gh-103823.)  In the meantime the simplest solution is to move the fields into the interpreter.    One alternative is to statically allocate the values, but that's its own can of worms. Include/internal/pycore_typeobject.h |   7 ++ Modules/_abc.c                       |   1 + Modules/gcmodule.c                   |  31 +---- Objects/structseq.c                  |   9 +- Objects/typeobject.c                 | 223 +++++++++++++++++++++++++++-------- 5 files changed, 185 insertions(+), 86 deletions(-)

which came in viapython/cpython#103912

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


      [8]ページ先頭

      ©2009-2025 Movatter.jp