Bug report
Bug description:
There's a segmentation fault in Python 3.14.1 and 3.13.10 which doesn't happen in the previous point releases.
I'm sorry about the messy reproducer, the issue was noticed in a much larger program and this is what I ended up with after removing all the cruft.
seg_fault_issue_import.py:
import asyncio
import atexit
class OtherClass :
__slots__ = 'a' , 'b' , 'c' , 'd' , 'e' , 'f' , 'g' , 'h' , 'i'
def __init__ (self ):
pass
def register_async_client_cleanup ():
def cleanup_wrapper ():
loop = asyncio .new_event_loop ()
loop .close ()
atexit .register (cleanup_wrapper )
register_async_client_cleanup ()
seg_fault_debug.py:
from enum import StrEnum
from seg_fault_issue_import import OtherClass
class MyClass :
def __init__ (self ):
self .attr = OtherClass ()
class MyEnum (StrEnum ):
ATTR = "attr"
mydata = MyClass ()
setattr (mydata , MyEnum .ATTR , None )
Running seg_fault_debug.py causes a segmentation fault with Python 3.13.10 and 3.14.1:
$ python3 seg_fault_debug.py
Segmentation fault (core dumped)
Original reproducer
seg_fault_issue_import.py:
import asyncio
import atexit
from dataclasses import dataclass
@dataclass (slots = True )
class CPU :
"""CPU."""
count : int | None = None
frequency : float | None = None
load_average : float | None = None
per_cpu : list [float ] | None = None
power : float | None = None
stats : float | None = None
temperature : float | None = None
times : float | None = None
times_percent : float | None = None
def register_async_client_cleanup ():
def cleanup_wrapper ():
loop = asyncio .new_event_loop ()
loop .close ()
atexit .register (cleanup_wrapper )
register_async_client_cleanup ()
seg_fault_debug.py:
from dataclasses import dataclass , field
from enum import StrEnum
from seg_fault_issue_import import CPU
@dataclass
class MyDataclass :
attr : None = field (default_factory = CPU )
class MyEnum (StrEnum ):
ATTR = "attr"
mydata = MyDataclass ()
setattr (mydata , MyEnum .ATTR , None )
CPython versions tested on:
3.14
Operating systems tested on:
Linux
Linked PRs
Reactions are currently unavailable
Bug report
Bug description:
There's a segmentation fault in Python 3.14.1 and 3.13.10 which doesn't happen in the previous point releases.
I'm sorry about the messy reproducer, the issue was noticed in a much larger program and this is what I ended up with after removing all the cruft.
seg_fault_issue_import.py:seg_fault_debug.py:Running
seg_fault_debug.pycauses a segmentation fault with Python 3.13.10 and 3.14.1:Original reproducer
seg_fault_issue_import.py:seg_fault_debug.py:CPython versions tested on:
3.14
Operating systems tested on:
Linux
Linked PRs