Commit c517bfd
authored
umm_poison false positive from ISR (#8914)
The umm_poison logic runs outside the UMM_CRITICAL_* umbrella. When interrupt routines do alloc calls, it is possible to interrupt an in-progress allocation just before the poison is set, with a new alloc request resulting in a false "poison check fail" against the in-progress allocation. The SDK does mallocs from ISRs.
SmartConfig can illustrate this issue, see
#3494 (comment)
Other Sketches built with Debug: "Serial," that use the SDK's Promiscuous callbacks are also likely to encounter problems.
The SDK support for "Promiscuous Receive" allocates memory from an ISR context, occasionally interrupting the poison wrapper code before it finishes setting the poison fences resulting in a false poison failed event.1 parent ad9aaef commit c517bfd
File tree
5 files changed
+55
-16
lines changed- cores/esp8266/umm_malloc
5 files changed
+55
-16
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
341 | 341 | | |
342 | 342 | | |
343 | 343 | | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
344 | 355 | | |
345 | 356 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
142 | 142 | | |
143 | 143 | | |
144 | 144 | | |
145 | | - | |
146 | | - | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
147 | 150 | | |
148 | 151 | | |
149 | 152 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
909 | 909 | | |
910 | 910 | | |
911 | 911 | | |
| 912 | + | |
| 913 | + | |
912 | 914 | | |
913 | 915 | | |
914 | 916 | | |
| |||
1068 | 1070 | | |
1069 | 1071 | | |
1070 | 1072 | | |
1071 | | - | |
| 1073 | + | |
1072 | 1074 | | |
1073 | 1075 | | |
1074 | 1076 | | |
| |||
1087 | 1089 | | |
1088 | 1090 | | |
1089 | 1091 | | |
| 1092 | + | |
1090 | 1093 | | |
1091 | | - | |
| 1094 | + | |
1092 | 1095 | | |
1093 | 1096 | | |
1094 | 1097 | | |
| |||
1108 | 1111 | | |
1109 | 1112 | | |
1110 | 1113 | | |
| 1114 | + | |
1111 | 1115 | | |
1112 | | - | |
| 1116 | + | |
1113 | 1117 | | |
1114 | 1118 | | |
1115 | 1119 | | |
| |||
1119 | 1123 | | |
1120 | 1124 | | |
1121 | 1125 | | |
| 1126 | + | |
1122 | 1127 | | |
1123 | | - | |
| 1128 | + | |
1124 | 1129 | | |
1125 | 1130 | | |
1126 | 1131 | | |
| |||
1181 | 1186 | | |
1182 | 1187 | | |
1183 | 1188 | | |
| 1189 | + | |
1184 | 1190 | | |
1185 | | - | |
| 1191 | + | |
1186 | 1192 | | |
1187 | 1193 | | |
1188 | 1194 | | |
| |||
1198 | 1204 | | |
1199 | 1205 | | |
1200 | 1206 | | |
| 1207 | + | |
1201 | 1208 | | |
1202 | | - | |
| 1209 | + | |
1203 | 1210 | | |
1204 | 1211 | | |
1205 | 1212 | | |
| |||
1223 | 1230 | | |
1224 | 1231 | | |
1225 | 1232 | | |
| 1233 | + | |
1226 | 1234 | | |
1227 | | - | |
| 1235 | + | |
1228 | 1236 | | |
1229 | 1237 | | |
1230 | 1238 | | |
| |||
1250 | 1258 | | |
1251 | 1259 | | |
1252 | 1260 | | |
| 1261 | + | |
| 1262 | + | |
1253 | 1263 | | |
1254 | 1264 | | |
1255 | 1265 | | |
| |||
1258 | 1268 | | |
1259 | 1269 | | |
1260 | 1270 | | |
| 1271 | + | |
1261 | 1272 | | |
1262 | 1273 | | |
1263 | 1274 | | |
| |||
1273 | 1284 | | |
1274 | 1285 | | |
1275 | 1286 | | |
| 1287 | + | |
1276 | 1288 | | |
1277 | 1289 | | |
1278 | 1290 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
618 | 618 | | |
619 | 619 | | |
620 | 620 | | |
| 621 | + | |
| 622 | + | |
| 623 | + | |
621 | 624 | | |
622 | 625 | | |
623 | 626 | | |
| |||
637 | 640 | | |
638 | 641 | | |
639 | 642 | | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
640 | 646 | | |
641 | 647 | | |
| 648 | + | |
| 649 | + | |
642 | 650 | | |
643 | 651 | | |
644 | 652 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
163 | 163 | | |
164 | 164 | | |
165 | 165 | | |
166 | | - | |
167 | | - | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
168 | 171 | | |
169 | 172 | | |
170 | 173 | | |
| |||
177 | 180 | | |
178 | 181 | | |
179 | 182 | | |
| 183 | + | |
180 | 184 | | |
181 | 185 | | |
182 | 186 | | |
183 | 187 | | |
184 | 188 | | |
185 | 189 | | |
186 | | - | |
| 190 | + | |
187 | 191 | | |
188 | 192 | | |
189 | | - | |
190 | | - | |
191 | 193 | | |
192 | 194 | | |
193 | 195 | | |
| |||
200 | 202 | | |
201 | 203 | | |
202 | 204 | | |
203 | | - | |
204 | | - | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
205 | 210 | | |
206 | 211 | | |
207 | 212 | | |
| |||
0 commit comments