Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork33.7k
Closed
Description
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:
importasyncioimportatexitclassOtherClass:__slots__='a','b','c','d','e','f','g','h','i'def__init__(self):passdefregister_async_client_cleanup():defcleanup_wrapper():loop=asyncio.new_event_loop()loop.close()atexit.register(cleanup_wrapper)register_async_client_cleanup()
seg_fault_debug.py:
fromenumimportStrEnumfromseg_fault_issue_importimportOtherClassclassMyClass:def__init__(self):self.attr=OtherClass()classMyEnum(StrEnum):ATTR="attr"mydata=MyClass()setattr(mydata,MyEnum.ATTR,None)
Runningseg_fault_debug.py causes a segmentation fault with Python 3.13.10 and 3.14.1:
$ python3 seg_fault_debug.pySegmentation fault (core dumped)Original reproducer
seg_fault_issue_import.py:
importasyncioimportatexitfromdataclassesimportdataclass@dataclass(slots=True)classCPU:"""CPU."""count:int|None=Nonefrequency:float|None=Noneload_average:float|None=Noneper_cpu:list[float]|None=Nonepower:float|None=Nonestats:float|None=Nonetemperature:float|None=Nonetimes:float|None=Nonetimes_percent:float|None=Nonedefregister_async_client_cleanup():defcleanup_wrapper():loop=asyncio.new_event_loop()loop.close()atexit.register(cleanup_wrapper)register_async_client_cleanup()
seg_fault_debug.py:
fromdataclassesimportdataclass,fieldfromenumimportStrEnumfromseg_fault_issue_importimportCPU@dataclassclassMyDataclass:attr:None=field(default_factory=CPU)classMyEnum(StrEnum):ATTR="attr"mydata=MyDataclass()setattr(mydata,MyEnum.ATTR,None)
CPython versions tested on:
3.14
Operating systems tested on:
Linux
Linked PRs
Metadata
Metadata
Assignees
Labels
Projects
Status
Done