Skip to content

[Bug] Could not create the network device: IoVecBuffer(Mut) in 1.10.0 #4905

@gounselor

Description

@gounselor

Describe the bug

I have a working vmconfig.json which works with firecracker-v1.9.1-aarch64 and guest kernel 6.11.* and multiple root filesystems.

If I use the same vmconfig.json with firecracker-v1.10.0-aarch64 it fails with:

2024-11-08T19:44:55.998563652 [anonymous-instance:main] Running Firecracker v1.10.0
2024-11-08T19:44:55.999048225 [anonymous-instance:main] RunWithoutApiError error: Failed to build MicroVM from Json: Configuration for VMM from one single json failed: Network device error: Could not create the network device: IoVecBuffer(Mut) error: Error with underlying `IovDeque`: Error calling mmap: Invalid argument (os error 22)
Error: RunWithoutApiError(BuildMicroVMFromJson(ParseFromJson(NetDevice(CreateNetworkDevice(IoVecError(IovDeque(Mmap(Os { code: 22, kind: InvalidInput, message: "Invalid argument" }))))))))
2024-11-08T19:44:55.999238447 [anonymous-instance:main] Firecracker exiting with error. exit_code=1

To Reproduce

Start firecracker 1.10.0 with this command line:

sudo release-v1.10.0-aarch64/firecracker-v1.10.0-aarch64 --no-api --config-file vmconfig.json

Config file vmconfig.json used:

{
  "boot-source": {
    "kernel_image_path": "kernel",
    "boot_args": "ro console=ttyS0 noapic reboot=k panic=1 random.trust_cpu=on ip=192.168.179.2::192.168.179.1:255.255.255.0::eth0:off"
  },
  "drives": [
    {
      "drive_id": "rootfs",
      "path_on_host": "/dev/nvme/alpine-minimal",
      "is_root_device": true,
      "is_read_only": false
    }
  ],
  "network-interfaces": [
      {
          "iface_id": "eth0",
          "guest_mac": "02:FC:00:00:00:01",
          "host_dev_name": "fc-tap0"
      }
  ],
  "machine-config": {
    "vcpu_count": 1,
    "mem_size_mib": 256
  }
}

Expected behaviour

I expect the vm to start like v1.9.1 does.

Environment

  • Firecracker version: firecracker-v1.10.0-aarch64
  • Host and guest kernel versions:
    • Host: 6.6.51+rpt-rpi-2712
    • Guest: 6.11.x, Image-6.11.7: Linux kernel ARM64 boot executable Image, little-endian, 4K pages
  • Rootfs used: alpine, void, ubuntu2[24] etc. does not seem to matter as the vm creation fails
  • Architecture: arm64/aarch64
  • Any other relevant software versions: don't think so, works with firecracker 1.9.1

Additional context

Happy to help debugging.

Checks

  • Have you searched the Firecracker Issues database for similar problems?
  • Have you read the existing relevant Firecracker documentation?
  • Are you certain the bug being reported is a Firecracker issue?

Metadata

Metadata

Assignees

Labels

Status: WIPIndicates that an issue is currently being worked on or triagedType: BugIndicates an unexpected problem or unintended behavior

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions