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
- Check the process file-descriptor limit; EventManager creation fails when epoll/eventfd fds cannot be allocated.
- 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.