Commit Graph

1575 Commits

Author SHA1 Message Date
swift-ci
a89a04acb3 Merge pull request #5612 from benlangmuir/disable-flaky-crash 2016-11-02 11:38:41 -07:00
Ben Langmuir
b35d891bd1 Disable compiler_crashers/28447-result-case-not-implemented-failed.swift
This test doesn't reproduce 100% of the time, so let's disable it.  I
filed SR-3118 to make sure we don't lose track of it.

rdar://problem/29069838
2016-11-02 10:59:56 -07:00
practicalswift
3a9bef9d91 [swiftc (96 vs. 5180)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 96 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007f1346013330
3  libc.so.6       0x00007f13447d1c37 gsignal + 55
4  libc.so.6       0x00007f13447d5028 abort + 328
5  swift           0x0000000000d7e52f
6  swift           0x0000000000d81c4f
7  swift           0x0000000000d781fc
8  swift           0x0000000000d88ae0
9  swift           0x0000000000d8b8d3
10 swift           0x0000000000d88bfa
11 swift           0x0000000000d88abc
12 swift           0x0000000000d873fe
13 swift           0x0000000000d87014
14 swift           0x0000000000ddbf1e
15 swift           0x0000000000d6eb5c
16 swift           0x0000000000b1b473
17 swift           0x0000000000b529d0
18 swift           0x0000000000957db3
19 swift           0x00000000004a050e
20 swift           0x00000000004674de
21 libc.so.6       0x00007f13447bcf45 __libc_start_main + 245
22 swift           0x0000000000464be6
```
2016-11-02 18:59:10 +01:00
practicalswift
3c0018f426 [swiftc (95 vs. 5180)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 95 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007f6966c61330
3  libc.so.6       0x00007f696541fc37 gsignal + 55
4  libc.so.6       0x00007f6965423028 abort + 328
5  swift           0x0000000000d7e52f
6  swift           0x0000000000d81c4f
7  swift           0x0000000000d781fc
8  swift           0x0000000000d88ae0
9  swift           0x0000000000d8b8d3
10 swift           0x0000000000d8bc9d
11 swift           0x0000000000d89bea
12 swift           0x0000000000d88b5f
13 swift           0x0000000000d873fe
14 swift           0x0000000000d87014
15 swift           0x0000000000ddbf1e
16 swift           0x0000000000d6eb5c
17 swift           0x0000000000b1b473
18 swift           0x0000000000b529d0
19 swift           0x0000000000957db3
20 swift           0x00000000004a050e
21 swift           0x00000000004674de
22 libc.so.6       0x00007f696540af45 __libc_start_main + 245
23 swift           0x0000000000464be6
```
2016-11-02 18:12:42 +01:00
practicalswift
3575ee1954 [swiftc (94 vs. 5180)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 94 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007f840c562330
3  libc.so.6       0x00007f840ad20c37 gsignal + 55
4  libc.so.6       0x00007f840ad24028 abort + 328
5  swift           0x0000000000d7e52f
6  swift           0x0000000000d81c4f
7  swift           0x0000000000d781fc
8  swift           0x0000000000d88ae0
9  swift           0x0000000000d8b8d3
10 swift           0x0000000000d89b94
11 swift           0x0000000000d8a19d
12 swift           0x0000000000d8a3b1
13 swift           0x0000000000d88b5f
14 swift           0x0000000000d873fe
15 swift           0x0000000000d87014
16 swift           0x0000000000ddbf1e
17 swift           0x0000000000d6eb5c
18 swift           0x0000000000b1b473
19 swift           0x0000000000b529d0
20 swift           0x0000000000957db3
21 swift           0x00000000004a050e
22 swift           0x00000000004674de
23 libc.so.6       0x00007f840ad0bf45 __libc_start_main + 245
24 swift           0x0000000000464be6
```
2016-11-02 17:22:54 +01:00
practicalswift
57f3f0e95d [swiftc (93 vs. 5180)] Add crasher in statements on a line must be separated by ';'
Add test case for crash triggered in `statements on a line must be separated by ';'`.

Current number of unresolved compiler crashers: 93 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007fc3c0497330
3  swift           0x0000000000cde5c9
4  swift           0x0000000000d073ae
5  swift           0x0000000000cde571
6  swift           0x0000000000d073ff
7  swift           0x0000000000cde571
8  swift           0x0000000000d073ff
9  swift           0x0000000000cde571
10 swift           0x0000000000d073ff
11 swift           0x0000000000cde571
12 swift           0x0000000000d073ff
13 swift           0x0000000000cde571
14 swift           0x0000000000d073ff
15 swift           0x0000000000cde571
16 swift           0x0000000000d073ff
17 swift           0x0000000000cde571
18 swift           0x0000000000d073ff
19 swift           0x0000000000cde571
20 swift           0x0000000000d073ff
21 swift           0x0000000000cde571
22 swift           0x0000000000d073ff
23 swift           0x0000000000cde571
24 swift           0x0000000000d073ff
25 swift           0x0000000000cde571
26 swift           0x0000000000d073ff
27 swift           0x0000000000cde571
28 swift           0x0000000000d073ff
29 swift           0x0000000000cde571
30 swift           0x0000000000d073ff
31 swift           0x0000000000cde571
32 swift           0x0000000000d073ff
33 swift           0x0000000000cde571
34 swift           0x0000000000d073ff
35 swift           0x0000000000cde571
36 swift           0x0000000000d073ff
37 swift           0x0000000000cde571
38 swift           0x0000000000d073ff
39 swift           0x0000000000cde571
40 swift           0x0000000000d073ff
41 swift           0x0000000000cde571
42 swift           0x0000000000d073ff
43 swift           0x0000000000cde571
44 swift           0x0000000000d073ff
45 swift           0x0000000000cde571
46 swift           0x0000000000d073ff
47 swift           0x0000000000cde571
48 swift           0x0000000000d073ff
49 swift           0x0000000000cde571
50 swift           0x0000000000d073ff
51 swift           0x0000000000cde571
52 swift           0x0000000000d073ff
53 swift           0x0000000000cde571
54 swift           0x0000000000d073ff
55 swift           0x0000000000cde571
56 swift           0x0000000000d073ff
57 swift           0x0000000000cde571
58 swift           0x0000000000d073ff
59 swift           0x0000000000cde571
60 swift           0x0000000000d073ff
61 swift           0x0000000000cde571
62 swift           0x0000000000d073ff
63 swift           0x0000000000cde571
64 swift           0x0000000000d073ff
65 swift           0x0000000000cde571
66 swift           0x0000000000d073ff
67 swift           0x0000000000cde571
68 swift           0x0000000000d073ff
69 swift           0x0000000000cde571
70 swift           0x0000000000d073ff
71 swift           0x0000000000cde571
72 swift           0x0000000000d073ff
73 swift           0x0000000000cde571
74 swift           0x0000000000d073ff
75 swift           0x0000000000cde571
76 swift           0x0000000000d073ff
77 swift           0x0000000000cde571
78 swift           0x0000000000d073ff
79 swift           0x0000000000cde571
80 swift           0x0000000000d073ff
81 swift           0x0000000000cde571
82 swift           0x0000000000d073ff
83 swift           0x0000000000cde571
84 swift           0x0000000000d073ff
85 swift           0x0000000000cde571
86 swift           0x0000000000d073ff
87 swift           0x0000000000cde571
88 swift           0x0000000000d073ff
89 swift           0x0000000000cde571
90 swift           0x0000000000d073ff
91 swift           0x0000000000cde571
92 swift           0x0000000000d073ff
93 swift           0x0000000000cde571
94 swift           0x0000000000d073ff
95 swift           0x0000000000cde571
96 swift           0x0000000000d073ff
97 swift           0x0000000000cde571
98 swift           0x0000000000d073ff
99 swift           0x0000000000cde571
100 swift           0x0000000000d073ff
101 swift           0x0000000000cde571
102 swift           0x0000000000d073ff
103 swift           0x0000000000cde571
104 swift           0x0000000000d073ff
105 swift           0x0000000000cde571
106 swift           0x0000000000d073ff
107 swift           0x0000000000cde571
108 swift           0x0000000000d073ff
109 swift           0x0000000000cde571
110 swift           0x0000000000d073ff
111 swift           0x0000000000cde571
112 swift           0x0000000000d073ff
113 swift           0x0000000000cde571
114 swift           0x0000000000d073ff
115 swift           0x0000000000cde571
116 swift           0x0000000000d073ff
117 swift           0x0000000000cde571
118 swift           0x0000000000d073ff
119 swift           0x0000000000cde571
120 swift           0x0000000000d073ff
121 swift           0x0000000000cde571
122 swift           0x0000000000d073ff
123 swift           0x0000000000cde571
124 swift           0x0000000000d073ff
125 swift           0x0000000000cde571
126 swift           0x0000000000d073ff
127 swift           0x0000000000cde571
128 swift           0x0000000000d073ff
129 swift           0x0000000000cde571
130 swift           0x0000000000d073ff
131 swift           0x0000000000cde571
132 swift           0x0000000000d073ff
133 swift           0x0000000000cde571
134 swift           0x0000000000d073ff
135 swift           0x0000000000cde571
136 swift           0x0000000000d073ff
137 swift           0x0000000000cde571
138 swift           0x0000000000d073ff
139 swift           0x0000000000cde571
140 swift           0x0000000000d073ff
141 swift           0x0000000000cde571
142 swift           0x0000000000d073ff
143 swift           0x0000000000cde571
144 swift           0x0000000000d073ff
145 swift           0x0000000000cde571
146 swift           0x0000000000d073ff
147 swift           0x0000000000cde571
148 swift           0x0000000000d073ff
149 swift           0x0000000000cde571
150 swift           0x0000000000d073ff
151 swift           0x0000000000cde571
152 swift           0x0000000000d073ff
153 swift           0x0000000000cde571
154 swift           0x0000000000d073ff
155 swift           0x0000000000cde571
156 swift           0x0000000000d073ff
157 swift           0x0000000000cde571
158 swift           0x0000000000d073ff
159 swift           0x0000000000cde571
160 swift           0x0000000000d073ff
161 swift           0x0000000000cde571
162 swift           0x0000000000d073ff
163 swift           0x0000000000cde571
164 swift           0x0000000000d073ff
165 swift           0x0000000000cde571
166 swift           0x0000000000d073ff
167 swift           0x0000000000cde571
168 swift           0x0000000000d073ff
169 swift           0x0000000000cde571
170 swift           0x0000000000d073ff
171 swift           0x0000000000cde571
172 swift           0x0000000000d073ff
173 swift           0x0000000000cde571
174 swift           0x0000000000d073ff
175 swift           0x0000000000cde571
176 swift           0x0000000000d073ff
177 swift           0x0000000000cde571
178 swift           0x0000000000d073ff
179 swift           0x0000000000cde571
180 swift           0x0000000000d073ff
181 swift           0x0000000000cde571
182 swift           0x0000000000d073ff
183 swift           0x0000000000cde571
184 swift           0x0000000000d073ff
185 swift           0x0000000000cde571
186 swift           0x0000000000d073ff
187 swift           0x0000000000cde571
188 swift           0x0000000000d073ff
189 swift           0x0000000000cde571
190 swift           0x0000000000d073ff
191 swift           0x0000000000cde571
192 swift           0x0000000000d073ff
193 swift           0x0000000000cde571
194 swift           0x0000000000d073ff
195 swift           0x0000000000cde571
196 swift           0x0000000000d073ff
197 swift           0x0000000000cde571
198 swift           0x0000000000d073ff
199 swift           0x0000000000cde571
200 swift           0x0000000000d073ff
201 swift           0x0000000000cde571
202 swift           0x0000000000d073ff
203 swift           0x0000000000cde571
204 swift           0x0000000000d073ff
205 swift           0x0000000000cde571
206 swift           0x0000000000d073ff
207 swift           0x0000000000cde571
208 swift           0x0000000000d073ff
209 swift           0x0000000000cde571
210 swift           0x0000000000d073ff
211 swift           0x0000000000cde571
212 swift           0x0000000000d073ff
213 swift           0x0000000000cde571
214 swift           0x0000000000d073ff
215 swift           0x0000000000cde571
216 swift           0x0000000000d073ff
217 swift           0x0000000000cde571
218 swift           0x0000000000d073ff
219 swift           0x0000000000cde571
220 swift           0x0000000000d073ff
221 swift           0x0000000000cde571
222 swift           0x0000000000d073ff
223 swift           0x0000000000cde571
224 swift           0x0000000000d073ff
225 swift           0x0000000000cde571
226 swift           0x0000000000d073ff
227 swift           0x0000000000cde571
228 swift           0x0000000000d073ff
229 swift           0x0000000000cde571
230 swift           0x0000000000d073ff
231 swift           0x0000000000cde571
232 swift           0x0000000000d073ff
233 swift           0x0000000000cde571
234 swift           0x0000000000d073ff
235 swift           0x0000000000cde571
236 swift           0x0000000000d073ff
237 swift           0x0000000000cde571
238 swift           0x0000000000d073ff
239 swift           0x0000000000cde571
240 swift           0x0000000000d073ff
241 swift           0x0000000000cde571
242 swift           0x0000000000d073ff
243 swift           0x0000000000cde571
244 swift           0x0000000000d073ff
245 swift           0x0000000000cde571
246 swift           0x0000000000d073ff
247 swift           0x0000000000cde571
248 swift           0x0000000000d073ff
249 swift           0x0000000000cde571
250 swift           0x0000000000d073ff
251 swift           0x0000000000cde571
252 swift           0x0000000000d073ff
253 swift           0x0000000000cde571
254 swift           0x0000000000d073ff
255 swift           0x0000000000cde571
```
2016-11-02 16:05:31 +01:00
practicalswift
1432beecac [swiftc (92 vs. 5180)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 92 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007fd8ac048330
3  libc.so.6       0x00007fd8aa806c37 gsignal + 55
4  libc.so.6       0x00007fd8aa80a028 abort + 328
5  swift           0x0000000000d7e52f
6  swift           0x0000000000d81c4f
7  swift           0x0000000000d78180
8  swift           0x0000000000d88ae0
9  swift           0x0000000000d8b8d3
10 swift           0x0000000000d8a3b1
11 swift           0x0000000000d87ec1
12 swift           0x0000000000d87a9c
13 swift           0x0000000000d87112
14 swift           0x0000000000d87014
15 swift           0x0000000000ddbf1e
16 swift           0x0000000000d6eb5c
17 swift           0x0000000000b1b473
18 swift           0x0000000000b529d0
19 swift           0x0000000000957db3
20 swift           0x00000000004a050e
21 swift           0x00000000004674de
22 libc.so.6       0x00007fd8aa7f1f45 __libc_start_main + 245
23 swift           0x0000000000464be6
```
2016-11-02 12:53:08 +01:00
practicalswift
2674dc3f91 [swiftc (91 vs. 5180)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 91 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007fe190d1d330
3  libc.so.6       0x00007fe18f4dbc37 gsignal + 55
4  libc.so.6       0x00007fe18f4df028 abort + 328
5  swift           0x0000000000d7e52f
6  swift           0x0000000000d81c4f
7  swift           0x0000000000d781fc
8  swift           0x0000000000d88ae0
9  swift           0x0000000000d8b8d3
10 swift           0x0000000000d8734b
11 swift           0x0000000000d88b33
12 swift           0x0000000000d87bcd
13 swift           0x0000000000d87112
14 swift           0x0000000000d87014
15 swift           0x0000000000ddbf1e
16 swift           0x0000000000d6eb5c
17 swift           0x0000000000b1b473
18 swift           0x0000000000b529d0
19 swift           0x0000000000957db3
20 swift           0x00000000004a050e
21 swift           0x00000000004674de
22 libc.so.6       0x00007fe18f4c6f45 __libc_start_main + 245
23 swift           0x0000000000464be6
```
2016-11-02 11:13:58 +01:00
practicalswift
6d3b7e7c19 [swiftc (90 vs. 5180)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 90 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007f7402c4e330
3  libc.so.6       0x00007f740140cc37 gsignal + 55
4  libc.so.6       0x00007f7401410028 abort + 328
5  swift           0x0000000000d7e52f
6  swift           0x0000000000d81c4f
7  swift           0x0000000000d781fc
8  swift           0x0000000000d88ae0
9  swift           0x0000000000d8b8d3
10 swift           0x0000000000d88b5f
11 swift           0x0000000000d87bcd
12 swift           0x0000000000d87112
13 swift           0x0000000000d87014
14 swift           0x0000000000ddbf1e
15 swift           0x0000000000d6eb5c
16 swift           0x0000000000b1b473
17 swift           0x0000000000b529d0
18 swift           0x0000000000957db3
19 swift           0x00000000004a050e
20 swift           0x00000000004674de
21 libc.so.6       0x00007f74013f7f45 __libc_start_main + 245
22 swift           0x0000000000464be6
```
2016-11-02 09:10:37 +01:00
practicalswift
81071c31fc [swiftc (89 vs. 5180)] Add crasher at assert(!resultReplacement->isTypeParameter() && "Can't be dependent")
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 89 (5180 resolved)

Assertion failure in [`lib/Sema/TypeCheckProtocol.cpp (line 2038)`](https://github.com/apple/swift/blob/master/lib/Sema/TypeCheckProtocol.cpp#L2038):

```
Assertion `!resultReplacement->isTypeParameter() && "Can't be dependent"' failed.

When executing: swift::Substitution getArchetypeSubstitution(swift::TypeChecker &, swift::DeclContext *, swift::ArchetypeType *, swift::Type)
```

Assertion context:

```
static Substitution getArchetypeSubstitution(TypeChecker &tc,
                                             DeclContext *dc,
                                             ArchetypeType *archetype,
                                             Type replacement) {
  Type resultReplacement = replacement;
  assert(!resultReplacement->isTypeParameter() && "Can't be dependent");
  SmallVector<ProtocolConformanceRef, 4> conformances;

  bool isError =
    replacement->hasError() || replacement->getCanonicalType()->hasError();
  assert((archetype != nullptr || isError) &&
```
Stack trace:

```
0  swift           0x00000000031dc7e8
1  swift           0x00000000031dd066
2  libpthread.so.0 0x00007f084b84f330
3  libc.so.6       0x00007f084a00dc37 gsignal + 55
4  libc.so.6       0x00007f084a011028 abort + 328
5  libc.so.6       0x00007f084a006bf6
6  libc.so.6       0x00007f084a006ca2
7  swift           0x0000000000c0841e
8  swift           0x0000000000c068f2
9  swift           0x0000000000c003e8
10 swift           0x0000000000bfc53a
11 swift           0x0000000000df2293
12 swift           0x0000000000df21d8
13 swift           0x0000000000c25b52
14 swift           0x0000000000c309bc
15 swift           0x0000000000c2f89e
16 swift           0x0000000000c27171
17 swift           0x0000000000c26e6d
18 swift           0x0000000000c27f88
19 swift           0x0000000000c28a32
20 swift           0x0000000000c27e7f
21 swift           0x0000000000c26615
22 swift           0x0000000000bcf9d6
23 swift           0x0000000000bc19f6
24 swift           0x0000000000bcaa0b
25 swift           0x0000000000bc1976
26 swift           0x0000000000bcab8b
27 swift           0x0000000000bc1986
28 swift           0x0000000000bcbb0b
29 swift           0x0000000000bc19a6
30 swift           0x0000000000bc17e6
31 swift           0x0000000000c342ff
32 swift           0x0000000000957dd6
33 swift           0x00000000004a050e
34 swift           0x00000000004674de
35 libc.so.6       0x00007f0849ff8f45 __libc_start_main + 245
36 swift           0x0000000000464be6
```
2016-11-02 07:50:36 +01:00
practicalswift
941bdec6d5 [swiftc (88 vs. 5180)] Add crasher: UNREACHABLE executed at swift/include/swift/AST/CanTypeVisitor.h:41
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 88 (5180 resolved)

Stack trace:

```
0  swift           0x00000000031da6c8
1  swift           0x00000000031daf46
2  libpthread.so.0 0x00007ff86e2b5330
3  libc.so.6       0x00007ff86ca73c37 gsignal + 55
4  libc.so.6       0x00007ff86ca77028 abort + 328
5  swift           0x000000000318311d
6  swift           0x0000000000c74998
7  swift           0x0000000000c73156
8  swift           0x0000000000c72bfe
9  swift           0x0000000000c6fda2
10 swift           0x0000000000c6e237
11 swift           0x0000000000c69d0f
12 swift           0x0000000000c5a9a6
13 swift           0x0000000000c60e90
14 swift           0x0000000000ba991f
15 swift           0x0000000000bac3be
16 swift           0x0000000000bafe77
17 swift           0x0000000000c2099d
18 swift           0x0000000000c202bc
19 swift           0x0000000000c1f455
20 swift           0x0000000000c1e7a3
21 swift           0x0000000000c1e5f7
22 swift           0x0000000000c1f1fc
23 swift           0x0000000000c32e18
24 swift           0x0000000000c3398b
25 swift           0x0000000000957a26
26 swift           0x00000000004a050e
27 swift           0x00000000004674de
28 libc.so.6       0x00007ff86ca5ef45 __libc_start_main + 245
29 swift           0x0000000000464be6
```
2016-11-01 22:29:59 +01:00
practicalswift
54e11fbe7a [swiftc (87 vs. 5180)] Add crasher: UNREACHABLE executed at swift/lib/AST/Module.cpp:614
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 87 (5180 resolved)

Stack trace:

```
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28456-unreachable-executed-at-swift-lib-ast-module-cpp-614.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28456-unreachable-executed-at-swift-lib-ast-module-cpp-614-10867a.o
1.	While type-checking 'a' at validation-test/compiler_crashers/28456-unreachable-executed-at-swift-lib-ast-module-cpp-614.swift:9:1
2.	While resolving type e at [validation-test/compiler_crashers/28456-unreachable-executed-at-swift-lib-ast-module-cpp-614.swift:11:5 - line:11:5] RangeText="e"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-11-01 18:26:07 +01:00
practicalswift
0a25e30828 [swiftc (86 vs. 5180)] Add crasher at assert((!type->hasTypeParameter() || type->hasError()) && "not fully substituted")
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 86 (5180 resolved)

Assertion failure in [`lib/AST/GenericEnvironment.cpp (line 69)`](https://github.com/apple/swift/blob/master/lib/AST/GenericEnvironment.cpp#L69):

```
Assertion `(!type->hasTypeParameter() || type->hasError()) && "not fully substituted"' failed.

When executing: swift::Type swift::GenericEnvironment::mapTypeIntoContext(swift::ModuleDecl *, swift::Type) const
```

Assertion context:

```
}

Type GenericEnvironment::mapTypeIntoContext(ModuleDecl *M, Type type) const {
  type = type.subst(M, InterfaceToArchetypeMap, SubstFlags::AllowLoweredTypes);
  assert((!type->hasTypeParameter() || type->hasError()) &&
         "not fully substituted");
  return type;
}

Type GenericEnvironment::mapTypeIntoContext(GenericTypeParamType *type) const {
  auto canTy = type->getCanonicalType();
```
Stack trace:

```
swift: /path/to/swift/lib/AST/GenericEnvironment.cpp:69: swift::Type swift::GenericEnvironment::mapTypeIntoContext(swift::ModuleDecl *, swift::Type) const: Assertion `(!type->hasTypeParameter() || type->hasError()) && "not fully substituted"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28455-type-hastypeparameter-type-haserror-not-fully-substituted-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28455-type-hastypeparameter-type-haserror-not-fully-substituted-failed-376906.o
1.	While type-checking 'A' at validation-test/compiler_crashers/28455-type-hastypeparameter-type-haserror-not-fully-substituted-failed.swift:10:1
2.	While type-checking expression at [validation-test/compiler_crashers/28455-type-hastypeparameter-type-haserror-not-fully-substituted-failed.swift:10:25 - line:10:25] RangeText="e"
3.	While type-checking 'f' at validation-test/compiler_crashers/28455-type-hastypeparameter-type-haserror-not-fully-substituted-failed.swift:11:1
4.	While resolving type B at [validation-test/compiler_crashers/28455-type-hastypeparameter-type-haserror-not-fully-substituted-failed.swift:11:13 - line:11:13] RangeText="B"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-11-01 08:52:30 +01:00
Doug Gregor
852cda6c75 [Conformance checking] Factor requirement environment into its own type.
Rather than computing the requirement environment as a tuple of
(generic signature, generic environment, substitution map),
encapsulate the result in a new RequirementEnvironment
class. Moreover, create a RequirementEnvironment once and re-use it
when matching each of the witnesses, because the environment itself
doesn't change---only the substitutions do. This saves us some work
when there are multiple potential witnesses (which is common).
2016-10-31 14:11:58 -07:00
practicalswift
96669b4c3e [swiftc (86 vs. 5179)] Add crasher at assert(hasVal)
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 86 (5179 resolved)

Assertion failure in `llvm/include/llvm/ADT/Optional.h (line 138)`:

```
Assertion `hasVal' failed.

When executing: T &&llvm::Optional<swift::constraints::SelectedOverload>::operator*() && [T = swift::constraints::SelectedOverload]
```

Assertion context:

```
    return hasValue() ? getValue() : std::forward<U>(value);
  }

#if LLVM_HAS_RVALUE_REFERENCE_THIS
  T&& getValue() && { assert(hasVal); return std::move(*getPointer()); }
  T&& operator*() && { assert(hasVal); return std::move(*getPointer()); }

  template <typename U>
  T getValueOr(U &&value) && {
    return hasValue() ? std::move(getValue()) : std::forward<U>(value);
  }
```
Stack trace:

```
swift: /path/to/llvm/include/llvm/ADT/Optional.h:138: T &&llvm::Optional<swift::constraints::SelectedOverload>::operator*() && [T = swift::constraints::SelectedOverload]: Assertion `hasVal' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28454-hasval-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28454-hasval-failed-f00cda.o
1.	While type-checking expression at [validation-test/compiler_crashers/28454-hasval-failed.swift:10:1 - line:10:4] RangeText=".A[]"
2.	While type-checking expression at [validation-test/compiler_crashers/28454-hasval-failed.swift:10:1 - line:10:4] RangeText=".A[]"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 16:34:48 +01:00
practicalswift
2cfa124c95 [swiftc (85 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 85 (5179 resolved)

Assertion failure in [`lib/AST/GenericEnvironment.cpp (line 77)`](https://github.com/apple/swift/blob/master/lib/AST/GenericEnvironment.cpp#L77):

```
Assertion `found != InterfaceToArchetypeMap.end() && "missing generic parameter"' failed.

When executing: swift::Type swift::GenericEnvironment::mapTypeIntoContext(swift::GenericTypeParamType *) const
```

Assertion context:

```

Type GenericEnvironment::mapTypeIntoContext(GenericTypeParamType *type) const {
  auto canTy = type->getCanonicalType();
  auto found = InterfaceToArchetypeMap.find(canTy.getPointer());
  assert(found != InterfaceToArchetypeMap.end() &&
         "missing generic parameter");
  return found->second;
}

GenericTypeParamType *GenericEnvironment::getSugaredType(
    GenericTypeParamType *type) const {
```
Stack trace:

```
swift: /path/to/swift/lib/AST/GenericEnvironment.cpp:77: swift::Type swift::GenericEnvironment::mapTypeIntoContext(swift::GenericTypeParamType *) const: Assertion `found != InterfaceToArchetypeMap.end() && "missing generic parameter"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28453-found-interfacetoarchetypemap-end-missing-generic-parameter-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28453-found-interfacetoarchetypemap-end-missing-generic-parameter-failed-d2922d.o
1.	While type-checking 'a' at validation-test/compiler_crashers/28453-found-interfacetoarchetypemap-end-missing-generic-parameter-failed.swift:10:1
2.	While type-checking 'e' at validation-test/compiler_crashers/28453-found-interfacetoarchetypemap-end-missing-generic-parameter-failed.swift:11:1
3.	While type-checking 'b' at validation-test/compiler_crashers/28453-found-interfacetoarchetypemap-end-missing-generic-parameter-failed.swift:14:1
4.	While resolving type A at [validation-test/compiler_crashers/28453-found-interfacetoarchetypemap-end-missing-generic-parameter-failed.swift:14:8 - line:14:8] RangeText="A"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 14:43:32 +01:00
practicalswift
a4673d21ee [swiftc (84 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 84 (5179 resolved)

Assertion failure in [`include/swift/AST/Decl.h (line 4613)`](https://github.com/apple/swift/blob/master/include/swift/AST/Decl.h#L4613):

```
Assertion `!this->GenericEnv && "already have generic context?"' failed.

When executing: void swift::AbstractFunctionDecl::setGenericEnvironment(swift::GenericEnvironment *)
```

Assertion context:

```
  /// Retrieve the generic context for this function.
  GenericEnvironment *getGenericEnvironment() const { return GenericEnv; }

  /// Set the generic context of this function.
  void setGenericEnvironment(GenericEnvironment *GenericEnv) {
    assert(!this->GenericEnv && "already have generic context?");
    this->GenericEnv = GenericEnv;
  }

  // Expose our import as member status
  bool isImportAsMember() const { return IAMStatus.isImportAsMember(); }
```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/Decl.h:4613: void swift::AbstractFunctionDecl::setGenericEnvironment(swift::GenericEnvironment *): Assertion `!this->GenericEnv && "already have generic context?"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28452-this-genericenv-already-have-generic-context-failed-1a320e.o
1.	While type-checking 'C' at validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift:10:1
2.	While resolving type F at [validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift:15:18 - line:15:18] RangeText="F"
3.	While type-checking 'g' at validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift:15:20
4.	While type-checking 'g' at validation-test/compiler_crashers/28452-this-genericenv-already-have-generic-context-failed.swift:15:1
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 13:20:34 +01:00
practicalswift
88dfb4201d [swiftc (83 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 83 (5179 resolved)

Assertion failure in [`lib/AST/Module.cpp (line 596)`](https://github.com/apple/swift/blob/master/lib/AST/Module.cpp#L596):

```
Assertion `boundGeneric->getGenericArgs().size() == genericSig->getInnermostGenericParams().size()' failed.

When executing: ArrayRef<swift::Substitution> swift::TypeBase::gatherAllSubstitutions(Module *, swift::LazyResolver *, swift::DeclContext *)
```

Assertion context:

```
    if (auto boundGeneric = dyn_cast<BoundGenericType>(parent)) {
      auto genericSig = parentDC->getGenericSignatureOfContext();
      unsigned index = 0;

      assert(boundGeneric->getGenericArgs().size() ==
             genericSig->getInnermostGenericParams().size());

      for (Type arg : boundGeneric->getGenericArgs()) {
        auto paramTy = genericSig->getInnermostGenericParams()[index++];
        substitutions[paramTy->getCanonicalType().getPointer()] = arg;
      }
```
Stack trace:

```
swift: /path/to/swift/lib/AST/Module.cpp:596: ArrayRef<swift::Substitution> swift::TypeBase::gatherAllSubstitutions(Module *, swift::LazyResolver *, swift::DeclContext *): Assertion `boundGeneric->getGenericArgs().size() == genericSig->getInnermostGenericParams().size()' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28451-boundgeneric-getgenericargs-size-genericsig-getinnermostgenericparams-size-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28451-boundgeneric-getgenericargs-size-genericsig-getinnermostgenericparams-size-failed-711855.o
1.	While type-checking expression at [validation-test/compiler_crashers/28451-boundgeneric-getgenericargs-size-genericsig-getinnermostgenericparams-size-failed.swift:10:1 - line:10:46] RangeText="{protocol A{class B{}struct Q<f,g where B:T>:A"
2.	While type-checking 'A' at validation-test/compiler_crashers/28451-boundgeneric-getgenericargs-size-genericsig-getinnermostgenericparams-size-failed.swift:10:2
3.	While resolving type B at [validation-test/compiler_crashers/28451-boundgeneric-getgenericargs-size-genericsig-getinnermostgenericparams-size-failed.swift:10:41 - line:10:41] RangeText="B"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 12:41:22 +01:00
practicalswift
5fa277212a [swiftc (82 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 82 (5179 resolved)

Assertion failure in [`include/swift/AST/Decl.h (line 2375)`](https://github.com/apple/swift/blob/master/include/swift/AST/Decl.h#L2375):

```
Assertion `!UnderlyingTy.getType().isNull() && "getting invalid underlying type"' failed.

When executing: swift::Type swift::TypeAliasDecl::getUnderlyingType() const
```

Assertion context:

```

  /// getUnderlyingType - Returns the underlying type, which is
  /// assumed to have been set.
  Type getUnderlyingType() const {
    assert(!UnderlyingTy.getType().isNull() &&
           "getting invalid underlying type");
    return UnderlyingTy.getType();
  }

  /// computeType - Compute the type (and declared type) of this type alias;
  /// can only be called after the alias type has been resolved.
```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/Decl.h:2375: swift::Type swift::TypeAliasDecl::getUnderlyingType() const: Assertion `!UnderlyingTy.getType().isNull() && "getting invalid underlying type"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed-770015.o
1.	While type-checking 'B' at validation-test/compiler_crashers/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed.swift:10:1
2.	While type-checking 'f' at validation-test/compiler_crashers/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed.swift:11:1
3.	While resolving type d at [validation-test/compiler_crashers/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed.swift:11:13 - line:11:13] RangeText="d"
4.	While type-checking 'd' at validation-test/compiler_crashers/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed.swift:11:15
5.	While type-checking expression at [validation-test/compiler_crashers/28450-underlyingty-gettype-isnull-getting-invalid-underlying-type-failed.swift:12:7 - line:12:7] RangeText="c"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 10:12:08 +01:00
practicalswift
3e36f8f771 [swiftc (81 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 81 (5179 resolved)

Assertion failure in [`lib/Sema/ConstraintGraph.cpp (line 50)`](https://github.com/apple/swift/blob/master/lib/Sema/ConstraintGraph.cpp#L50):

```
Assertion `impl.getGraphIndex() < TypeVariables.size() && "Out-of-bounds index"' failed.

When executing: std::pair<ConstraintGraphNode &, unsigned int> swift::constraints::ConstraintGraph::lookupNode(swift::TypeVariableType *)
```

Assertion context:

```
std::pair<ConstraintGraphNode &, unsigned>
ConstraintGraph::lookupNode(TypeVariableType *typeVar) {
  // Check whether we've already created a node for this type variable.
  auto &impl = typeVar->getImpl();
  if (auto nodePtr = impl.getGraphNode()) {
    assert(impl.getGraphIndex() < TypeVariables.size() && "Out-of-bounds index");
    assert(TypeVariables[impl.getGraphIndex()] == typeVar &&
           "Type variable mismatch");
    return { *nodePtr, impl.getGraphIndex() };
  }

```
Stack trace:

```
swift: /path/to/swift/lib/Sema/ConstraintGraph.cpp:50: std::pair<ConstraintGraphNode &, unsigned int> swift::constraints::ConstraintGraph::lookupNode(swift::TypeVariableType *): Assertion `impl.getGraphIndex() < TypeVariables.size() && "Out-of-bounds index"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28449-impl-getgraphindex-typevariables-size-out-of-bounds-index-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28449-impl-getgraphindex-typevariables-size-out-of-bounds-index-failed-6fc8cd.o
1.	While type-checking expression at [validation-test/compiler_crashers/28449-impl-getgraphindex-typevariables-size-out-of-bounds-index-failed.swift:10:7 - line:10:21] RangeText=".E={return $0 c"
2.	While type-checking expression at [validation-test/compiler_crashers/28449-impl-getgraphindex-typevariables-size-out-of-bounds-index-failed.swift:10:7 - line:10:21] RangeText=".E={return $0 c"
3.	While type-checking expression at [validation-test/compiler_crashers/28449-impl-getgraphindex-typevariables-size-out-of-bounds-index-failed.swift:10:18 - line:10:18] RangeText="$"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 09:04:59 +01:00
practicalswift
96cda58a04 [swiftc (80 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 80 (5179 resolved)

Assertion failure in [`lib/AST/ArchetypeBuilder.cpp (line 1693)`](https://github.com/apple/swift/blob/master/lib/AST/ArchetypeBuilder.cpp#L1693):

```
Assertion `dist > 0 && "nested type should have matched associated type"' failed.

When executing: swift::Identifier typoCorrectNestedType(ArchetypeBuilder::PotentialArchetype *)
```

Assertion context:

```
        continue;

      unsigned dist = name.edit_distance(assocType->getName().str(),
                                         /*allowReplacements=*/true,
                                         maxScore);
      assert(dist > 0 && "nested type should have matched associated type");
      if (bestEditDistance == 0 || dist == bestEditDistance) {
        bestEditDistance = dist;
        maxScore = bestEditDistance;
        bestMatches.push_back(assocType->getName());
      } else if (dist < bestEditDistance) {
```
Stack trace:

```
swift: /path/to/swift/lib/AST/ArchetypeBuilder.cpp:1693: swift::Identifier typoCorrectNestedType(ArchetypeBuilder::PotentialArchetype *): Assertion `dist > 0 && "nested type should have matched associated type"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28448-dist-nested-type-should-have-matched-associated-type-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28448-dist-nested-type-should-have-matched-associated-type-failed-6ab04f.o
1.	While type-checking extension of A at validation-test/compiler_crashers/28448-dist-nested-type-should-have-matched-associated-type-failed.swift:10:1
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-31 08:06:05 +01:00
practicalswift
dda9d2f000 [swiftc (79 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 79 (5179 resolved)

Assertion failure in [`lib/AST/Type.cpp (line 1280)`](https://github.com/apple/swift/blob/master/lib/AST/Type.cpp#L1280):

```
Assertion `Result && "Case not implemented!"' failed.

When executing: swift::CanType swift::TypeBase::getCanonicalType()
```

Assertion context:

```
  }
  }

  // Cache the canonical type for future queries.
  assert(Result && "Case not implemented!");
  CanonicalType = Result;
  return CanType(Result);
}

```
Stack trace:

```
swift: /path/to/swift/lib/AST/Type.cpp:1280: swift::CanType swift::TypeBase::getCanonicalType(): Assertion `Result && "Case not implemented!"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28447-result-case-not-implemented-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28447-result-case-not-implemented-failed-778155.o
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-30 21:49:35 +01:00
practicalswift
c600b48768 [swiftc (78 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 78 (5179 resolved)

Assertion failure in [`include/swift/AST/DiagnosticEngine.h (line 614)`](https://github.com/apple/swift/blob/master/include/swift/AST/DiagnosticEngine.h#L614):

```
Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.

When executing: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, Diag<ArgTypes...>, typename detail::PassArgument<ArgTypes>::type...) [ArgTypes = <swift::Type>]
```

Assertion context:

```
    /// the types expected by the diagnostic \p ID.
    template<typename ...ArgTypes>
    InFlightDiagnostic
    diagnose(SourceLoc Loc, Diag<ArgTypes...> ID,
             typename detail::PassArgument<ArgTypes>::type... Args) {
      assert(!ActiveDiagnostic && "Already have an active diagnostic");
      ActiveDiagnostic = Diagnostic(ID, std::move(Args)...);
      ActiveDiagnostic->setLoc(Loc);
      return InFlightDiagnostic(*this);
    }

```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/DiagnosticEngine.h:614: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, Diag<ArgTypes...>, typename detail::PassArgument<ArgTypes>::type...) [ArgTypes = <swift::Type>]: Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28446-activediagnostic-already-have-an-active-diagnostic-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28446-activediagnostic-already-have-an-active-diagnostic-failed-9fd888.o
1.	While type-checking 'A' at validation-test/compiler_crashers/28446-activediagnostic-already-have-an-active-diagnostic-failed.swift:10:1
2.	While type-checking expression at [validation-test/compiler_crashers/28446-activediagnostic-already-have-an-active-diagnostic-failed.swift:10:15 - line:10:15] RangeText="0"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-30 20:58:52 +01:00
practicalswift
70d9a14229 [swiftc (77 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 77 (5179 resolved)

Assertion failure in [`lib/Sema/TypeCheckDecl.cpp (line 7155)`](https://github.com/apple/swift/blob/master/lib/Sema/TypeCheckDecl.cpp#L7155):

```
Assertion `gp->getOuterParameters() == proto->getDeclContext()->getGenericParamsOfContext()' failed.

When executing: void swift::TypeChecker::validateDecl(swift::ValueDecl *, bool)
```

Assertion context:

```
    (void) gp;

    validateGenericTypeSignature(proto);

    assert(gp->getOuterParameters() ==
           proto->getDeclContext()->getGenericParamsOfContext());

    // Record inherited protocols.
    resolveInheritedProtocols(proto);

    validateAttributes(*this, D);
```
Stack trace:

```
swift: /path/to/swift/lib/Sema/TypeCheckDecl.cpp:7155: void swift::TypeChecker::validateDecl(swift::ValueDecl *, bool): Assertion `gp->getOuterParameters() == proto->getDeclContext()->getGenericParamsOfContext()' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28445-gp-getouterparameters-proto-getdeclcontext-getgenericparamsofcontext-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28445-gp-getouterparameters-proto-getdeclcontext-getgenericparamsofcontext-failed-cb77c4.o
1.	While type-checking 'A' at validation-test/compiler_crashers/28445-gp-getouterparameters-proto-getdeclcontext-getgenericparamsofcontext-failed.swift:10:1
2.	While type-checking expression at [validation-test/compiler_crashers/28445-gp-getouterparameters-proto-getdeclcontext-getgenericparamsofcontext-failed.swift:10:16 - line:10:17] RangeText="<c"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-30 20:01:48 +01:00
practicalswift
33f7965acf [swiftc (76 vs. 5179)] Add crasher in ?
Add test case for crash triggered in `?`.

Current number of unresolved compiler crashers: 76 (5179 resolved)

Assertion failure in [`lib/AST/ProtocolConformance.cpp (line 271)`](https://github.com/apple/swift/blob/master/lib/AST/ProtocolConformance.cpp#L271):

```
Assertion `resolver && "Unable to resolve type witness"' failed.

When executing: std::pair<const Substitution &, TypeDecl *> swift::NormalProtocolConformance::getTypeWitnessSubstAndDecl(swift::AssociatedTypeDecl *, swift::LazyResolver *) const
```

Assertion context:

```
  if (Resolver)
    resolveLazyInfo();

  auto known = TypeWitnesses.find(assocType);
  if (known == TypeWitnesses.end()) {
    assert(resolver && "Unable to resolve type witness");
    resolver->resolveTypeWitness(this, assocType);
    known = TypeWitnesses.find(assocType);
    assert(known != TypeWitnesses.end() && "Didn't resolve witness?");
  }

```
Stack trace:

```
swift: /path/to/swift/lib/AST/ProtocolConformance.cpp:271: std::pair<const Substitution &, TypeDecl *> swift::NormalProtocolConformance::getTypeWitnessSubstAndDecl(swift::AssociatedTypeDecl *, swift::LazyResolver *) const: Assertion `resolver && "Unable to resolve type witness"' failed.
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28444-resolver-unable-to-resolve-type-witness-failed.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28444-resolver-unable-to-resolve-type-witness-failed-1c716b.o
1.	While type-checking 'd' at validation-test/compiler_crashers/28444-resolver-unable-to-resolve-type-witness-failed.swift:10:1
2.	While type-checking expression at [validation-test/compiler_crashers/28444-resolver-unable-to-resolve-type-witness-failed.swift:10:19 - line:10:19] RangeText="b"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-30 19:06:41 +01:00
Doug Gregor
4cc41e5e64 [Constraint solver] Perform the "occurs" check properly.
We've been performing the "occurs" check when computing potential
bindings for type variables, but we weren't actually performing the
check for bindings that *must* occur. Perform the occurs check before
binding type variables, which fixes a few crashers and is far more principled.

Note that this obviates the need for tracking the type variables we've
substituted in simplifyType(), so simplify that as well.

Fixes rdar://problem/27879334 / SR-2351.
2016-10-25 13:32:06 -07:00
swift-ci
5877db3b6b Merge pull request #5099 from rintaro/rangle-location 2016-10-24 00:16:42 -07:00
Rintaro Ishizaki
31245aaa1a [Sema] Check hasResult() before getResult() from ReturnStmt (#5362)
Fixes compiler_crashers/28390-swift-expr-walk.swift
2016-10-20 08:18:36 +09:00
practicalswift
6efce93515 [swiftc (79 vs. 5175)] Add crasher in swift::TypeBase::getRValueType(...)
Add test case for crash triggered in `swift::TypeBase::getRValueType(...)`.

Current number of unresolved compiler crashers: 79 (5175 resolved)

Assertion failure in [`lib/AST/Type.cpp (line 528)`](https://github.com/apple/swift/blob/master/lib/AST/Type.cpp#L528):

```
Assertion `!t->isLValueType() && "unexpected structural lvalue"' failed.

When executing: swift::Type <anonymous namespace>::GetRValueTypeVisitor::visitType(swift::TypeBase *)
```

Assertion context:

```
  }

  Type visitType(TypeBase *t) {
    // Other types should not structurally contain lvalues.
    assert(!t->isLValueType()
           && "unexpected structural lvalue");
    return t;
  }
};
} // end anonymous namespace

```
Stack trace:

```
swift: /path/to/swift/lib/AST/Type.cpp:528: swift::Type <anonymous namespace>::GetRValueTypeVisitor::visitType(swift::TypeBase *): Assertion `!t->isLValueType() && "unexpected structural lvalue"' failed.
8  swift           0x00000000011ad956 swift::TypeBase::getRValueType() + 22
9  swift           0x00000000010736cb swift::constraints::ConstraintSystem::performMemberLookup(swift::constraints::ConstraintKind, swift::DeclName, swift::Type, swift::FunctionRefKind, swift::constraints::ConstraintLocator*, bool) + 59
11 swift           0x00000000010301c2 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) + 98
12 swift           0x0000000001036830 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) + 4320
13 swift           0x0000000000f5fa6f swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 431
14 swift           0x0000000000f6250e swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 942
17 swift           0x0000000000fe7796 swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 262
18 swift           0x00000000010139cc swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 812
19 swift           0x0000000000f625a4 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 1092
20 swift           0x0000000000f65715 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 309
21 swift           0x0000000000f6591d swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 237
24 swift           0x0000000000f76bd6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
26 swift           0x0000000000fe7936 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 134
27 swift           0x0000000000f9bd7a swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1162
28 swift           0x0000000000d11d16 swift::CompilerInstance::performSema() + 3350
29 swift           0x000000000085e11e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
30 swift           0x000000000082527e main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28442-swift-typebase-getrvaluetype.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28442-swift-typebase-getrvaluetype-2d670e.o
1.	While type-checking declaration 0x6cd84a8 at validation-test/compiler_crashers/28442-swift-typebase-getrvaluetype.swift:10:1
2.	While type-checking expression at [validation-test/compiler_crashers/28442-swift-typebase-getrvaluetype.swift:10:7 - line:10:18] RangeText="{var f=[]f.i"
3.	While type-checking expression at [validation-test/compiler_crashers/28442-swift-typebase-getrvaluetype.swift:10:16 - line:10:18] RangeText="f.i"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-19 09:21:50 +02:00
Rintaro Ishizaki
e61a6d971e Update an compiler crasher
A newline is required to reproduce the problem, because of recent change.
2016-10-19 02:57:36 +09:00
swift-ci
1c8dbc6b60 Merge pull request #5328 from practicalswift/minimize-crashers 2016-10-17 05:57:46 -07:00
practicalswift
c00f3d8dff [gardening] Minimize crash cases. 2016-10-17 14:20:15 +02:00
practicalswift
cc6706606f [swiftc (78 vs. 5175)] Add crasher in swift::TypeRepr::walk(...)
Add test case for crash triggered in `swift::TypeRepr::walk(...)`.

Current number of unresolved compiler crashers: 78 (5175 resolved)

Stack trace:

```
6  swift           0x000000000113673a swift::TypeRepr::walk(swift::ASTWalker&) + 42
9  swift           0x0000000001030a63 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) + 6547
10 swift           0x0000000001035430 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) + 4320
11 swift           0x0000000000f5ed9f swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 431
12 swift           0x0000000000f6183e swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 942
13 swift           0x0000000000f64a45 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 309
14 swift           0x0000000000f64c4d swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 237
17 swift           0x0000000000f75ff6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
20 swift           0x0000000000fe6d16 swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 262
21 swift           0x000000000101293c swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 812
22 swift           0x0000000000f618d4 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 1092
25 swift           0x0000000000fe5ab3 swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 355
26 swift           0x0000000000fe5907 swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) + 39
27 swift           0x0000000000fe650c swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 188
29 swift           0x0000000000f9b21b swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1291
30 swift           0x0000000000d11456 swift::CompilerInstance::performSema() + 3350
31 swift           0x000000000085ddee swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
32 swift           0x00000000008252ae main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28441-swift-typerepr-walk.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28441-swift-typerepr-walk-dca6bf.o
1.	While type-checking 'a' at validation-test/compiler_crashers/28441-swift-typerepr-walk.swift:9:1
2.	While type-checking expression at [validation-test/compiler_crashers/28441-swift-typerepr-walk.swift:9:10 - line:9:21] RangeText="{var _=[T:b}"
3.	While type-checking declaration 0x5ff47d8 at validation-test/compiler_crashers/28441-swift-typerepr-walk.swift:9:11
4.	While type-checking expression at [validation-test/compiler_crashers/28441-swift-typerepr-walk.swift:9:17 - line:9:20] RangeText="[T:b"
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-17 10:35:57 +02:00
practicalswift
f4ff20e6dc [swiftc (77 vs. 5175)] Add crasher in swift::TypeChecker::resolveIdentifierType(...)
Add test case for crash triggered in `swift::TypeChecker::resolveIdentifierType(...)`.

Current number of unresolved compiler crashers: 77 (5175 resolved)

Assertion failure in [`lib/Sema/TypeCheckNameLookup.cpp (line 256)`](https://github.com/apple/swift/blob/master/lib/Sema/TypeCheckNameLookup.cpp#L256):

```
Assertion `!type->is<TupleType>()' failed.

When executing: swift::LookupResult swift::TypeChecker::lookupMember(swift::DeclContext *, swift::Type, swift::DeclName, NameLookupOptions)
```

Assertion context:

```
  // We handle our own overriding/shadowing filtering.
  subOptions &= ~NL_RemoveOverridden;
  subOptions &= ~NL_RemoveNonVisible;

  // We can't have tuple types here; they need to be handled elsewhere.
  assert(!type->is<TupleType>());

  // Local function that performs lookup.
  auto doLookup = [&]() {
    result.clear();

```
Stack trace:

```
swift: /path/to/swift/lib/Sema/TypeCheckNameLookup.cpp:256: swift::LookupResult swift::TypeChecker::lookupMember(swift::DeclContext *, swift::Type, swift::DeclName, NameLookupOptions): Assertion `!type->is<TupleType>()' failed.
10 swift           0x0000000000feb94d swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 157
12 swift           0x0000000000fec95f swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 159
13 swift           0x0000000000feb0f5 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 277
14 swift           0x0000000000fb646f swift::TypeChecker::typeCheckPattern(swift::Pattern*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*) + 991
17 swift           0x0000000000f746d6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
20 swift           0x0000000000fe53f6 swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 262
21 swift           0x000000000101101c swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 812
22 swift           0x0000000000f5ffb4 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 1092
23 swift           0x0000000000f63125 swift::TypeChecker::typeCheckBinding(swift::Pattern*&, swift::Expr*&, swift::DeclContext*) + 309
24 swift           0x0000000000f6332d swift::TypeChecker::typeCheckPatternBinding(swift::PatternBindingDecl*, unsigned int) + 237
27 swift           0x0000000000f746d6 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
30 swift           0x0000000000fe4193 swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 355
31 swift           0x0000000000fe3fe7 swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) + 39
32 swift           0x0000000000fe4bec swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 188
34 swift           0x0000000000f998fb swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1291
35 swift           0x0000000000d10cc6 swift::CompilerInstance::performSema() + 3350
36 swift           0x000000000085dd0e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
37 swift           0x00000000008251ce main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28440-swift-typechecker-resolveidentifiertype.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28440-swift-typechecker-resolveidentifiertype-b3204a.o
1.	While type-checking getter for a at validation-test/compiler_crashers/28440-swift-typechecker-resolveidentifiertype.swift:10:18
2.	While type-checking declaration 0x6dfbb00 at validation-test/compiler_crashers/28440-swift-typechecker-resolveidentifiertype.swift:10:20
3.	While type-checking expression at [validation-test/compiler_crashers/28440-swift-typechecker-resolveidentifiertype.swift:10:26 - line:10:33] RangeText="{var:f.t"
4.	While type-checking declaration 0x6dfba68 at validation-test/compiler_crashers/28440-swift-typechecker-resolveidentifiertype.swift:10:27
5.	While resolving type f.t at [validation-test/compiler_crashers/28440-swift-typechecker-resolveidentifiertype.swift:10:31 - line:10:33] RangeText="f.t"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-16 19:26:06 +02:00
practicalswift
17b8452c9c [swiftc (76 vs. 5175)] Add crasher in swift::Type::transform(...)
Add test case for crash triggered in `swift::Type::transform(...)`.

Current number of unresolved compiler crashers: 76 (5175 resolved)

Stack trace:

```
4  swift           0x00000000011b17fd swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
5  swift           0x000000000100781e swift::constraints::ConstraintSystem::openType(swift::Type, swift::constraints::ConstraintLocatorBuilder, llvm::DenseMap<swift::CanType, swift::TypeVariableType*, llvm::DenseMapInfo<swift::CanType>, llvm::detail::DenseMapPair<swift::CanType, swift::TypeVariableType*> >&) + 78
11 swift           0x0000000001134cee swift::Expr::walk(swift::ASTWalker&) + 46
12 swift           0x00000000010522c8 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) + 200
13 swift           0x00000000010786b6 swift::constraints::ConstraintSystem::Candidate::solve() + 358
14 swift           0x000000000107a8a8 swift::constraints::ConstraintSystem::shrink(swift::Expr*) + 280
15 swift           0x000000000107aa21 swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 65
16 swift           0x0000000000f5d42b swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 347
17 swift           0x0000000000f5ff1e swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 942
21 swift           0x000000000102f143 swift::constraints::ConstraintSystem::diagnoseFailureForExpr(swift::Expr*) + 6547
22 swift           0x0000000001033b10 swift::constraints::ConstraintSystem::salvage(llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::Expr*) + 4320
23 swift           0x0000000000f5d47f swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 431
24 swift           0x0000000000f5ff1e swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 942
27 swift           0x0000000000fe4193 swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 355
28 swift           0x0000000000fe3fe7 swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) + 39
29 swift           0x0000000000fe4bec swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 188
31 swift           0x0000000000f998fb swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1291
32 swift           0x0000000000d10cc6 swift::CompilerInstance::performSema() + 3350
33 swift           0x000000000085dd0e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
34 swift           0x00000000008251ce main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28439-swift-type-transform.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28439-swift-type-transform-c12af4.o
1.	While type-checking 'b' at validation-test/compiler_crashers/28439-swift-type-transform.swift:9:1
2.	While type-checking expression at [validation-test/compiler_crashers/28439-swift-type-transform.swift:10:16 - line:11:4] RangeText="{return[.E == e
3.	While type-checking expression at [validation-test/compiler_crashers/28439-swift-type-transform.swift:10:23 - line:10:30] RangeText="[.E == e"
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-16 12:24:04 +02:00
practicalswift
50bc203f5b [swiftc (75 vs. 5175)] Add crasher in swift::TypeBase::getCanonicalType(...)
Add test case for crash triggered in `swift::TypeBase::getCanonicalType(...)`.

Current number of unresolved compiler crashers: 75 (5175 resolved)

Assertion failure in [`lib/AST/ASTContext.cpp (line 3330)`](https://github.com/apple/swift/blob/master/lib/AST/ASTContext.cpp#L3330):

```
Assertion `!objectTy->hasError() && "cannot have ErrorType wrapped inside LValueType"' failed.

When executing: static swift::LValueType *swift::LValueType::get(swift::Type)
```

Assertion context:

```
  ID.AddPointer(Parent.getPointer());
}

LValueType *LValueType::get(Type objectTy) {
  assert(!objectTy->hasError() &&
         "cannot have ErrorType wrapped inside LValueType");
  assert(!objectTy->is<LValueType>() && !objectTy->is<InOutType>() &&
         "cannot have 'inout' or @lvalue wrapped inside an @lvalue");

  auto properties = objectTy->getRecursiveProperties()
                    | RecursiveTypeProperties::IsLValue;
```
Stack trace:

```
swift: /path/to/swift/lib/AST/ASTContext.cpp:3330: static swift::LValueType *swift::LValueType::get(swift::Type): Assertion `!objectTy->hasError() && "cannot have ErrorType wrapped inside LValueType"' failed.
8  swift           0x00000000011a9c1b swift::TypeBase::getCanonicalType() + 2075
9  swift           0x00000000011aa4a7 swift::TypeBase::isEqual(swift::Type) + 23
10 swift           0x0000000001069e9e swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::TypeMatchKind, unsigned int, swift::constraints::ConstraintLocatorBuilder) + 254
11 swift           0x0000000001075d72 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) + 642
12 swift           0x0000000001008227 swift::constraints::ConstraintSystem::addConstraint(swift::constraints::Constraint*, bool, bool) + 23
13 swift           0x000000000100c27d swift::constraints::ConstraintSystem::resolveOverload(swift::constraints::ConstraintLocator*, swift::Type, swift::constraints::OverloadChoice) + 2365
14 swift           0x0000000001075e88 swift::constraints::ConstraintSystem::simplifyConstraint(swift::constraints::Constraint const&) + 920
15 swift           0x0000000001008227 swift::constraints::ConstraintSystem::addConstraint(swift::constraints::Constraint*, bool, bool) + 23
20 swift           0x0000000001135d9e swift::Expr::walk(swift::ASTWalker&) + 46
21 swift           0x0000000001053068 swift::constraints::ConstraintSystem::generateConstraints(swift::Expr*) + 200
22 swift           0x000000000107c2dd swift::constraints::ConstraintSystem::solve(swift::Expr*&, swift::Type, swift::ExprTypeCheckListener*, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::FreeTypeVariableBinding) + 77
23 swift           0x0000000000f5e28b swift::TypeChecker::solveForExpression(swift::Expr*&, swift::DeclContext*, swift::Type, swift::FreeTypeVariableBinding, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem&, llvm::SmallVectorImpl<swift::constraints::Solution>&, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>) + 347
24 swift           0x0000000000f60d7e swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 942
27 swift           0x0000000000fe5223 swift::TypeChecker::typeCheckFunctionBodyUntil(swift::FuncDecl*, swift::SourceLoc) + 355
28 swift           0x0000000000fe5077 swift::TypeChecker::typeCheckAbstractFunctionBodyUntil(swift::AbstractFunctionDecl*, swift::SourceLoc) + 39
29 swift           0x0000000000fe5c7c swift::TypeChecker::typeCheckAbstractFunctionBody(swift::AbstractFunctionDecl*) + 188
31 swift           0x0000000000f9a75b swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1291
32 swift           0x0000000000d11fd6 swift::CompilerInstance::performSema() + 3350
33 swift           0x000000000085dd1e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
34 swift           0x00000000008251de main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28438-swift-typebase-getcanonicaltype.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28438-swift-typebase-getcanonicaltype-d67508.o
1.	While type-checking setter for f at validation-test/compiler_crashers/28438-swift-typebase-getcanonicaltype.swift:10:39
2.	While type-checking expression at [<invalid loc> - <invalid loc>]
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-13 19:20:00 +02:00
Doug Gregor
c2b9759cd3 Simplify ConstraintSystem::getFixedTypeRecursive and use it consistently.
We had a few places that were performing ad hoc variants of
ConstraintSystem::getFixedTypeRecursive(); simplify it's interface so
we can use it everywhere consistently. Fixes rdar://problem/27261929.
2016-10-11 17:08:52 -07:00
practicalswift
a356eba2b1 [swiftc (75 vs. 5174)] Add crasher in swift::TypeChecker::validateDecl(...)
Add test case for crash triggered in `swift::TypeChecker::validateDecl(...)`.

Current number of unresolved compiler crashers: 75 (5174 resolved)

Assertion failure in [`lib/Sema/TypeCheckDecl.cpp (line 7389)`](https://github.com/apple/swift/blob/master/lib/Sema/TypeCheckDecl.cpp#L7389):

```
Assertion `D->hasType()' failed.

When executing: void swift::TypeChecker::validateDecl(swift::ValueDecl *, bool)
```

Assertion context:

```
    typeCheckDecl(D, true);
    break;
  }
  }

  assert(D->hasType());
}

void TypeChecker::validateAccessibility(ValueDecl *D) {
  if (D->hasAccessibility())
```
Stack trace:

```
swift: /path/to/swift/lib/Sema/TypeCheckDecl.cpp:7389: void swift::TypeChecker::validateDecl(swift::ValueDecl *, bool): Assertion `D->hasType()' failed.
7  swift           0x0000000000f6f608 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 5800
9  swift           0x0000000000f6e547 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1511
10 swift           0x00000000010b6f8f swift::ArchetypeBuilder::PotentialArchetype::getNestedType(swift::Identifier, swift::ArchetypeBuilder&) + 623
11 swift           0x00000000010b9541 swift::ArchetypeBuilder::addConformanceRequirement(swift::ArchetypeBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::RequirementSource, llvm::SmallPtrSetImpl<swift::ProtocolDecl*>&) + 465
14 swift           0x00000000010bb09f swift::ArchetypeBuilder::visitInherited(llvm::ArrayRef<swift::TypeLoc>, llvm::function_ref<bool (swift::Type, swift::SourceLoc)>) + 175
15 swift           0x00000000010b9200 swift::ArchetypeBuilder::addAbstractTypeParamRequirements(swift::AbstractTypeParamDecl*, swift::ArchetypeBuilder::PotentialArchetype*, swift::RequirementSource::Kind, llvm::SmallPtrSetImpl<swift::ProtocolDecl*>&) + 560
16 swift           0x00000000010b8fad swift::ArchetypeBuilder::addGenericParameterRequirements(swift::GenericTypeParamDecl*) + 93
17 swift           0x0000000000fae536 swift::TypeChecker::checkGenericParamList(swift::ArchetypeBuilder*, swift::GenericParamList*, swift::GenericSignature*, swift::GenericEnvironment*, swift::GenericTypeResolver*) + 342
18 swift           0x0000000000fafad6 swift::TypeChecker::validateGenericSignature(swift::GenericParamList*, swift::DeclContext*, swift::GenericSignature*, bool, std::function<void (swift::ArchetypeBuilder&)>) + 118
19 swift           0x0000000000fb0570 swift::TypeChecker::validateGenericTypeSignature(swift::GenericTypeDecl*) + 128
20 swift           0x0000000000f6ea10 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 2736
22 swift           0x0000000000f74636 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
23 swift           0x0000000000f9975f swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1055
24 swift           0x0000000000d11e86 swift::CompilerInstance::performSema() + 3350
25 swift           0x000000000085da1e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
26 swift           0x0000000000824ede main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28437-swift-typechecker-validatedecl.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28437-swift-typechecker-validatedecl-a3dd03.o
1.	While type-checking 'a' at validation-test/compiler_crashers/28437-swift-typechecker-validatedecl.swift:10:1
2.	While type-checking 'B' at validation-test/compiler_crashers/28437-swift-typechecker-validatedecl.swift:14:1
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-10 15:05:55 +02:00
practicalswift
9e51fb9341 [swiftc (74 vs. 5174)] Add crasher in swift::TypeChecker::typeCheckDecl(...)
Add test case for crash triggered in `swift::TypeChecker::typeCheckDecl(...)`.

Current number of unresolved compiler crashers: 74 (5174 resolved)

Assertion failure in [`lib/Sema/TypeCheckType.cpp (line 3023)`](https://github.com/apple/swift/blob/master/lib/Sema/TypeCheckType.cpp#L3023):

```
Assertion `isa<ProtocolDecl>(AFD->getDeclContext()) && "all other cases should be caught earlier"' failed.

When executing: bool swift::TypeChecker::isRepresentableInObjC(const swift::AbstractFunctionDecl *, swift::ObjCReason, Optional<swift::ForeignErrorConvention> &)
```

Assertion context:

```
  if (checkObjCInExtensionContext(*this, AFD, Diagnose))
    return false;

  if (AFD->isOperator()) {
    assert(isa<ProtocolDecl>(AFD->getDeclContext()) &&
           "all other cases should be caught earlier");
    diagnose(AFD, diag::objc_operator_proto);
    return false;
  }

  if (auto *FD = dyn_cast<FuncDecl>(AFD)) {
```
Stack trace:

```
swift: /path/to/swift/lib/Sema/TypeCheckType.cpp:3023: bool swift::TypeChecker::isRepresentableInObjC(const swift::AbstractFunctionDecl *, swift::ObjCReason, Optional<swift::ForeignErrorConvention> &): Assertion `isa<ProtocolDecl>(AFD->getDeclContext()) && "all other cases should be caught earlier"' failed.
14 swift           0x0000000000f74636 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
15 swift           0x0000000000f9975f swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1055
16 swift           0x0000000000d11e86 swift::CompilerInstance::performSema() + 3350
17 swift           0x000000000085da1e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
18 swift           0x0000000000824ede main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28436-swift-typechecker-typecheckdecl.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28436-swift-typechecker-typecheckdecl-3ef15d.o
1.	While type-checking 'a' at validation-test/compiler_crashers/28436-swift-typechecker-typecheckdecl.swift:10:7
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-10 13:23:01 +02:00
practicalswift
dbfe74a7b2 [swiftc (73 vs. 5174)] Add crasher in swift::GenericEnvironment::mapTypeIntoContext(...)
Add test case for crash triggered in `swift::GenericEnvironment::mapTypeIntoContext(...)`.

Current number of unresolved compiler crashers: 73 (5174 resolved)

Stack trace:

```
3  swift           0x0000000001168cac swift::GenericEnvironment::mapTypeIntoContext(swift::GenericTypeParamType*) const + 12
4  swift           0x0000000000fe29bc swift::TypeChecker::resolveTypeInContext(swift::TypeDecl*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 1900
8  swift           0x0000000000fe3efd swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 157
10 swift           0x0000000000fe4ecf swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 159
11 swift           0x0000000000fe36a5 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 277
14 swift           0x0000000000f6c4e7 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1511
17 swift           0x0000000000fbde1a swift::TypeChecker::resolveTypeWitness(swift::NormalProtocolConformance const*, swift::AssociatedTypeDecl*) + 218
18 swift           0x0000000001196b93 swift::NormalProtocolConformance::getTypeWitnessSubstAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*) const + 147
19 swift           0x0000000001196ad8 swift::ProtocolConformance::getTypeWitnessSubstAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*) const + 40
20 swift           0x0000000000fb1bff swift::TypeChecker::lookupMemberType(swift::DeclContext*, swift::Type, swift::Identifier, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 1119
22 swift           0x0000000000fe3efd swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 157
24 swift           0x0000000000fe4ecf swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 159
25 swift           0x0000000000fe36a5 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 277
26 swift           0x0000000000f6ab8a swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 4042
28 swift           0x0000000000f6c404 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1284
32 swift           0x0000000000fe3efd swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 157
34 swift           0x0000000000fe4ecf swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 159
35 swift           0x0000000000fe36a5 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 277
38 swift           0x0000000000f6c4e7 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1511
41 swift           0x0000000000fbde1a swift::TypeChecker::resolveTypeWitness(swift::NormalProtocolConformance const*, swift::AssociatedTypeDecl*) + 218
42 swift           0x0000000001196b93 swift::NormalProtocolConformance::getTypeWitnessSubstAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*) const + 147
43 swift           0x0000000001196ad8 swift::ProtocolConformance::getTypeWitnessSubstAndDecl(swift::AssociatedTypeDecl*, swift::LazyResolver*) const + 40
44 swift           0x0000000000fb1bff swift::TypeChecker::lookupMemberType(swift::DeclContext*, swift::Type, swift::Identifier, swift::OptionSet<swift::NameLookupFlags, unsigned int>) + 1119
46 swift           0x0000000000fe3efd swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 157
48 swift           0x0000000000fe4ecf swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 159
49 swift           0x0000000000fe36a5 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 277
50 swift           0x00000000010ac937 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 151
51 swift           0x0000000001083cf7 swift::IterativeTypeChecker::process(swift::TypeCheckRequest, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 135
52 swift           0x0000000001084452 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 498
53 swift           0x0000000000f69b69 swift::TypeChecker::resolveInheritanceClause(llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>) + 137
54 swift           0x0000000000f6c5b3 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1715
55 swift           0x00000000010ad4d8 swift::IterativeTypeChecker::processResolveTypeDecl(swift::TypeDecl*, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 264
56 swift           0x0000000001083d95 swift::IterativeTypeChecker::process(swift::TypeCheckRequest, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 293
57 swift           0x0000000001084452 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 498
58 swift           0x00000000010845f8 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 920
61 swift           0x0000000000f6c4e7 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 1511
65 swift           0x0000000000fe3efd swift::TypeChecker::resolveIdentifierType(swift::DeclContext*, swift::IdentTypeRepr*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, bool, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 157
67 swift           0x0000000000fe4ecf swift::TypeChecker::resolveType(swift::TypeRepr*, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 159
68 swift           0x0000000000fe36a5 swift::TypeChecker::validateType(swift::TypeLoc&, swift::DeclContext*, swift::OptionSet<swift::TypeResolutionFlags, unsigned int>, swift::GenericTypeResolver*, llvm::function_ref<bool (swift::TypeCheckRequest)>*) + 277
69 swift           0x00000000010ac937 swift::IterativeTypeChecker::processResolveInheritedClauseEntry(std::pair<llvm::PointerUnion<swift::TypeDecl*, swift::ExtensionDecl*>, unsigned int>, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 151
70 swift           0x0000000001083cf7 swift::IterativeTypeChecker::process(swift::TypeCheckRequest, llvm::function_ref<bool (swift::TypeCheckRequest)>) + 135
71 swift           0x0000000001084452 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 498
72 swift           0x00000000010845f8 swift::IterativeTypeChecker::satisfy(swift::TypeCheckRequest) + 920
73 swift           0x0000000000f69a60 swift::TypeChecker::resolveRawType(swift::EnumDecl*) + 64
74 swift           0x000000000119867b swift::NominalTypeDecl::prepareConformanceTable() const + 315
75 swift           0x00000000011989bf swift::NominalTypeDecl::getImplicitProtocols(llvm::SmallVectorImpl<swift::ProtocolDecl*>&) + 15
76 swift           0x0000000000f69f98 swift::TypeChecker::checkInheritanceClause(swift::Decl*, swift::GenericTypeResolver*) + 984
77 swift           0x0000000000f6c069 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 361
80 swift           0x0000000000f72616 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
81 swift           0x0000000000f97a8f swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1055
82 swift           0x0000000000d0fec6 swift::CompilerInstance::performSema() + 3350
83 swift           0x000000000085d20e swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 3422
84 swift           0x00000000008246ce main + 2878
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28435-swift-genericenvironment-maptypeintocontext-94e705.o
1.	While type-checking 'ST' at validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:9:1
2.	While resolving type d at [validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:9:9 - line:9:9] RangeText="d"
3.	While type-checking 'd' at validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:12:36
4.	While resolving type A.B at [validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:10:24 - line:10:26] RangeText="A.B"
5.	While type-checking 'd' at validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:12:15
6.	While resolving type d at [validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:12:22 - line:12:22] RangeText="d"
7.	While resolving type A.B at [validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:10:24 - line:10:26] RangeText="A.B"
8.	While type-checking 'd' at validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:12:15
9.	While resolving type d at [validation-test/compiler_crashers/28435-swift-genericenvironment-maptypeintocontext.swift:12:22 - line:12:22] RangeText="d"
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-09 20:23:56 +02:00
Doug Gregor
50341da32b Use "TypeBase::hasError()" rather than "is<ErrorType>()" where needed.
In most places where we were checking "is<ErrorType>()", we now mean
"any error occurred". The few exceptions are in associated type
inference, code completion, and expression diagnostics, where we might
still work with partial errors.
2016-10-07 10:58:23 -07:00
practicalswift
481f631a99 [swiftc (73 vs. 5173)] Add crasher in swift::Type::transform(...)
Add test case for crash triggered in `swift::Type::transform(...)`.

Current number of unresolved compiler crashers: 73 (5173 resolved)

Stack trace:

```
3  swift           0x00000000011a8634 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 20
4  swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
5  swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
6  swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
7  swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
8  swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
9  swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
10 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
11 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
12 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
13 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
14 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
15 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
16 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
17 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
18 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
19 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
20 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
21 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
22 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
23 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
24 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
25 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
26 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
27 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
28 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
29 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
30 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
31 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
32 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
33 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
34 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
35 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
36 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
37 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
38 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
39 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
40 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
41 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
42 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
43 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
44 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
45 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
46 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
47 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
48 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
49 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
50 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
51 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
52 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
53 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
54 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
55 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
56 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
57 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
58 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
59 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
60 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
61 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
62 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
63 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
64 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
65 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
66 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
67 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
68 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
69 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
70 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
71 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
72 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
73 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
74 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
75 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
76 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
77 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
78 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
79 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
80 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
81 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
82 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
83 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
84 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
85 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
86 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
87 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
88 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
89 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
90 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
91 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
92 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
93 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
94 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
95 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
96 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
97 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
98 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
99 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
100 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
101 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
102 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
103 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
104 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
105 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
106 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
107 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
108 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
109 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
110 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
111 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
112 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
113 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
114 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
115 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
116 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
117 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
118 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
119 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
120 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
121 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
122 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
123 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
124 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
125 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
126 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
127 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
128 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
129 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
130 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
131 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
132 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
133 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
134 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
135 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
136 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
137 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
138 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
139 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
140 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
141 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
142 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
143 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
144 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
145 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
146 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
147 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
148 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
149 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
150 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
151 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
152 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
153 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
154 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
155 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
156 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
157 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
158 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
159 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
160 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
161 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
162 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
163 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
164 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
165 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
166 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
167 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
168 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
169 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
170 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
171 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
172 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
173 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
174 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
175 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
176 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
177 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
178 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
179 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
180 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
181 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
182 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
183 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
184 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
185 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
186 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
187 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
188 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
189 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
190 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
191 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
192 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
193 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
194 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
195 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
196 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
197 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
198 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
199 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
200 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
201 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
202 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
203 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
204 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
205 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
206 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
207 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
208 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
209 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
210 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
211 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
212 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
213 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
214 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
215 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
216 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
217 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
218 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
219 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
220 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
221 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
222 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
223 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
224 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
225 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
226 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
227 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
228 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
229 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
230 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
231 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
232 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
233 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
234 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
235 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
236 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
237 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
238 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
239 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
240 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
241 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
242 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
243 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
244 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
245 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
246 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
247 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
248 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
249 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
250 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
251 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
252 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
253 swift           0x00000000011a88e9 swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 713
254 swift           0x000000000116acb6 swift::GenericSignature::getCanonicalTypeInContext(swift::Type, swift::ModuleDecl&) + 86
255 swift           0x00000000011a864d swift::Type::transform(llvm::function_ref<swift::Type (swift::Type)>) const + 45
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28434-swift-type-transform.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28434-swift-type-transform-8a3623.o
1.	While type-checking 'B' at validation-test/compiler_crashers/28434-swift-type-transform.swift:10:1
2.	While defining default constructor for 'B' at validation-test/compiler_crashers/28434-swift-type-transform.swift:10:1
3.	While type-checking 'init' at validation-test/compiler_crashers/28434-swift-type-transform.swift:10:8
<unknown>:0: error: unable to execute command: Segmentation fault
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-06 16:37:03 +02:00
Slava Pestov
7069fbc9be Sema: Remove unnecessary error path in generic signature validation
The idea here is that if a generic signature has invalid requirements,
we would drop all the requirements and build a new set of archetypes
without requirements.

When this logic was added, it fixed 700 compiler_crashers:

<c258f991f6>

Nowadays it appears that all the underlying issues were solved, so
removing this error path actually fixed two crashers and improved
a couple of diagnostics.
2016-10-04 21:47:53 -04:00
practicalswift
d0fe3764d8 [swiftc (74 vs. 5171)] Add crasher in swift::TypeChecker::typeCheckDecl(...)
Add test case for crash triggered in `swift::TypeChecker::typeCheckDecl(...)`.

Current number of unresolved compiler crashers: 74 (5171 resolved)

Assertion failure in [`include/swift/AST/Decl.h (line 4631)`](https://github.com/apple/swift/blob/master/include/swift/AST/Decl.h#L4631):

```
Assertion `!this->GenericEnv && "already have generic context?"' failed.

When executing: void swift::AbstractFunctionDecl::setGenericEnvironment(swift::GenericEnvironment *)
```

Assertion context:

```
  /// Returns true if the function body throws.
  bool hasThrows() const { return AbstractFunctionDeclBits.Throws; }

  // FIXME: Hack that provides names with keyword arguments for accessors.
  DeclName getEffectiveFullName() const;

  /// \brief If this is a method in a type extension for some type,
  /// return that type, otherwise return Type().
  Type getExtensionType() const;

  /// Returns true if the function has a body written in the source file.
```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/Decl.h:4631: void swift::AbstractFunctionDecl::setGenericEnvironment(swift::GenericEnvironment *): Assertion `!this->GenericEnv && "already have generic context?"' failed.
12 swift           0x0000000000edfc26 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
15 swift           0x0000000000f4b744 swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 244
16 swift           0x0000000000f78aec swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 876
17 swift           0x0000000000ec9506 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 1126
18 swift           0x0000000000ecdb1d swift::TypeChecker::typeCheckForEachBinding(swift::DeclContext*, swift::ForEachStmt*) + 93
21 swift           0x0000000000f4b886 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 134
22 swift           0x0000000000f0452d swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1133
23 swift           0x0000000000c86e69 swift::CompilerInstance::performSema() + 3289
25 swift           0x00000000007e0947 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2887
26 swift           0x00000000007a8e08 main + 2984
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28433-swift-typechecker-typecheckdecl.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28433-swift-typechecker-typecheckdecl-c97902.o
1.	While type-checking expression at [validation-test/compiler_crashers/28433-swift-typechecker-typecheckdecl.swift:10:7 - line:12:11] RangeText="[{protocol a{func e
2.	While type-checking 'a' at validation-test/compiler_crashers/28433-swift-typechecker-typecheckdecl.swift:10:9
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-04 20:42:34 +02:00
practicalswift
9e777efa78 [swiftc (73 vs. 5171)] Add crasher in swift::TypeChecker::validateDecl(...)
Add test case for crash triggered in `swift::TypeChecker::validateDecl(...)`.

Current number of unresolved compiler crashers: 73 (5171 resolved)

Assertion failure in [`include/swift/AST/Decl.h (line 4631)`](https://github.com/apple/swift/blob/master/include/swift/AST/Decl.h#L4631):

```
Assertion `!this->GenericEnv && "already have generic context?"' failed.

When executing: void swift::AbstractFunctionDecl::setGenericEnvironment(swift::GenericEnvironment *)
```

Assertion context:

```
  /// Returns true if the function body throws.
  bool hasThrows() const { return AbstractFunctionDeclBits.Throws; }

  // FIXME: Hack that provides names with keyword arguments for accessors.
  DeclName getEffectiveFullName() const;

  /// \brief If this is a method in a type extension for some type,
  /// return that type, otherwise return Type().
  Type getExtensionType() const;

  /// Returns true if the function has a body written in the source file.
```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/Decl.h:4631: void swift::AbstractFunctionDecl::setGenericEnvironment(swift::GenericEnvironment *): Assertion `!this->GenericEnv && "already have generic context?"' failed.
10 swift           0x0000000000ed9851 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 945
12 swift           0x0000000000eda1e2 swift::TypeChecker::validateDecl(swift::ValueDecl*, bool) + 3394
13 swift           0x00000000010258c1 swift::ArchetypeBuilder::PotentialArchetype::getNestedType(swift::Identifier, swift::ArchetypeBuilder&) + 705
14 swift           0x00000000010289fc swift::ArchetypeBuilder::addConformanceRequirement(swift::ArchetypeBuilder::PotentialArchetype*, swift::ProtocolDecl*, swift::RequirementSource, llvm::SmallPtrSetImpl<swift::ProtocolDecl*>&) + 444
15 swift           0x000000000102b0de swift::ArchetypeBuilder::addRequirement(swift::Requirement const&, swift::RequirementSource) + 318
16 swift           0x000000000102cfd0 swift::ArchetypeBuilder::addGenericSignature(swift::GenericSignature*, swift::GenericEnvironment*, bool) + 592
17 swift           0x0000000000f19b26 swift::TypeChecker::checkGenericParamList(swift::ArchetypeBuilder*, swift::GenericParamList*, swift::GenericSignature*, swift::GenericEnvironment*, swift::GenericTypeResolver*) + 54
19 swift           0x0000000000f1a18b swift::TypeChecker::validateGenericFuncSignature(swift::AbstractFunctionDecl*) + 91
24 swift           0x0000000000edfc26 swift::TypeChecker::typeCheckDecl(swift::Decl*, bool) + 150
27 swift           0x0000000000f4b744 swift::TypeChecker::typeCheckClosureBody(swift::ClosureExpr*) + 244
28 swift           0x0000000000f78aec swift::constraints::ConstraintSystem::applySolution(swift::constraints::Solution&, swift::Expr*, swift::Type, bool, bool, bool) + 876
29 swift           0x0000000000ec9506 swift::TypeChecker::typeCheckExpression(swift::Expr*&, swift::DeclContext*, swift::TypeLoc, swift::ContextualTypePurpose, swift::OptionSet<swift::TypeCheckExprFlags, unsigned int>, swift::ExprTypeCheckListener*, swift::constraints::ConstraintSystem*) + 1126
31 swift           0x0000000000f4b886 swift::TypeChecker::typeCheckTopLevelCodeDecl(swift::TopLevelCodeDecl*) + 134
32 swift           0x0000000000f0452d swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 1133
33 swift           0x0000000000c86e69 swift::CompilerInstance::performSema() + 3289
35 swift           0x00000000007e0947 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2887
36 swift           0x00000000007a8e08 main + 2984
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28432-swift-typechecker-validatedecl.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28432-swift-typechecker-validatedecl-787c14.o
1.	While type-checking expression at [validation-test/compiler_crashers/28432-swift-typechecker-validatedecl.swift:10:1 - line:15:13] RangeText="{protocol A
2.	While type-checking 'A' at validation-test/compiler_crashers/28432-swift-typechecker-validatedecl.swift:10:2
3.	While type-checking 'e' at validation-test/compiler_crashers/28432-swift-typechecker-validatedecl.swift:15:1
4.	While type-checking 'e' at validation-test/compiler_crashers/28432-swift-typechecker-validatedecl.swift:11:2
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-04 19:11:14 +02:00
Rintaro Ishizaki
056aed8fd3 [Parser] Fix right angle location in erroneous parameter list
If '>' could not be found, the parser should return the location of the
last token parsed, instead of the current token.
Previously, it may causes ASTVerifier error "child source range not contained
within its parent" in some cases.
2016-10-03 18:54:46 +09:00
Slava Pestov
581c99ba61 Resolve some crashers 2016-10-03 00:39:50 -04:00
Slava Pestov
639bc460e8 Parser: Fix a case where we emit multiple in-flight diagnostics 2016-10-02 21:17:43 -04:00
practicalswift
cceb35bbdf [swiftc (78 vs. 5165)] Add crasher in swift::Lexer::lexOperatorIdentifier(...)
Add test case for crash triggered in `swift::Lexer::lexOperatorIdentifier(...)`.

Current number of unresolved compiler crashers: 78 (5165 resolved)

Assertion failure in [`include/swift/AST/DiagnosticEngine.h (line 595)`](https://github.com/apple/swift/blob/master/include/swift/AST/DiagnosticEngine.h#L595):

```
Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.

When executing: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, const swift::Diagnostic &)
```

Assertion context:

```
    /// \param D The diagnostic.
    ///
    /// \returns An in-flight diagnostic, to which additional information can
    /// be attached.
    InFlightDiagnostic diagnose(SourceLoc Loc, const Diagnostic &D) {
      assert(!ActiveDiagnostic && "Already have an active diagnostic");
      ActiveDiagnostic = D;
      ActiveDiagnostic->setLoc(Loc);
      return InFlightDiagnostic(*this);
    }

```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/DiagnosticEngine.h:595: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, const swift::Diagnostic &): Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.
9  swift           0x0000000000e3b7b7 swift::Lexer::lexOperatorIdentifier() + 2023
10 swift           0x0000000000e37829 swift::Lexer::lexImpl() + 1273
11 swift           0x0000000000e380c6 swift::Lexer::getTokenAt(swift::SourceLoc) + 230
12 swift           0x0000000000e57b93 swift::Parser::parseInheritance(llvm::SmallVectorImpl<swift::TypeLoc>&, swift::SourceLoc*) + 915
13 swift           0x0000000000e50101 swift::Parser::parseDeclAssociatedType(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1121
14 swift           0x0000000000e4f8c3 swift::Parser::parseDeclTypeAlias(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1267
15 swift           0x0000000000e4a4e4 swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 3316
17 swift           0x0000000000e77799 swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, swift::tok, bool, bool, swift::Diag<>, std::function<swift::ParserStatus ()>) + 393
18 swift           0x0000000000e54c2f swift::Parser::parseDeclProtocol(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1759
19 swift           0x0000000000e4a30a swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2842
21 swift           0x0000000000e77799 swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, swift::tok, bool, bool, swift::Diag<>, std::function<swift::ParserStatus ()>) + 393
22 swift           0x0000000000e51f3a swift::Parser::parseDeclStruct(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1802
23 swift           0x0000000000e4a340 swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2896
25 swift           0x0000000000e77799 swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, swift::tok, bool, bool, swift::Diag<>, std::function<swift::ParserStatus ()>) + 393
26 swift           0x0000000000e4c7ae swift::Parser::parseDeclClass(swift::SourceLoc, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1598
27 swift           0x0000000000e4a630 swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 3648
28 swift           0x0000000000ea7319 swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 841
29 swift           0x0000000000e3eb5c swift::Parser::parseTopLevel() + 156
30 swift           0x0000000000e742d0 swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) + 208
31 swift           0x0000000000c86e46 swift::CompilerInstance::performSema() + 3254
33 swift           0x00000000007e0947 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2887
34 swift           0x00000000007a8e08 main + 2984
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28431-swift-lexer-lexoperatoridentifier.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28431-swift-lexer-lexoperatoridentifier-91641f.o
1.	With parser at source location: validation-test/compiler_crashers/28431-swift-lexer-lexoperatoridentifier.swift:12:1
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-02 11:05:22 +02:00
practicalswift
1907f59c18 [swiftc (77 vs. 5165)] Add crasher in swift::Lexer::lexOperatorIdentifier(...)
Add test case for crash triggered in `swift::Lexer::lexOperatorIdentifier(...)`.

Current number of unresolved compiler crashers: 77 (5165 resolved)

Assertion failure in [`include/swift/AST/DiagnosticEngine.h (line 595)`](https://github.com/apple/swift/blob/master/include/swift/AST/DiagnosticEngine.h#L595):

```
Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.

When executing: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, const swift::Diagnostic &)
```

Assertion context:

```
    /// \param D The diagnostic.
    ///
    /// \returns An in-flight diagnostic, to which additional information can
    /// be attached.
    InFlightDiagnostic diagnose(SourceLoc Loc, const Diagnostic &D) {
      assert(!ActiveDiagnostic && "Already have an active diagnostic");
      ActiveDiagnostic = D;
      ActiveDiagnostic->setLoc(Loc);
      return InFlightDiagnostic(*this);
    }

```
Stack trace:

```
swift: /path/to/swift/include/swift/AST/DiagnosticEngine.h:595: swift::InFlightDiagnostic swift::DiagnosticEngine::diagnose(swift::SourceLoc, const swift::Diagnostic &): Assertion `!ActiveDiagnostic && "Already have an active diagnostic"' failed.
9  swift           0x0000000000e3b5e3 swift::Lexer::lexOperatorIdentifier() + 1555
10 swift           0x0000000000e37829 swift::Lexer::lexImpl() + 1273
11 swift           0x0000000000e380c6 swift::Lexer::getTokenAt(swift::SourceLoc) + 230
12 swift           0x0000000000e57b93 swift::Parser::parseInheritance(llvm::SmallVectorImpl<swift::TypeLoc>&, swift::SourceLoc*) + 915
13 swift           0x0000000000e5498d swift::Parser::parseDeclProtocol(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1085
14 swift           0x0000000000e4a30a swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2842
16 swift           0x0000000000e77799 swift::Parser::parseList(swift::tok, swift::SourceLoc, swift::SourceLoc&, swift::tok, bool, bool, swift::Diag<>, std::function<swift::ParserStatus ()>) + 393
17 swift           0x0000000000e4c7ae swift::Parser::parseDeclClass(swift::SourceLoc, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&) + 1598
18 swift           0x0000000000e4a630 swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 3648
19 swift           0x0000000000ea7319 swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 841
20 swift           0x0000000000e5955c swift::Parser::parseGetSetImpl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::ParameterList*, swift::TypeLoc, swift::Parser::ParsedAccessors&, swift::SourceLoc&, swift::SourceLoc, swift::SourceLoc, llvm::SmallVectorImpl<swift::Decl*>&) + 3468
21 swift           0x0000000000e5ab25 swift::Parser::parseGetSet(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::ParameterList*, swift::TypeLoc, swift::Parser::ParsedAccessors&, swift::SourceLoc, llvm::SmallVectorImpl<swift::Decl*>&) + 117
22 swift           0x0000000000e5b1f4 swift::Parser::parseDeclVarGetSet(swift::Pattern*, swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::SourceLoc, bool, swift::DeclAttributes const&, llvm::SmallVectorImpl<swift::Decl*>&) + 372
23 swift           0x0000000000e4e79a swift::Parser::parseDeclVar(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, swift::DeclAttributes&, llvm::SmallVectorImpl<swift::Decl*>&, swift::SourceLoc, swift::StaticSpellingKind, swift::SourceLoc) + 3130
24 swift           0x0000000000e4a15c swift::Parser::parseDecl(swift::OptionSet<swift::Parser::ParseDeclFlags, unsigned int>, llvm::function_ref<void (swift::Decl*)>) + 2412
25 swift           0x0000000000ea7319 swift::Parser::parseBraceItems(llvm::SmallVectorImpl<swift::ASTNode>&, swift::BraceItemListKind, swift::BraceItemListKind) + 841
26 swift           0x0000000000e3eb5c swift::Parser::parseTopLevel() + 156
27 swift           0x0000000000e742d0 swift::parseIntoSourceFile(swift::SourceFile&, unsigned int, bool*, swift::SILParserState*, swift::PersistentParserState*, swift::DelayedParsingCallbacks*) + 208
28 swift           0x0000000000c86e46 swift::CompilerInstance::performSema() + 3254
30 swift           0x00000000007e0947 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 2887
31 swift           0x00000000007a8e08 main + 2984
Stack dump:
0.	Program arguments: /path/to/swift/bin/swift -frontend -c -primary-file validation-test/compiler_crashers/28430-swift-lexer-lexoperatoridentifier.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -module-name main -o /tmp/28430-swift-lexer-lexoperatoridentifier-10569e.o
1.	With parser at source location: validation-test/compiler_crashers/28430-swift-lexer-lexoperatoridentifier.swift:13:1
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
```
2016-10-01 09:09:53 +02:00