Closed
Description
Crash report
What happened?
I found some crashes when adding an additional fuzz target in #111721.
# This script fails with a C assertion failure when assertions are enabled.
#
# I ran this through Python built from source with assertions enabled:
#
# ./configure --with-assertions --prefix "$PWD/debugbuild"
# make -j12 altinstall
# ./debugbuild/bin/python/crash2.py
#
# I ran this on ARM64 macOS:
#
# Darwin dialectic.local 23.1.0 Darwin Kernel Version 23.1.0: Mon Oct 9 21:27:24 PDT 2023; root:xnu-10002.41.9~6/RELEASE_ARM64_T6000 arm64
# Input found via the fuzz target added in https://github.com/python/cpython/pull/111721, then manually minimized
s = b"with(0,,):\n\x01"
# This line fails with a C assertion failure:
#
# fuzz_pycompile: Objects/call.c:342: PyObject *_PyObject_Call(PyThreadState *, PyObject *, PyObject *, PyObject *): Assertion `!_PyErr_Occurred(tstate)' failed.
#
compile(s, 's', 'exec')
CPython versions tested on:
CPython main branch
Operating systems tested on:
macOS
Output from running 'python -VV' on the command line:
Python 3.13.0a1+ (heads/main:3701f3bc10, Nov 24 2023, 23:05:42) [Clang 15.0.0 (clang-1500.0.40.1)]
Linked PRs
- gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors #112410
- [3.12] gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors (GH-112410) #112466
- [3.11] gh-112388: Fix an error that was causing the parser to try to overwrite tokenizer errors (GH-112410) #112467