Commit e305703
committed
[RemoteMirror] Fix AsyncTask child iteration.
Iterating child tasks depends on knowing the size of AsyncTask, and changing the size of the task broke it. Instead of relying on mirroring the full structure in our out-of-process definitions, add a debug variable to libswift_Concurrency that contains the size of AsyncTask.
While we're there, add some more validation to child task enumeration. Check each child task's metadata pointer to make sure that it actually points to the AsyncTask metadata, and have the inner loop also increment and check ChildTaskLoopCount to stop runaway iteration in that loop.1 parent d1cb5d9 commit e305703
File tree
12 files changed
+218
-46
lines changed- include/swift/RemoteInspection
- stdlib
- private/SwiftReflectionTest
- public/Concurrency
- tools/swift-reflection-test
- test
- Concurrency/Reflection
- abi/Inputs/macOS
- arm64/concurrency
- x86_64/concurrency
12 files changed
+218
-46
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
134 | 134 | | |
135 | 135 | | |
136 | 136 | | |
| 137 | + | |
137 | 138 | | |
138 | 139 | | |
139 | 140 | | |
140 | 141 | | |
141 | 142 | | |
| 143 | + | |
142 | 144 | | |
143 | 145 | | |
144 | 146 | | |
| |||
1816 | 1818 | | |
1817 | 1819 | | |
1818 | 1820 | | |
1819 | | - | |
| 1821 | + | |
| 1822 | + | |
| 1823 | + | |
| 1824 | + | |
| 1825 | + | |
| 1826 | + | |
1820 | 1827 | | |
1821 | 1828 | | |
1822 | | - | |
1823 | | - | |
1824 | | - | |
1825 | | - | |
1826 | | - | |
1827 | | - | |
| 1829 | + | |
| 1830 | + | |
| 1831 | + | |
| 1832 | + | |
| 1833 | + | |
| 1834 | + | |
| 1835 | + | |
| 1836 | + | |
| 1837 | + | |
| 1838 | + | |
| 1839 | + | |
| 1840 | + | |
| 1841 | + | |
| 1842 | + | |
| 1843 | + | |
| 1844 | + | |
1828 | 1845 | | |
| 1846 | + | |
1829 | 1847 | | |
1830 | 1848 | | |
1831 | 1849 | | |
| |||
1927 | 1945 | | |
1928 | 1946 | | |
1929 | 1947 | | |
1930 | | - | |
| 1948 | + | |
1931 | 1949 | | |
1932 | 1950 | | |
1933 | 1951 | | |
| |||
1936 | 1954 | | |
1937 | 1955 | | |
1938 | 1956 | | |
| 1957 | + | |
| 1958 | + | |
1939 | 1959 | | |
1940 | | - | |
1941 | | - | |
1942 | | - | |
1943 | | - | |
| 1960 | + | |
| 1961 | + | |
| 1962 | + | |
| 1963 | + | |
| 1964 | + | |
1944 | 1965 | | |
1945 | | - | |
| 1966 | + | |
1946 | 1967 | | |
1947 | 1968 | | |
1948 | 1969 | | |
1949 | 1970 | | |
1950 | 1971 | | |
1951 | 1972 | | |
| 1973 | + | |
| 1974 | + | |
| 1975 | + | |
| 1976 | + | |
| 1977 | + | |
1952 | 1978 | | |
1953 | 1979 | | |
1954 | 1980 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
| 67 | + | |
68 | 68 | | |
69 | 69 | | |
70 | 70 | | |
| |||
131 | 131 | | |
132 | 132 | | |
133 | 133 | | |
134 | | - | |
135 | | - | |
136 | | - | |
137 | | - | |
| 134 | + | |
138 | 135 | | |
139 | 136 | | |
140 | 137 | | |
| |||
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
209 | 209 | | |
210 | 210 | | |
211 | 211 | | |
| 212 | + | |
212 | 213 | | |
213 | 214 | | |
214 | 215 | | |
| |||
642 | 643 | | |
643 | 644 | | |
644 | 645 | | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
645 | 655 | | |
646 | 656 | | |
647 | 657 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
34 | 34 | | |
35 | 35 | | |
36 | 36 | | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
37 | 41 | | |
38 | 42 | | |
39 | 43 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
441 | 441 | | |
442 | 442 | | |
443 | 443 | | |
| 444 | + | |
| 445 | + | |
444 | 446 | | |
445 | 447 | | |
446 | 448 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
| 32 | + | |
| 33 | + | |
33 | 34 | | |
Lines changed: 97 additions & 13 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
84 | 85 | | |
85 | 86 | | |
86 | 87 | | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
87 | 102 | | |
88 | 103 | | |
89 | 104 | | |
| |||
774 | 789 | | |
775 | 790 | | |
776 | 791 | | |
777 | | - | |
778 | | - | |
779 | | - | |
780 | | - | |
| 792 | + | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
| 796 | + | |
| 797 | + | |
| 798 | + | |
| 799 | + | |
| 800 | + | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
| 810 | + | |
| 811 | + | |
| 812 | + | |
| 813 | + | |
| 814 | + | |
| 815 | + | |
| 816 | + | |
| 817 | + | |
| 818 | + | |
| 819 | + | |
| 820 | + | |
| 821 | + | |
| 822 | + | |
| 823 | + | |
| 824 | + | |
| 825 | + | |
781 | 826 | | |
782 | 827 | | |
783 | 828 | | |
| |||
787 | 832 | | |
788 | 833 | | |
789 | 834 | | |
790 | | - | |
| 835 | + | |
| 836 | + | |
791 | 837 | | |
792 | 838 | | |
793 | 839 | | |
794 | | - | |
795 | | - | |
| 840 | + | |
| 841 | + | |
| 842 | + | |
| 843 | + | |
796 | 844 | | |
797 | 845 | | |
798 | | - | |
799 | | - | |
| 846 | + | |
| 847 | + | |
800 | 848 | | |
801 | 849 | | |
802 | 850 | | |
803 | | - | |
804 | | - | |
| 851 | + | |
| 852 | + | |
| 853 | + | |
805 | 854 | | |
806 | 855 | | |
807 | 856 | | |
808 | 857 | | |
809 | 858 | | |
810 | 859 | | |
811 | | - | |
812 | | - | |
| 860 | + | |
| 861 | + | |
| 862 | + | |
813 | 863 | | |
814 | 864 | | |
815 | 865 | | |
816 | 866 | | |
| 867 | + | |
| 868 | + | |
| 869 | + | |
| 870 | + | |
| 871 | + | |
| 872 | + | |
| 873 | + | |
| 874 | + | |
| 875 | + | |
| 876 | + | |
| 877 | + | |
| 878 | + | |
| 879 | + | |
| 880 | + | |
| 881 | + | |
| 882 | + | |
| 883 | + | |
| 884 | + | |
| 885 | + | |
| 886 | + | |
| 887 | + | |
| 888 | + | |
| 889 | + | |
| 890 | + | |
| 891 | + | |
| 892 | + | |
| 893 | + | |
| 894 | + | |
| 895 | + | |
817 | 896 | | |
818 | 897 | | |
819 | 898 | | |
| |||
926 | 1005 | | |
927 | 1006 | | |
928 | 1007 | | |
| 1008 | + | |
| 1009 | + | |
| 1010 | + | |
| 1011 | + | |
| 1012 | + | |
929 | 1013 | | |
930 | 1014 | | |
931 | 1015 | | |
| |||
0 commit comments