bevyengine/bevy · error · LogEntryError

Encountered a duplicate process asset transaction: {0}

Error message

Encountered a duplicate process asset transaction: {0}

What it means

Raised when validating the asset processor transaction log reveals duplicate 'end process asset' entries: an EndProcessAsset transaction was encountered for an asset whose processing had already ended, so the paired begin/end bookkeeping is inconsistent. Typically caused by a crash during logging or manual edits to the log file.

Source

Thrown at crates/bevy_asset/src/processor/log.rs:276

/// 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>),
    /// An asset started processing but never finished at the given asset path.
    #[error("An asset started processing but never finished: {0}")]
    UnfinishedTransaction(AssetPath<'static>),
}

View on GitHub (pinned to 396ca72708)

Solutions

  1. Remove the processed asset directory to force a fresh transaction log
  2. Check for concurrent processor instances writing to the same processed asset folder
Defensive patterns

Strategy: fallback

When it happens

Trigger: Thrown at crates/bevy_asset/src/processor/log.rs:276 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/5e241ac462868f97. Report an issue: GitHub.