Commit a92f15b
committed
gh-128679: Fix tracemalloc.stop() race conditions
tracemalloc_alloc(), tracemalloc_realloc(), PyTraceMalloc_Track(),
PyTraceMalloc_Untrack() and _PyTraceMalloc_TraceRef() now check
tracemalloc_config.tracing after calling TABLES_LOCK().
_PyTraceMalloc_Stop() now protects more code with TABLES_LOCK(),
especially setting tracemalloc_config.tracing to 1.
Add a test using PyTraceMalloc_Track() to test tracemalloc.stop()
race condition.1 parent 639e0f3 commit a92f15b
File tree
4 files changed
+181
-50
lines changed- Lib/test
- Misc/NEWS.d/next/Library
- Modules
- Python
4 files changed
+181
-50
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
11 | 10 | | |
| 11 | + | |
| 12 | + | |
12 | 13 | | |
13 | 14 | | |
14 | 15 | | |
| |||
952 | 953 | | |
953 | 954 | | |
954 | 955 | | |
955 | | - | |
956 | 956 | | |
957 | 957 | | |
958 | 958 | | |
| |||
1101 | 1101 | | |
1102 | 1102 | | |
1103 | 1103 | | |
| 1104 | + | |
| 1105 | + | |
| 1106 | + | |
| 1107 | + | |
| 1108 | + | |
| 1109 | + | |
1104 | 1110 | | |
1105 | 1111 | | |
1106 | 1112 | | |
Lines changed: 3 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3386 | 3386 | | |
3387 | 3387 | | |
3388 | 3388 | | |
| 3389 | + | |
| 3390 | + | |
| 3391 | + | |
| 3392 | + | |
| 3393 | + | |
| 3394 | + | |
| 3395 | + | |
| 3396 | + | |
| 3397 | + | |
| 3398 | + | |
| 3399 | + | |
| 3400 | + | |
| 3401 | + | |
| 3402 | + | |
| 3403 | + | |
| 3404 | + | |
| 3405 | + | |
| 3406 | + | |
| 3407 | + | |
| 3408 | + | |
| 3409 | + | |
| 3410 | + | |
| 3411 | + | |
| 3412 | + | |
| 3413 | + | |
| 3414 | + | |
| 3415 | + | |
| 3416 | + | |
| 3417 | + | |
| 3418 | + | |
| 3419 | + | |
| 3420 | + | |
| 3421 | + | |
| 3422 | + | |
| 3423 | + | |
| 3424 | + | |
| 3425 | + | |
| 3426 | + | |
| 3427 | + | |
| 3428 | + | |
| 3429 | + | |
| 3430 | + | |
| 3431 | + | |
| 3432 | + | |
| 3433 | + | |
| 3434 | + | |
| 3435 | + | |
| 3436 | + | |
| 3437 | + | |
| 3438 | + | |
| 3439 | + | |
| 3440 | + | |
| 3441 | + | |
| 3442 | + | |
| 3443 | + | |
| 3444 | + | |
| 3445 | + | |
| 3446 | + | |
| 3447 | + | |
| 3448 | + | |
| 3449 | + | |
| 3450 | + | |
| 3451 | + | |
| 3452 | + | |
| 3453 | + | |
| 3454 | + | |
| 3455 | + | |
| 3456 | + | |
| 3457 | + | |
| 3458 | + | |
| 3459 | + | |
| 3460 | + | |
| 3461 | + | |
| 3462 | + | |
| 3463 | + | |
| 3464 | + | |
| 3465 | + | |
| 3466 | + | |
| 3467 | + | |
| 3468 | + | |
| 3469 | + | |
| 3470 | + | |
| 3471 | + | |
| 3472 | + | |
| 3473 | + | |
| 3474 | + | |
| 3475 | + | |
| 3476 | + | |
| 3477 | + | |
| 3478 | + | |
| 3479 | + | |
| 3480 | + | |
| 3481 | + | |
| 3482 | + | |
| 3483 | + | |
| 3484 | + | |
| 3485 | + | |
| 3486 | + | |
3389 | 3487 | | |
3390 | 3488 | | |
3391 | 3489 | | |
| |||
3532 | 3630 | | |
3533 | 3631 | | |
3534 | 3632 | | |
| 3633 | + | |
3535 | 3634 | | |
3536 | 3635 | | |
3537 | 3636 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
538 | 538 | | |
539 | 539 | | |
540 | 540 | | |
541 | | - | |
542 | | - | |
543 | | - | |
544 | | - | |
545 | | - | |
| 541 | + | |
| 542 | + | |
| 543 | + | |
| 544 | + | |
| 545 | + | |
| 546 | + | |
| 547 | + | |
546 | 548 | | |
| 549 | + | |
| 550 | + | |
547 | 551 | | |
548 | 552 | | |
549 | 553 | | |
| |||
559 | 563 | | |
560 | 564 | | |
561 | 565 | | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
562 | 572 | | |
563 | 573 | | |
564 | 574 | | |
565 | | - | |
566 | | - | |
567 | 575 | | |
568 | 576 | | |
569 | 577 | | |
| |||
576 | 584 | | |
577 | 585 | | |
578 | 586 | | |
579 | | - | |
| 587 | + | |
| 588 | + | |
580 | 589 | | |
581 | 590 | | |
582 | 591 | | |
583 | 592 | | |
584 | 593 | | |
585 | | - | |
586 | 594 | | |
587 | 595 | | |
588 | 596 | | |
589 | 597 | | |
590 | | - | |
591 | 598 | | |
592 | 599 | | |
593 | | - | |
594 | 600 | | |
595 | | - | |
| 601 | + | |
596 | 602 | | |
597 | | - | |
598 | 603 | | |
| 604 | + | |
| 605 | + | |
| 606 | + | |
599 | 607 | | |
600 | 608 | | |
601 | 609 | | |
602 | 610 | | |
603 | 611 | | |
604 | 612 | | |
605 | 613 | | |
606 | | - | |
607 | | - | |
608 | 614 | | |
609 | 615 | | |
610 | 616 | | |
611 | | - | |
612 | | - | |
613 | | - | |
| 617 | + | |
614 | 618 | | |
615 | 619 | | |
616 | 620 | | |
617 | | - | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
| 624 | + | |
| 625 | + | |
| 626 | + | |
618 | 627 | | |
619 | 628 | | |
620 | 629 | | |
| |||
779 | 788 | | |
780 | 789 | | |
781 | 790 | | |
782 | | - | |
| 791 | + | |
783 | 792 | | |
784 | 793 | | |
785 | 794 | | |
786 | 795 | | |
787 | | - | |
788 | 796 | | |
789 | 797 | | |
790 | 798 | | |
791 | 799 | | |
792 | | - | |
793 | 800 | | |
794 | 801 | | |
795 | 802 | | |
| |||
963 | 970 | | |
964 | 971 | | |
965 | 972 | | |
| 973 | + | |
| 974 | + | |
| 975 | + | |
| 976 | + | |
966 | 977 | | |
967 | 978 | | |
968 | 979 | | |
| |||
973 | 984 | | |
974 | 985 | | |
975 | 986 | | |
976 | | - | |
| 987 | + | |
977 | 988 | | |
978 | 989 | | |
979 | 990 | | |
980 | 991 | | |
| 992 | + | |
| 993 | + | |
981 | 994 | | |
982 | 995 | | |
983 | 996 | | |
| |||
1307 | 1320 | | |
1308 | 1321 | | |
1309 | 1322 | | |
1310 | | - | |
1311 | | - | |
| 1323 | + | |
| 1324 | + | |
1312 | 1325 | | |
1313 | | - | |
1314 | | - | |
1315 | | - | |
| 1326 | + | |
| 1327 | + | |
| 1328 | + | |
| 1329 | + | |
| 1330 | + | |
| 1331 | + | |
| 1332 | + | |
1316 | 1333 | | |
1317 | 1334 | | |
1318 | | - | |
1319 | | - | |
1320 | | - | |
1321 | | - | |
1322 | 1335 | | |
1323 | | - | |
1324 | 1336 | | |
1325 | 1337 | | |
1326 | 1338 | | |
| |||
1329 | 1341 | | |
1330 | 1342 | | |
1331 | 1343 | | |
1332 | | - | |
| 1344 | + | |
| 1345 | + | |
| 1346 | + | |
| 1347 | + | |
| 1348 | + | |
| 1349 | + | |
| 1350 | + | |
| 1351 | + | |
1333 | 1352 | | |
1334 | | - | |
| 1353 | + | |
1335 | 1354 | | |
1336 | 1355 | | |
1337 | | - | |
1338 | | - | |
1339 | 1356 | | |
1340 | | - | |
1341 | | - | |
| 1357 | + | |
1342 | 1358 | | |
1343 | 1359 | | |
1344 | 1360 | | |
| |||
1376 | 1392 | | |
1377 | 1393 | | |
1378 | 1394 | | |
1379 | | - | |
1380 | | - | |
1381 | | - | |
1382 | | - | |
1383 | | - | |
1384 | | - | |
1385 | | - | |
| 1395 | + | |
| 1396 | + | |
| 1397 | + | |
| 1398 | + | |
| 1399 | + | |
| 1400 | + | |
| 1401 | + | |
| 1402 | + | |
| 1403 | + | |
| 1404 | + | |
1386 | 1405 | | |
| 1406 | + | |
1387 | 1407 | | |
1388 | | - | |
| 1408 | + | |
| 1409 | + | |
1389 | 1410 | | |
1390 | 1411 | | |
1391 | 1412 | | |
| |||
1418 | 1439 | | |
1419 | 1440 | | |
1420 | 1441 | | |
1421 | | - | |
| 1442 | + | |
| 1443 | + | |
| 1444 | + | |
1422 | 1445 | | |
1423 | 1446 | | |
1424 | 1447 | | |
| |||
0 commit comments