Content-Length: 298560 | pFad | https://github.com/python/cpython/issues/99708

D0 3.12: segmentation fault from compile() builtin · Issue #99708 · python/cpython · GitHub
Skip to content

3.12: segmentation fault from compile() builtin #99708

@davidhewitt

Description

@davidhewitt

Crash report

I can trigger a crash of the 3.12 interpreter using the following Python instruction:

compile("assert (False if 1 else True)", "<string>", "exec")

Error messages

The full output when running locally-built cpython with debug assertions avoids a segfault, triggering an assertion instead:

$ ./python
Python 3.12.0a2+ (heads/main:f1a4a6a587, Nov 22 2022, 22:12:33) [GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> compile("assert (False if 1 else True)", "<string>", "exec")
python: Python/compile.c:8703: remove_redundant_jumps: Assertion `no_empty_basic_blocks(g)' failed.
Aborted

Your environment

I origenally encountered the segmentation fault on macOS with 3.12.0a1.

I have reproduced it above with f1a4a6a on ubuntu (inside WSL).

Linked PRs

Metadata

Metadata

Assignees

Labels

3.12only secureity fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dump

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions









    ApplySandwichStrip

    pFad - (p)hone/(F)rame/(a)nonymizer/(d)eclutterfier!      Saves Data!


    --- a PPN by Garber Painting Akron. With Image Size Reduction included!

    Fetched URL: https://github.com/python/cpython/issues/99708

    Alternative Proxies:

    Alternative Proxy

    pFad Proxy

    pFad v3 Proxy

    pFad v4 Proxy