BigPizzaV3/CodexPlusPlus · error · anyhow::Error
启动静默入口失败:{error};回滚 live 配置也失败:{restore_error}
Error message
启动静默入口失败:{error};回滚 live 配置也失败:{restore_error} What it means
Raised in restart_codex_plus_after_stop: spawning the silent Codex++ entry failed and the snapshot rollback of the live relay configuration also failed, so neither the launch nor the config restore succeeded. Both errors are chained into one message.
Source
Thrown at apps/codex-plus-manager/src-tauri/src/commands.rs:680
F: FnOnce(&LaunchRequest) -> anyhow::Result<()>,
{
let snapshot = if let Some(settings) = settings {
let snapshot = RelayLiveSnapshot::capture(home)?;
if let Err(error) = sync_active_relay_to_home(settings, home) {
if let Err(restore_error) = snapshot.restore(home) {
anyhow::bail!("同步当前供应商失败:{error};回滚 live 配置也失败:{restore_error}");
}
return Err(error);
}
Some(snapshot)
} else {
None
};
if let Err(error) = spawn(request) {
if let Some(snapshot) = snapshot {
if let Err(restore_error) = snapshot.restore(home) {
anyhow::bail!("启动静默入口失败:{error};回滚 live 配置也失败:{restore_error}");
}
}
return Err(error);
}
Ok(())
}
#[derive(Debug)]
struct RelayLiveSnapshot {
config: Option<Vec<u8>>,
auth: Option<Vec<u8>>,
}
impl RelayLiveSnapshot {
fn capture(home: &Path) -> anyhow::Result<Self> {
Ok(Self {
config: read_optional_file_bytes(&home.join("config.toml"))?,
auth: read_optional_file_bytes(&home.join("auth.json"))?,View on GitHub (pinned to f2074595a2)
Solutions
- Check the spawn error (executable path, permissions, port conflicts)
- Manually re-apply the relay profile to repair live config
- Review snapshot restore behavior for the secondary failure
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at apps/codex-plus-manager/src-tauri/src/commands.rs:680 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/041d2f710a607e1e.
Report an issue: GitHub.