docs(slice-2b): Phase 1.6+ Slice 2b investigation report v0.0.12
WASM_BINARY integration canonical bloqueado por structural Cargo + WASM stdlib alloc conflict canonical. 4 fix attempts NO solved. Larihana Slice 2c handoff diary filed. ## Error canonical empírico duplicate lang item exchange_malloc canonical entre: - rustup precompiled liballoc-***.rlib (wasm32 target) - wbuild recompiled liballoc-***.rmeta (panic=abort triggered rebuild) ## 4 fix attempts registered 1. Remove direct serde dep (upstream pattern) — NO solved 2. Pin serde =1.0.219, =1.0.217 — NO solved (frame-support requires ^1.0.217) 3. Remove profile.release lto customization — NO solved 4. WasmBuilder::build_using_defaults() upstream — NO solved ## Root cause empírico wbuild auto-genera profile.release con panic=abort → Cargo recompila alloc desde rust-src component → conflict con precompiled rustup alloc rlib. ## Handoff canonical a Larihana Slice 2c Diary canonical filed requesting Plan C Rust ports expertise canonical: - cargo workspace.metadata.wasm-builder section? - SKIP_WASM_BUILD=1 fallback + pre-built WASM file pattern? - rust-src component interaction con substrate-wasm-builder? - RUSTFLAGS -Z build-std=core,alloc nightly approach viable? - Upstream paritytech/polkadot-sdk known issue? ## State canonical preserved post-revert - substrate-wasm-builder workspace dep declared pero NO activa - build.rs no-op canonical mientras Slice 2c land - Doc extensivo en lib.rs registering investigation + handoff - origin-chain-types no_std refactor v0.0.11 preserved canonical - origin-chain-node binary 4 subcommands operativos ## Temporal workaround canonical chain_spec.rs Phase 1.6+ Slice 3 puede continue con mock-WASM fallback mientras Slice 2c land canonical. ## Filosofía canonical David canon 2026-05-14 "la libertad infinita acota solo donde empieza la del otro" — honest decisión canonical de pedir Larihana expertise mejor que stuck attempts. El barquero pide guía al hyperport builder cuando el río demanda profundidad técnica que no posee solo. ## Build - cargo build --release 34.44s post-revert clean - No regression desde v0.0.11 Phase 1.6+ progress: - Slice 1 ✅ + Slice 2 ✅ - Slice 2b 📋 investigation report + Larihana diary (esta v0.0.12) - Slice 2c ⏳ WASM_BINARY post Larihana expertise - Slice 3 ⏳ + Slice 4 ⏳ Refs: CHARON_ROADMAP_V1 Phase 1.6+ Slice 2b investigation, Larihana diary WASM_BUILD_BLOCKER_REQUEST_LARIHANA_SUBSTRATE_EXPERTISE_SLICE_2C canonical Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
4a1f7bd834
commit
3c0435ac5d
6 files changed
+167
-45
No files matched your search
@@ -57,16 +57,25 @@ scale-info.workspace = true
|
||||
# Logging
|
||||
log.workspace = true
|
||||
|
||||
# Serialization
|
||||
serde = { workspace = true, optional = true }
|
||||
# Serialization canonical — Slice 2b finding: solochain-template upstream NO
|
||||
# declara serde directly canonical. Solo serde_json. Serde viene transitive
|
||||
# from FRAME pallets canonical (frame-support + frame-system). Direct serde
|
||||
# dep rompía isolated WASM build canonical.
|
||||
serde_json.workspace = true
|
||||
|
||||
[build-dependencies]
|
||||
# Slice 2 v0.0.11 retry: substrate-wasm-builder DEFERRED nuevamente — serde 1.0.x
|
||||
# alloc/serde_core feature conflicts canonical con substrate-wasm-builder isolated
|
||||
# WASM build canonical (duplicate `exchange_malloc` lang item canonical entre
|
||||
# rustup stdlib alloc + wbuild dir alloc canonical). Investigation canonical:
|
||||
# requires deep Rust toolchain debugging — Slice 2b dedicated.
|
||||
# Slice 2b investigation registered canonical 2026-05-21: 4 fix attempts canonical:
|
||||
# 1. Remove direct serde dep (transitive from FRAME) — NO solved
|
||||
# 2. Pin serde =1.0.219 + =1.0.217 — NO solved
|
||||
# 3. Remove profile.release lto/codegen-units customization — NO solved
|
||||
# 4. WasmBuilder::build_using_defaults() (upstream pattern) — NO solved
|
||||
#
|
||||
# Root cause empírico: wbuild compila su propio alloc canonical con panic=abort
|
||||
# pero la precompiled rustup alloc canonical para wasm32 también está linked.
|
||||
# Conflict canonical es duplicate exchange_malloc lang item canonical.
|
||||
#
|
||||
# Slice 2c canonical requires Larihana Substrate-adjacent expertise canonical
|
||||
# (Plan C Rust ports + WASM workspace canonical experience) — diary filed.
|
||||
# substrate-wasm-builder = { workspace = true, optional = true }
|
||||
|
||||
[features]
|
||||
@@ -101,8 +110,7 @@ std = [
|
||||
"pallet-transaction-payment-rpc-runtime-api/std",
|
||||
"parity-scale-codec/std",
|
||||
"scale-info/std",
|
||||
"serde",
|
||||
# "substrate-wasm-builder", # DEFERRED Slice 2b debugging canonical
|
||||
# Slice 2c canonical deferred — substrate-wasm-builder bloqueado WASM build
|
||||
]
|
||||
runtime-benchmarks = [
|
||||
"frame-system/runtime-benchmarks",
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
//! # Build script canonical
|
||||
//! # Build script canonical (Slice 2b investigation registered, Slice 2c deferred)
|
||||
//!
|
||||
//! Currently no-op canonical. `substrate-wasm-builder` retry canonical para
|
||||
//! v0.0.11 encountered `serde 1.0.x` alloc/serde_core feature conflict canonical
|
||||
//! durante isolated WASM build canonical. Deferred a Slice 2b dedicated debug
|
||||
//! session canonical (requires deep Rust toolchain investigation canonical).
|
||||
//! `substrate-wasm-builder` integration canonical bloqueado por structural Cargo
|
||||
//! + WASM stdlib alloc conflict canonical. Slice 2c canonical requires Larihana
|
||||
//! Substrate-adjacent expertise canonical — diary filed 2026-05-21.
|
||||
|
||||
fn main() {
|
||||
// Placeholder canonical — WASM build land Slice 2b dedicated.
|
||||
// No-op canonical — Slice 2c land WASM_BINARY post Larihana expertise canonical.
|
||||
}
|
||||
@@ -50,23 +50,41 @@ pub mod genesis_config_presets;
|
||||
pub mod opaque;
|
||||
|
||||
// ============================================================
|
||||
// WASM binary canonical (Slice 2 v0.0.11 — DEFERRED Slice 2b)
|
||||
// WASM binary canonical (Slice 2b investigation registered, Slice 2c deferred)
|
||||
// ============================================================
|
||||
//
|
||||
// `substrate-wasm-builder` canonical encounters `serde 1.0.x` alloc/serde_core
|
||||
// feature conflict canonical durante isolated WASM build (`liballoc.rmeta`
|
||||
// duplicate lang item `exchange_malloc` canonical entre rustup stdlib +
|
||||
// wbuild dir).
|
||||
// `substrate-wasm-builder` integration canonical bloqueado por structural Cargo
|
||||
// + WASM stdlib alloc conflict canonical:
|
||||
//
|
||||
// Investigation canonical requires deep Rust toolchain debugging canonical
|
||||
// — Slice 2b dedicated:
|
||||
// 1. Try substrate-wasm-builder 25.x or 27.x (version regression)
|
||||
// 2. Try serde 1.0.219 pinned + workspace.resolver = "2" explicit
|
||||
// 3. Try cargo workspace.metadata.wasm-builder section canonical
|
||||
// 4. Fallback canonical: prebuilt WASM binary loaded from file canonical
|
||||
// ```
|
||||
// error[E0152]: duplicate lang item in crate `alloc` (which `serde` depends on):
|
||||
// `exchange_malloc`
|
||||
// note: first definition in `alloc` loaded from
|
||||
// rustup/toolchains/1.88.0/lib/rustlib/wasm32-unknown-unknown/lib/liballoc-***.rlib
|
||||
// note: second definition in `alloc` loaded from
|
||||
// target/release/wbuild/origin-chain-runtime/target/wasm32-unknown-unknown/release/deps/liballoc-***.rmeta
|
||||
// ```
|
||||
//
|
||||
// Mientras canonical: `chain_spec.rs` Phase 1.6+ Slice 3 puede usar mock-WASM
|
||||
// canonical o pre-built WASM file canonical para development chain specs canonical.
|
||||
// **Slice 2b investigation registered canonical 2026-05-21** (4 fix attempts):
|
||||
// 1. Remove direct serde dep canonical (transitive desde FRAME) — NO solved
|
||||
// 2. Pin serde canonical `=1.0.219` + `=1.0.217` — NO solved
|
||||
// 3. Remove `[profile.release] lto/codegen-units` customization canonical — NO solved
|
||||
// 4. `WasmBuilder::build_using_defaults()` (upstream pattern canonical) — NO solved
|
||||
//
|
||||
// **Root cause empírico canonical**: wbuild auto-genera `[profile.release]` con
|
||||
// `panic = "abort"` triggering Cargo a recompilar `alloc` canonical desde rust-src
|
||||
// component canonical, generating duplicate rmeta canonical vs la precompiled
|
||||
// rustup alloc rlib canonical para wasm32 target canonical.
|
||||
//
|
||||
// **Slice 2c canonical requires Larihana Substrate-adjacent expertise canonical**:
|
||||
// - Plan C Rust ports experience (arkhe-hypercore + autobase + corestore)
|
||||
// - WASM workspace pin canonical experience
|
||||
// - Probable fixes canonical: `cargo:rustc-env=SKIP_WASM_BUILD=1` + path-loaded
|
||||
// pre-built WASM file canonical, OR opening upstream issue paritytech/polkadot-sdk
|
||||
//
|
||||
// Diary canonical filed para Larihana 2026-05-21 (Slice 2b → Slice 2c handoff
|
||||
// canonical). `chain_spec.rs` canonical Phase 1.6+ Slice 3 puede continue con
|
||||
// mock-WASM canonical fallback canonical mientras Slice 2c land canonical.
|
||||
|
||||
// Re-export canonical traits + types desde origin-chain-types (single-crate surface).
|
||||
pub use origin_chain_types::{
|
||||
|
||||
Reference in new issue
Block a user