BigPizzaV3/CodexPlusPlus · error
主题市场缓存超过大小限制
Error message
主题市场缓存超过大小限制
What it means
Size-limit guard in read_cached_manifest: the on-disk market cache file is larger than the allowed cap, so it is not even parsed. An oversized cache indicates corruption or tampering; the cache should be discarded and refetched.
Source
Thrown at crates/codex-plus-core/src/dream_skin_market.rs:294
bytes.extend_from_slice(&chunk);
}
if bytes.is_empty() {
bail!("下载内容为空");
}
Ok(bytes)
}
fn cache_manifest(state_dir: &Path, manifest: &DreamSkinMarketManifest) -> anyhow::Result<()> {
let bytes = serde_json::to_vec_pretty(manifest)?;
crate::settings::atomic_write(&state_dir.join(MARKET_CACHE_FILE), &bytes)
}
fn read_cached_manifest(state_dir: &Path) -> anyhow::Result<DreamSkinMarketManifest> {
let path = state_dir.join(MARKET_CACHE_FILE);
let metadata = std::fs::metadata(&path)
.with_context(|| format!("主题市场缓存不存在:{}", path.display()))?;
if metadata.len() > MARKET_INDEX_LIMIT as u64 {
bail!("主题市场缓存超过大小限制");
}
let mut manifest: DreamSkinMarketManifest =
serde_json::from_slice(&std::fs::read(&path)?).context("主题市场缓存不是有效 JSON")?;
validate_manifest(&mut manifest)?;
Ok(manifest)
}
fn read_install_records(state_dir: &Path) -> anyhow::Result<MarketInstallRecords> {
let path = state_dir.join(MARKET_INSTALLS_FILE);
if !path.is_file() {
return Ok(MarketInstallRecords {
schema_version: market_schema_version(),
themes: BTreeMap::new(),
});
}
let records: MarketInstallRecords = serde_json::from_slice(&std::fs::read(path)?)?;
if records.schema_version != market_schema_version() {
bail!("不支持的主题市场安装记录版本");View on GitHub (pinned to f2074595a2)
Solutions
- Delete the market cache file so the next load fetches a fresh manifest
- Check disk for corruption or unexpected writes to the cache path
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/codex-plus-core/src/dream_skin_market.rs:294 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23).
Data as JSON: /api/errors/2bb3ac23942da785.
Report an issue: GitHub.