You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Assertion failure in Objects/call.c:342: !_PyErr_Occurred(tstate) failed #112388
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 minimizeds=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)]
$ git bisect determined the issue was introduced in 81f4e11.
It appears the "invalid non-printable character" error was identified, but not promptly emitted to the user. Then when the "expected an indented block" error comes around, we see we are about to overwrite an error and we abort.
Activity
bradlarsen commentedon Nov 25, 2023
See also #112387
carsonRadtke commentedon Nov 25, 2023
$ git bisectdetermined the issue was introduced in 81f4e11.It appears the "invalid non-printable character" error was identified, but not promptly emitted to the user. Then when the "expected an indented block" error comes around, we see we are about to overwrite an error and we abort.
hugovk commentedon Nov 25, 2023
Thanks for the report and bisecting.
cc @pablogsal
pythongh-112388: Fix an error that was causing the parser to try to o…
pythongh-112388: Fix an error that was causing the parser to try to o…
gh-112388: Fix an error that was causing the parser to try to overwri…
pythongh-112388: Fix an error that was causing the parser to try to o…
pythongh-112388: Fix an error that was causing the parser to try to o…
pablogsal commentedon Nov 27, 2023
Thanks for the report!
[3.11] gh-112388: Fix an error that was causing the parser to try to …
[3.12] gh-112388: Fix an error that was causing the parser to try to …
pythongh-112388: Fix an error that was causing the parser to try to o…
pythongh-112388: Fix an error that was causing the parser to try to o…