ESP32-S3 bloat gate red on master: a fresh fbuild build of Blink now links Arduino's Matter library (1.6 MB)
envgap__FastLED__FastLED-4474
01 / FAILURE SIGNATURE
As reported upstream
No identifying execution failure has been captured.
Not a benchmark task.
- In a clean container the reported failure did not reproduce, or the known fix did not make the project run.
02 / ENVIRONMENT RECIPE
- Base commit
fadcf48fcd99965ba49b1e9901e6b4f537df9062- Manifest
pyproject.toml- Reproduce
Awaiting issue-specific recipe- Run under trace
Awaiting a meaningful runtime command
03 / ORIGINAL ISSUE TEXT
FastLED/FastLED #4474 · read the original issue
## Observed The ESP32-S3 bloat gate's Blink build went from 462 KB to 1.6 MB with no change on our side: | run | commit | framework core key | core files | image | |---|---|---|---:|---:| | master bloat run 35436746934, attempt 1 (2026-09-19 10:12Z) | `8999762397` | `07cf2eef0eca` | 59 | 462.49 KB → PASS | | **same run, attempt 2** (re-run 17:2xZ) | `8999762397` | `85bbccbc1fa1` | 60 | **1.60 MB → FAIL** (gate total 1,456,263 B vs 383,158) | | PR #4473 (twice) | PR merge ref | `85bbccbc1fa1` | 60 | 1.60 MB → FAIL | The same commit, re-run, flips. Both attempts install `fbuild==2.5.24` and `zccache==1.14.3`. Everything `fbuild install --dry-run` resolves for esp32s3 is pinned: platform `54.03.20`, arduino-esp32 `3.3.11` core and libs, toolchain `14.2.0_20260121`. It also lists a second platform entry from the floating `releases/download/stable/` URL. ## What gets linked Diffing the failing report (bloat artifact, #4470) against a passing one: | archive | + flash | |---|---:| | `libespressif__esp_matter.a` | 334 KB | | `libnet80211.a` | 119 KB | | `liblwip.a` | 96 KB | | `libbt.a` / `libbtdm_app.a` | 93 KB / 79 KB | | `libmbedcrypto.a`, `libwpa_supplicant.a`, `libpp.a`, `libespressif__mdns.a`, `libphy.a` | ~240 KB | The chain starts in Arduino's `Matter` library (`libmatter.a`, e.g. `MatterWiFiStackWrap`). Its references pull in esp-matter, Wi-Fi and BT. So a fresh build's library selection (`lib_ldf_mode = chain`) now picks the `Matter` library for Blink. ## Impact Every PR touching `src/**` fails the bloat gate, e.g. #4473, and master's next push run will too. Builds with a warm local fbuild cache don't reproduce it: locally, Blink is still 473,524 B. ## Not done The baseline is **not** re-pinned. 1.6 MB is a wrong build, not a cost. The fix belongs to fbuild's library selection, or to whatever it now reads that it didn't at 10:12Z (the floating `stable` platform is the only unpinned input visible). Filing the fbuild side next. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]