firecracker-microvm/firecracker · error

Unable to create EventManager

Error message

Unable to create EventManager

What it means

Error "Unable to create EventManager" thrown in firecracker-microvm/firecracker.

Source

Thrown at src/firecracker/src/main.rs:636

    Shutdown(FcExitCode),
    /// Failed to build MicroVM from Json: {0}
    BuildMicroVMFromJson(BuildFromJsonError),
    /// Missing vmm seccomp filter
    MissingSeccompFilter,
    /// Failed to install vmm seccomp filter: {0}
    SeccompFilter(vmm::seccomp::InstallationError),
}

fn run_without_api(
    seccomp_filters: &BpfThreadMap,
    config_json: Option<String>,
    instance_info: InstanceInfo,
    bool_timer_enabled: bool,
    pci_enabled: bool,
    mmds_size_limit: usize,
    metadata_json: Option<&str>,
) -> Result<(), RunWithoutApiError> {
    let mut event_manager = EventManager::new().expect("Unable to create EventManager");

    // Create the firecracker metrics object responsible for periodically printing metrics.
    let firecracker_metrics = Arc::new(Mutex::new(metrics::PeriodicMetrics::new()));
    event_manager.add_subscriber(firecracker_metrics.clone());

    // Build the microVm. We can ignore VmResources since it's not used without api.
    let vmm = build_microvm_from_json(
        seccomp_filters,
        &mut event_manager,
        // Safe to unwrap since '--no-api' requires this to be set.
        config_json.unwrap(),
        instance_info,
        bool_timer_enabled,
        pci_enabled,
        mmds_size_limit,
        metadata_json,
    )
    .map_err(RunWithoutApiError::BuildMicroVMFromJson)?;

View on GitHub (pinned to 0a745def42)

Solutions

  1. Check the process file-descriptor limit; EventManager creation fails when epoll/eventfd fds cannot be allocated.
  2. Inspect the underlying OS error from EventManager::new for the precise cause.

When it happens

Trigger: Thrown at src/firecracker/src/main.rs:636 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of firecracker-microvm/firecracker@0a745def42 (2026-08-19). Data as JSON: /api/errors/5b0247a3070a56f3. Report an issue: GitHub.