GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||||||||||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||||||||||||||||||||||||||||||
GeezerVison is showing github.com — Data race between `sys._current_exceptions()` and a concurrently attaching thread · Issue #152741 · python/cpython Open Labels extension-modulesC modules in the Modules dirC modules in the Modules dirtopic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error DescriptionBug description:In the free-threaded build, Lines 2808 to 2817 in ecdef17
But a newly started thread sets Lines 164 to 178 in ecdef17
A thread that is still attaching is not yet stop-the-world-stoppable. Reproducer: import sys import threading stop = threading.Event() def reader(): # keep stop-the-world almost always active for _ in range(20000): sys._current_exceptions() def churn(): # continuously attach new threads (bind_tstate) for _ in range(20000): t = threading.Thread(target=lambda: None) t.start() t.join() readers = [threading.Thread(target=reader) for _ in range(8)] churners = [threading.Thread(target=churn) for _ in range(4)] for t in readers + churners: t.start() for t in readers + churners: t.join() TSAN Report: CPython versions tested on:CPython main branch Operating systems tested on:macOS Linked PRsActivity
MetadataMetadataAssigneesLabelsextension-modulesC modules in the Modules dirC modules in the Modules dirtopic-free-threadingtype-bugAn unexpected behavior, bug, or errorAn unexpected behavior, bug, or error ProjectsMilestoneRelationshipsDevelopmentIssue actions | ||||||||||||||||||||||||||||||||||||||||||||||||||
| You are visitor 01402503 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |