docs(slice-2c): attempt #5 WASM_BUILD_STD=0 finding registered (alloc resuelto, std leak surface)

Charon sesión 2 continuation 2026-05-24 — empirical test Slice 2c attempt #5:
re-enable substrate-wasm-builder + set WASM_BUILD_STD=0 explicit override.

Findings canonical:
- ✅ alloc/exchange_malloc issue (Slice 2b attempts 1-4 blocker) RESUELTO canonical
- 🎯 NEW canonical layer: panic_impl duplicate via serde/std leakage transitive
- Error canonical: sp-io 40.0.1 panic_impl vs libstd-loaded panic_impl
- Diagnosis: serde pulled con std feature transitively → libstd linked en wasm32

Status canonical:
- Reverted canonical to safe state (no-op build.rs + substrate-wasm-builder dep
  commented). Slice 3 v0.0.13 mock-WASM fallback canonical sigue siendo path
  canonical estable canonical.
- Slice 2d canonical future requires deeper investigation canonical (inverted
  feature tree + serde patch o WASM_BUILD_RUSTFLAGS override o stable2512-4+ fix).

Documentation canonical filed:
- build.rs canonical: 5 attempts registered + Slice 2d path forward canonical
- Cargo.toml [build-deps]: comments canonical updated canonical
- CHANGELOG canonical: Unreleased section canonical Slice 2c attempt #5 entry

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
davidherranandClaude Opus 4.7 committed 2026-05-24 12:46:24 -05:00
1 parent a2925f67b9
commit b67a6ca1c6
3 files changed
+86 -16

No files matched your search

+33
View File
@@ -6,6 +6,39 @@ by [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). Versions follow
## [Unreleased]
### Slice 2c attempt #5 finding canonical (2026-05-24 sesión 2 cont)
**Empirical test canonical WASM_BUILD_STD=0 explicit override**:
Re-enabled substrate-wasm-builder + set WASM_BUILD_STD=0 env explicit. Upstream
docs confirman default = disabled para Rust >= 1.84 (mi pin 1.88.0).
**Resultado canonical**:
- ✅ `exchange_malloc/alloc` issue (Slice 2b attempts 1-4 blocker) **RESUELTO canonical**
- 🎯 NEW canonical layer surface: `panic_impl` duplicate canonical via std leakage
- Error canonical:
```
error[E0152]: found duplicate lang item `panic_impl`
--> sp-io-40.0.1/src/lib.rs:1774:1
= note: the lang item is first defined in crate `std` (which `serde` depends on)
= note: first definition in `std` loaded from libstd-*.rlib
= note: second definition in the local crate (`sp_io`)
```
**Diagnosis canonical**: `serde` está siendo pulled con `std` feature canonical
transitively desde algún dep (parity-scale-codec o frame-*) → libstd canonical
linked en wasm32 → conflict canonical con `sp_io::panic` handler canonical (que
define panic_impl para no_std runtime).
**Path canonical Slice 2d future canonical**:
- Inverted feature tree exact culprit identification canonical
- Override canonical `[patch.crates-io] serde = {...}` con strict no-std
- O explicit `WASM_BUILD_RUSTFLAGS` canonical override
- O wait stable2512-4+ upstream canonical fix
**Status canonical actual**: Reverted canonical to stable canonical state (no-op
build.rs + substrate-wasm-builder dep canonical commented). Slice 3 v0.0.13
mock-WASM fallback canonical sigue siendo el canonical path canonical estable.
## [0.0.13] — 2026-05-22 — Phase 1.6+ Slice 3 "ChainSpec builder canonical (mock-WASM fallback)"
Charon sesión 2. **Phase 1.6+ Slice 3 canonical shipped** — real ChainSpec JSON