Repository navigation
fix: migrate legacy upstream metadata (SPEC-M03) - #64
Conversation
|
Dappnode bot has built and pinned the built packages to an IPFS node, for commit: cca89e4 This is a development version and should only be installed for testing purposes.
Hash: (by dappnodebot/build-action) |
|
| Package | Verdict | Reason | Duration | Cleanup |
|---|---|---|---|---|
bitcoin.dnp.dappnode.eth |
Candidate containers stable (candidate_containers_stable) |
3m 44s | ✅ Passed |
Run overview
| Context | Value |
|---|---|
| Pull request | dappnode/DAppNodePackage-bitcoin#64 |
| Tested commit | cca89e461214 |
| Candidate artifact | Install on DAppNode · /ipfs/QmZn5VqUUF6uVLsi2pV89DwPYrujBzrAxnQ6WhW3nYCrmV |
| Baseline request | automatic |
| Worker | dappnode-near-5 |
| Run ID | gh-pr-64-cca89e461214-a0ea2d4bb766fb65 |
| Execution | 2026-11-09T11:20:41.211592636+00:00 → 2026-11-09T11:24:25.304748073+00:00 (✅ Completed) |
Baseline vs candidate
| Check | Baseline | Candidate |
|---|---|---|
| Version | 0.1.10 |
0.1.11 |
| Install | ✅ Passed · 10s | ✅ Passed · 1m 45s |
| Hard check | ✅ Passed · 3 stable samples | ✅ Passed · 3 stable samples |
| Containers | 1 observed | 1 observed |
| Stabilization | 10s | 10s |
| Log collection | ✅ Passed · 1 container | ✅ Passed · 1 container |
Container comparison
- Added: none
- Removed: none
- Baseline inventory:
DAppNodePackage-bitcoin.dnp.dappnode.eth - Candidate inventory:
DAppNodePackage-bitcoin.dnp.dappnode.eth - Baseline non-running states: none
- Candidate non-running states: none
- Deterministic regressions: ✅ none
Container inventory
Baseline
| Container | Service | State | Image | Created |
|---|---|---|---|---|
DAppNodePackage-bitcoin.dnp.dappnode.eth |
bitcoin.dnp.dappnode.eth |
✅ Running | bitcoin.dnp.dappnode.eth:0.1.10 |
1794223252 |
Candidate
| Container | Service | State | Image | Created |
|---|---|---|---|---|
DAppNodePackage-bitcoin.dnp.dappnode.eth |
bitcoin.dnp.dappnode.eth |
✅ Running | bitcoin.dnp.dappnode.eth:0.1.11 |
1794223372 |
Runtime analysis advisory
❌ Critical — Heuristic and Nexus analysis: Candidate upgrades Bitcoin Core from v26.2.0 to v32.1.0, completes initialization, binds RPC/P2P ports, connects to peers, and advances block-header pre-synchronization to ~35% without errors. One new warning-level finding: fee-estimator data migrated by the new version has an incompatible/too-old file version and is not read (explicitly non-fatal). No crash, fatal error, or network failure observed. Disk-space, RPC-auth, and unknown rpcclienttimeout w…[truncated]
| Analyzer | Status | Summary |
|---|---|---|
| Composite | ❌ Critical | Heuristic and Nexus analysis: Candidate upgrades Bitcoin Core from v26.2.0 to v32.1.0, completes initialization, binds RPC/P2P ports, connects to peers, and advances block-header pre-synchronization to ~35% without errors. One new warning-level finding: fee-estimator data migrated by the new version has an incompatible/too-old file version and is not read (explicitly non-fatal). No crash, fatal error, or network failure observed. Disk-space, RPC-auth, and unknown rpcclienttimeout w…[truncated] |
| Heuristic | ❌ Critical | Candidate logs contain new advisory critical signatures |
| Nexus | Candidate upgrades Bitcoin Core from v26.2.0 to v32.1.0, completes initialization, binds RPC/P2P ports, connects to peers, and advances block-header pre-synchronization to ~35% without errors. One new warning-level finding: fee-estimator data migrated by the new version has an incompatible/too-old file version and is not read (explicitly non-fatal). No crash, fatal error, or network failure observed. Disk-space, RPC-auth, and unknown rpcclienttimeout warnings also occur in the baseline and are n | |
| Baseline evidence | ✅ Clean | No configured suspicious signature was found |
| Candidate evidence | Configured signatures found: fatal |
| Severity | Container | Finding | Evidence |
|---|---|---|---|
| ❌ Critical | DAppNodePackage-bitcoin.dnp.dappnode.eth |
candidate-only log signature: fatal | s.dat. 2026-11-09T11:22:53Z [warning] Unable to read policy estimator data (non-fatal): File version (149900) incompatible: Too old to be read 2026-11-09T11:22:53Z [warning] Failed to read fee estimates fr |
DAppNodePackage-bitcoin.dnp.dappnode.eth |
This warning pair is absent from the baseline and appears only in the candidate after v32.1.0 migrates fee_estimates.dat to the new fees/block_policy_estimates.dat path. The persisted fee-estimator cache cannot be parsed under the new format, so it is discarded and must be rebuilt, potentially causing transient differences in fee estimation after the upgrade. Impact is limited because the baseline data directory also lacked usable fee estimates, and the node explicitly marks the condition non-fa | 2026-11-09T11:22:53Z [warning] Unable to read policy estimator data (non-fatal): File version (149900) incompatible: Too old to be read 2026-11-09T11:22:53Z [warning] Failed to read fee estimates from /root/.bitcoin/fees/block_policy_estimates.dat. Continue anyway. |
Cleanup and diagnostics
| Check | Result |
|---|---|
| Cleanup | ✅ Passed |
| Leftover packages | none |
| Cleanup error | none |
✅ No run errors were recorded.
Deterministic checks decide the verdict. Runtime log analysis is advisory. TropiBot publishes bounded summaries and never posts raw logs.
Context
Fix the SPEC-M03 warning reported by the package specification checks. The legacy
upstreamRepo,upstreamVersionandupstreamArgfields are deprecated.Approach
Replace the legacy fields with
upstream: [{ repo, version, arg }]:bitcoin/bitcoin,v32.1,UPSTREAM_VERSION.Test instructions
Validate this branch with the SDK package-spec checker from the linked PR and confirm that no SPEC-M03 findings remain.
Verified locally:
git diff --checkpasses.Container images were not built locally.