bevyengine/bevy · error · ValidateLogError
Encountered an unrecoverable error. All assets will be repro
Error message
Encountered an unrecoverable error. All assets will be reprocessed.
What it means
ValidateLogError::Unrecoverable: the processor transaction log contains the unrecoverable marker, meaning a previous processing session failed in a way that leaves the log unreliable. The processor's documented response is to discard incremental state and reprocess all assets.
Source
Thrown at crates/bevy_asset/src/processor/log.rs:262
#[error("Failed to read log file: {0}")]
Io(#[from] futures_io::Error),
}
/// An error that occurs when writing to the [`ProcessorTransactionLog`] fails.
#[derive(Error, Debug)]
#[error(
"Failed to write {log_entry:?} to the asset processor log. This is not recoverable. {error}"
)]
pub(crate) struct WriteLogError {
pub(crate) log_entry: LogEntry,
pub(crate) error: BevyError,
}
/// An error that occurs when validating the [`ProcessorTransactionLog`] fails.
#[derive(Error, Debug)]
pub enum ValidateLogError {
/// An error that could not be recovered from. All assets will be reprocessed.
#[error("Encountered an unrecoverable error. All assets will be reprocessed.")]
UnrecoverableError,
/// A [`ReadLogError`].
#[error("Failed to read log entries: {0}")]
ReadLogError(BevyError),
/// Duplicated process asset transactions occurred.
#[error("Encountered a duplicate process asset transaction: {0:?}")]
EntryErrors(Vec<LogEntryError>),
}
/// An error that occurs when validating individual [`ProcessorTransactionLog`] entries.
#[derive(Error, Debug)]
pub enum LogEntryError {
/// A duplicate process asset transaction occurred for the given asset path.
#[error("Encountered a duplicate process asset transaction: {0}")]
DuplicateTransaction(AssetPath<'static>),
/// A transaction was ended that never started for the given asset path.
#[error("A transaction was ended that never started {0}")]
EndedMissingTransaction(AssetPath<'static>),View on GitHub (pinned to 396ca72708)
Solutions
- Let the processor reprocess all assets (delete stale processed outputs if needed)
- Find and fix the original failure that wrote the unrecoverable marker (often disk/full crash during processing)
- Ensure only one processor instance writes a given log
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at crates/bevy_asset/src/processor/log.rs:262 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bevyengine/bevy@396ca72708 (2026-08-20).
Data as JSON: /api/errors/53834379b0b37d73.
Report an issue: GitHub.