Repository navigation
Free threading locking issues in listobject.c #127536
Copy link
Copy link
Closed
Labels
3.13only security fixesonly security fixes3.14bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Description
Activity
- addedtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or errorinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)
on Dec 2, 2024 - changed the title
[-]Locking issues in `listobject.c`[/-][+]Free threading locking issues in `listobject.c`[/+]on Dec 2, 2024 - added3.13only security fixesonly security fixes3.14bugs and security fixesbugs and security fixes
on Dec 2, 2024 Ah.. it's my fault, I will take a look at it
Thanks @corona10. I started some work on this (but didn't finish) yesterday. Here's what I had in case it's helpful:
Ah in that case please go ahead
- added 4 commits that reference this issue
on Dec 3, 2024 @colesbury Are the build bot failures possibly related to that one or not? if not, I think we can close this one.
I think the buildbot failures are unrelated. The other s390x 3.13 buildbots are passing. https://buildbot.python.org/#/builders/1469 is passing, but the runs slowed down (including on
test_site) around the same time, but on the following commit, which makes me think some sort of network issue or problem with the machine.Reacted by Bénédikt Tran
Metadata
Metadata
Assignees
Labels
3.13only security fixesonly security fixes3.14bugs and security fixesbugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)(Objects, Python, Grammar, and Parser dirs)topic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error
Bug report
In #127524, @mpage suggested adding an assert to check that the list object is locked when calling
ensure_shared_on_resize. This uncovers a few more locking issues.Additionally, we may return out of the critical section without unlocking here:
cpython/Objects/listobject.c
Lines 956 to 964 in c7dec02
Linked PRs