bevyengine/bevy · error · SetTransactionLogFactoryError

Transaction log is already in use so setting the factory doe

Error message

Transaction log is already in use so setting the factory does nothing

What it means

SetTransactionLogFactoryError::AlreadyInUse: returned when calling set_transaction_log_factory after the processor has already created/opened its transaction log, because the factory can only influence log creation before the log is initialized; the call is a no-op and this error informs the caller.

Source

Thrown at crates/bevy_asset/src/processor/mod.rs:1835

    Finished,
}

/// An error that occurs when initializing the [`AssetProcessor`].
#[derive(Error, Debug)]
pub enum InitializeError {
    #[error(transparent)]
    FailedToReadSourcePaths(AssetReaderError),
    #[error(transparent)]
    FailedToReadDestinationPaths(AssetReaderError),
    #[error("Failed to validate asset log: {0}")]
    ValidateLogError(#[from] ValidateLogError),
}

/// An error when attempting to set the transaction log factory.
#[derive(Error, Debug)]
pub enum SetTransactionLogFactoryError {
    /// The transaction log is already in use, so setting the factory does nothing.
    #[error("Transaction log is already in use so setting the factory does nothing")]
    AlreadyInUse,
}

/// An error when retrieving an asset processor.
#[derive(Error, Debug, PartialEq, Eq)]
pub enum GetProcessorError {
    /// The processor of that name does not exist.
    #[error("The processor '{0}' does not exist")]
    Missing(String),
    /// The given short name is ambiguous between several processors.
    #[error("The processor '{processor_short_name}' is ambiguous between several processors: {ambiguous_processor_names:?}")]
    Ambiguous {
        /// The given string for the processor name.
        processor_short_name: String,
        /// The list of processors that might match it.
        ambiguous_processor_names: Vec<&'static str>,
    },
}

View on GitHub (pinned to 396ca72708)

Solutions

  1. Move the set_transaction_log_factory call earlier, before the processor is initialized
  2. Use a custom processor build where the factory is configured prior to log creation
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/bevy_asset/src/processor/mod.rs:1835 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/b9c863db2209831c. Report an issue: GitHub.