Commit ba1dbef
committed
revert(mqtt): remove IPv6 dual-stack support — measured heap exhaustion
Reverts merge ae04539 (feat/flex-ipv6, PR #25). Enabling IPv6 joins the
device into IPv6 multicast/ND processing; on multicast-heavy LANs (e.g.
with a Thread/Matter border router advertising a ULA prefix) inbound
bursts land in dynamic WiFi RX buffers in internal heap. Measured on a
Station G2 with 4 WSS brokers: min-free floor dropped 36 KB -> 18 KB,
largest free block pinned below the 16 KB publish threshold for minutes
at a time, 523 dropped publishes in 15 minutes. With IPv6 disabled the
floor and max-alloc recovered and publish skips stopped.
The feature only fed the wifi.status display line — no transport uses
IPv6 (all brokers connect over IPv4), so the fleet risk (network-
dependent degradation on unknown home LANs) buys nothing. Revisit after
the Arduino core 3.x / IDF 5.x move if IPv6 transport is ever needed;
the branch remains at feat/flex-ipv6.
Kept from the merge: the wifi.status uptime append now computes the
actual remaining space in the 160-byte reply buffer instead of assuming
a hardcoded 128, fixing a latent overflow of the snprintf bound.1 parent ae04539 commit ba1dbef
4 files changed
Lines changed: 5 additions & 86 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
249 | 249 | | |
250 | 250 | | |
251 | 251 | | |
252 | | - | |
253 | | - | |
254 | | - | |
255 | | - | |
256 | | - | |
257 | | - | |
258 | | - | |
259 | | - | |
260 | | - | |
261 | | - | |
262 | | - | |
263 | | - | |
264 | | - | |
265 | | - | |
266 | | - | |
267 | | - | |
268 | | - | |
269 | | - | |
270 | | - | |
271 | | - | |
272 | 252 | | |
273 | 253 | | |
274 | 254 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
780 | 780 | | |
781 | 781 | | |
782 | 782 | | |
783 | | - | |
784 | | - | |
785 | | - | |
786 | | - | |
787 | | - | |
788 | | - | |
789 | | - | |
790 | | - | |
791 | | - | |
792 | | - | |
793 | | - | |
794 | | - | |
795 | | - | |
796 | | - | |
797 | | - | |
798 | | - | |
799 | | - | |
800 | | - | |
801 | | - | |
802 | | - | |
| 783 | + | |
803 | 784 | | |
804 | 785 | | |
805 | 786 | | |
| |||
809 | 790 | | |
810 | 791 | | |
811 | 792 | | |
| 793 | + | |
| 794 | + | |
| 795 | + | |
812 | 796 | | |
813 | 797 | | |
814 | 798 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
18 | | - | |
19 | 18 | | |
20 | 19 | | |
21 | 20 | | |
| |||
180 | 179 | | |
181 | 180 | | |
182 | 181 | | |
183 | | - | |
184 | | - | |
185 | | - | |
186 | | - | |
187 | 182 | | |
188 | 183 | | |
189 | 184 | | |
| |||
206 | 201 | | |
207 | 202 | | |
208 | 203 | | |
209 | | - | |
210 | | - | |
211 | | - | |
212 | | - | |
213 | | - | |
214 | | - | |
215 | | - | |
216 | | - | |
217 | | - | |
218 | | - | |
219 | | - | |
220 | 204 | | |
221 | 205 | | |
222 | 206 | | |
| |||
845 | 829 | | |
846 | 830 | | |
847 | 831 | | |
848 | | - | |
849 | | - | |
850 | 832 | | |
851 | 833 | | |
852 | 834 | | |
853 | 835 | | |
854 | 836 | | |
855 | | - | |
856 | | - | |
857 | | - | |
858 | | - | |
859 | | - | |
860 | | - | |
861 | | - | |
862 | | - | |
863 | | - | |
864 | | - | |
865 | 837 | | |
866 | 838 | | |
867 | 839 | | |
| |||
1353 | 1325 | | |
1354 | 1326 | | |
1355 | 1327 | | |
1356 | | - | |
1357 | | - | |
1358 | | - | |
1359 | | - | |
1360 | | - | |
1361 | | - | |
1362 | | - | |
1363 | | - | |
1364 | | - | |
1365 | | - | |
| 1328 | + | |
1366 | 1329 | | |
1367 | 1330 | | |
1368 | 1331 | | |
| |||
2117 | 2080 | | |
2118 | 2081 | | |
2119 | 2082 | | |
2120 | | - | |
2121 | | - | |
2122 | | - | |
2123 | 2083 | | |
2124 | 2084 | | |
2125 | 2085 | | |
| |||
2146 | 2106 | | |
2147 | 2107 | | |
2148 | 2108 | | |
2149 | | - | |
2150 | 2109 | | |
2151 | 2110 | | |
2152 | 2111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
433 | | - | |
434 | | - | |
435 | | - | |
436 | | - | |
437 | 433 | | |
438 | 434 | | |
439 | 435 | | |
| |||
0 commit comments