Commit a10152f
authored
pythongh-137400: Fix thread-safety issues when profiling all threads (pythongh-137518)
There were a few thread-safety issues when profiling or tracing all
threads via PyEval_SetProfileAllThreads or PyEval_SetTraceAllThreads:
* The loop over thread states could crash if a thread exits concurrently
(in both the free threading and default build)
* The modification of `c_profilefunc` and `c_tracefunc` wasn't
thread-safe on the free threading build.1 parent 923d686 commit a10152f
File tree
11 files changed
+429
-239
lines changed- Include/internal
- Lib/test/test_free_threading
- Misc/NEWS.d/next/Core_and_Builtins
- Python
11 files changed
+429
-239
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
22 | 22 | | |
23 | 23 | | |
24 | 24 | | |
| 25 | + | |
25 | 26 | | |
26 | 27 | | |
| 28 | + | |
27 | 29 | | |
28 | 30 | | |
29 | 31 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
99 | 99 | | |
100 | 100 | | |
101 | 101 | | |
102 | | - | |
103 | 102 | | |
104 | 103 | | |
105 | 104 | | |
| |||
951 | 950 | | |
952 | 951 | | |
953 | 952 | | |
954 | | - | |
955 | | - | |
| 953 | + | |
| 954 | + | |
956 | 955 | | |
957 | 956 | | |
958 | 957 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
195 | 195 | | |
196 | 196 | | |
197 | 197 | | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
198 | 223 | | |
199 | 224 | | |
200 | 225 | | |
| |||
421 | 446 | | |
422 | 447 | | |
423 | 448 | | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
| 470 | + | |
| 471 | + | |
| 472 | + | |
| 473 | + | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
424 | 481 | | |
425 | 482 | | |
426 | 483 | | |
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
178 | 178 | | |
179 | 179 | | |
180 | 180 | | |
181 | | - | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| 184 | + | |
| 185 | + | |
| 186 | + | |
| 187 | + | |
| 188 | + | |
| 189 | + | |
182 | 190 | | |
183 | 191 | | |
184 | 192 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2510 | 2510 | | |
2511 | 2511 | | |
2512 | 2512 | | |
2513 | | - | |
2514 | | - | |
2515 | | - | |
2516 | | - | |
2517 | | - | |
2518 | | - | |
2519 | | - | |
2520 | | - | |
2521 | | - | |
2522 | | - | |
2523 | | - | |
2524 | | - | |
2525 | | - | |
2526 | | - | |
2527 | | - | |
| 2513 | + | |
| 2514 | + | |
| 2515 | + | |
| 2516 | + | |
2528 | 2517 | | |
2529 | 2518 | | |
2530 | 2519 | | |
| |||
2541 | 2530 | | |
2542 | 2531 | | |
2543 | 2532 | | |
2544 | | - | |
2545 | | - | |
2546 | | - | |
2547 | | - | |
2548 | | - | |
2549 | | - | |
2550 | | - | |
2551 | | - | |
2552 | | - | |
2553 | | - | |
2554 | | - | |
2555 | | - | |
2556 | | - | |
2557 | | - | |
2558 | | - | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
2559 | 2537 | | |
2560 | 2538 | | |
2561 | 2539 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1040 | 1040 | | |
1041 | 1041 | | |
1042 | 1042 | | |
| 1043 | + | |
| 1044 | + | |
1043 | 1045 | | |
1044 | 1046 | | |
1045 | 1047 | | |
| |||
1939 | 1941 | | |
1940 | 1942 | | |
1941 | 1943 | | |
1942 | | - | |
| 1944 | + | |
| 1945 | + | |
1943 | 1946 | | |
1944 | 1947 | | |
1945 | | - | |
1946 | | - | |
1947 | | - | |
1948 | | - | |
1949 | | - | |
| 1948 | + | |
| 1949 | + | |
1950 | 1950 | | |
1951 | 1951 | | |
1952 | 1952 | | |
1953 | | - | |
1954 | | - | |
| 1953 | + | |
| 1954 | + | |
| 1955 | + | |
1955 | 1956 | | |
1956 | 1957 | | |
1957 | 1958 | | |
1958 | 1959 | | |
1959 | | - | |
1960 | | - | |
1961 | | - | |
1962 | 1960 | | |
1963 | | - | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
1964 | 1964 | | |
1965 | 1965 | | |
1966 | 1966 | | |
| |||
2006 | 2006 | | |
2007 | 2007 | | |
2008 | 2008 | | |
| 2009 | + | |
2009 | 2010 | | |
2010 | 2011 | | |
2011 | 2012 | | |
| |||
2014 | 2015 | | |
2015 | 2016 | | |
2016 | 2017 | | |
2017 | | - | |
2018 | | - | |
2019 | 2018 | | |
2020 | 2019 | | |
2021 | | - | |
2022 | | - | |
| 2020 | + | |
2023 | 2021 | | |
2024 | 2022 | | |
2025 | 2023 | | |
2026 | 2024 | | |
2027 | 2025 | | |
2028 | | - | |
2029 | | - | |
| 2026 | + | |
2030 | 2027 | | |
2031 | 2028 | | |
2032 | 2029 | | |
2033 | 2030 | | |
2034 | 2031 | | |
2035 | | - | |
2036 | | - | |
2037 | | - | |
2038 | | - | |
| 2032 | + | |
2039 | 2033 | | |
2040 | 2034 | | |
2041 | 2035 | | |
2042 | 2036 | | |
2043 | 2037 | | |
| 2038 | + | |
| 2039 | + | |
2044 | 2040 | | |
2045 | 2041 | | |
2046 | 2042 | | |
| |||
2052 | 2048 | | |
2053 | 2049 | | |
2054 | 2050 | | |
2055 | | - | |
2056 | | - | |
2057 | 2051 | | |
2058 | | - | |
2059 | | - | |
| 2052 | + | |
2060 | 2053 | | |
2061 | 2054 | | |
2062 | 2055 | | |
2063 | 2056 | | |
2064 | 2057 | | |
2065 | 2058 | | |
2066 | 2059 | | |
2067 | | - | |
2068 | | - | |
| 2060 | + | |
2069 | 2061 | | |
2070 | 2062 | | |
2071 | 2063 | | |
2072 | | - | |
2073 | | - | |
2074 | | - | |
2075 | | - | |
2076 | | - | |
| 2064 | + | |
2077 | 2065 | | |
2078 | 2066 | | |
2079 | 2067 | | |
| |||
2105 | 2093 | | |
2106 | 2094 | | |
2107 | 2095 | | |
| 2096 | + | |
2108 | 2097 | | |
| 2098 | + | |
2109 | 2099 | | |
2110 | 2100 | | |
2111 | 2101 | | |
2112 | | - | |
2113 | 2102 | | |
2114 | 2103 | | |
2115 | 2104 | | |
| |||
2346 | 2335 | | |
2347 | 2336 | | |
2348 | 2337 | | |
2349 | | - | |
| 2338 | + | |
| 2339 | + | |
| 2340 | + | |
| 2341 | + | |
| 2342 | + | |
2350 | 2343 | | |
2351 | 2344 | | |
2352 | 2345 | | |
| |||
2427 | 2420 | | |
2428 | 2421 | | |
2429 | 2422 | | |
2430 | | - | |
| 2423 | + | |
| 2424 | + | |
| 2425 | + | |
| 2426 | + | |
| 2427 | + | |
2431 | 2428 | | |
2432 | 2429 | | |
2433 | 2430 | | |
| |||
0 commit comments