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

SystemError from calling__iter__ on a releasedmemoryview #126341

Closed
Assignees
ritvikpasham
Labels
3.12only security fixes3.13bugs and security fixes3.14bugs and security fixeseasyinterpreter-core(Objects, Python, Grammar, and Parser dirs)type-crashA hard crash of the interpreter, possibly with a core dump
@devdanzin

Description

@devdanzin

Crash report

What happened?

The code below causes aSystemError on all tested Python versions in Windows and Linux. In a no-gil debug build of main, besides the expected abort, sometimes a segfault occurs.

fromthreadingimportThreadav=memoryview(b"something")av.release()alive= [Thread(target=av.release,args=('/bin/sh')),Thread(target=av.__iter__,args=())]forobjinalive:try:print('START',obj)obj.start()exceptException:pass

Common abort:

Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception setPython runtime state: initializedValueError: operation forbidden on released memoryview objectThe above exception was the direct cause of the following exception:SystemError: <method-wrapper '__iter__' of memoryview object at 0x200006a6050> returned a result with an exception setAborted

Rare segfault:

Exception in thread Thread-1 (release):Fatal Python error: _Py_CheckFunctionResult: a function returned a result with an exception setPython runtime state: initializedValueError: operation forbidden on released memoryview objectThe above exception was the direct cause of the following exception:SystemError: <method-wrapper '__iter__' of memoryview object at 0x200006a6050> returned a result with an exception setCurrent thread 0x00007f750b5d0640 (most recent call first):  File "/home/danzin/projects/mycpython/Lib/threading.py", line 992 in run  File "/home/danzin/projects/mycpython/Lib/threading.py", line 1041 in _bootstrap_inner  File "/home/danzin/projects/mycpython/Lib/threading.py", line 1012 in _bootstrapThread 0x00007f750bdd5640 (most recent call first):  File "<frozen importlib._bootstrap_external>", line 142 in _path_splitPython/traceback.c:979:18: runtime error: member access within misaligned address 0x000000000001 for type 'struct _PyInterpreterFrame', which requires 8 byte alignment0x000000000001: note: pointer points here<memory cannot be printed>Segmentation fault

The backtrace for the segfault is:

0x00005555564d6e71 in _PyFrame_GetCode (f=0x7ffff6bbcca8)    at ./Include/internal/pycore_frame.h:83#1  PyUnstable_InterpreterFrame_GetLine (    frame=frame@entry=0x7ffff6bbcca8) at Python/frame.c:146#2  0x00005555565ffb1e in dump_frame (fd=fd@entry=2,    frame=frame@entry=0x7ffff6bbcca8) at Python/traceback.c:905#3  0x00005555565fffcc in dump_traceback (fd=fd@entry=2,    tstate=tstate@entry=0x555557130d20,    write_header=write_header@entry=0)    at Python/traceback.c:974#4  0x00005555566001e0 in _Py_DumpTracebackThreads (    fd=fd@entry=2, interp=<optimized out>,    interp@entry=0x555557052280 <_PyRuntime+129152>,    current_tstate=current_tstate@entry=0x5555571351d0)    at Python/traceback.c:1090#5  0x00005555565888f1 in _Py_FatalError_DumpTracebacks (    fd=fd@entry=2,    interp=interp@entry=0x555557052280 <_PyRuntime+129152>,    tstate=tstate@entry=0x5555571351d0)    at Python/pylifecycle.c:2937#6  0x000055555659b12b in fatal_error (fd=2,    header=header@entry=1,    prefix=prefix@entry=0x555556811220 <__func__.23>"_Py_CheckFunctionResult",    msg=msg@entry=0x555556810c80"a function returned a result with an exception set", status=status@entry=-1)    at Python/pylifecycle.c:3245#7  0x000055555659b2ca in _Py_FatalErrorFunc (    func=func@entry=0x555556811220 <__func__.23>"_Py_CheckFunctionResult",    msg=msg@entry=0x555556810c80"a function returned a result with an exception set") at Python/pylifecycle.c:3286#8  0x0000555555ee822c in _Py_CheckFunctionResult (    tstate=tstate@entry=0x5555571351d0,result=result@entry=0x20004040130, where=where@entry=0x0)    at Objects/call.c:65

Found using fusil by@vstinner.

CPython versions tested on:

3.11, 3.12, 3.13, CPython main branch

Operating systems tested on:

Linux, Windows

Output from running 'python -VV' on the command line:

No response

Linked PRs

Metadata

Metadata

Assignees

Labels

3.12only security fixes3.13bugs and security fixes3.14bugs and security fixeseasyinterpreter-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


    [8]ページ先頭

    ©2009-2025 Movatter.jp