Skip to content

Errors in log, guest seems to work fineΒ #59

@nirs

Description

@nirs

Seen with minikube krunkit driver using:

% out/minikube start --driver krunkit --container-runtime containerd
πŸ˜„  minikube v1.36.0 on Darwin 15.5 (arm64)
✨  Using the krunkit (experimental) driver based on user configuration
πŸ‘  Starting "minikube" primary control-plane node in "minikube" cluster
πŸ”₯  Creating krunkit VM (CPUs=2, Memory=6144MB, Disk=20000MB) ...
πŸ“¦  Preparing Kubernetes v1.33.2 on containerd 1.7.23 ...
    β–ͺ Generating certificates and keys ...
    β–ͺ Booting up control plane ...
    β–ͺ Configuring RBAC rules ...
πŸ”—  Configuring bridge CNI (Container Networking Interface) ...
πŸ”Ž  Verifying Kubernetes components...
    β–ͺ Using image gcr.io/k8s-minikube/storage-provisioner:v5
🌟  Enabled addons: default-storageclass, storage-provisioner
πŸ„  Done! kubectl is now configured to use "minikube" cluster and "default" namespace by default

% minikube ssh -- uname -a
Linux minikube 6.6.95 #1 SMP PREEMPT Sat Jul 19 17:25:16 UTC 2025 aarch64 GNU/Linux

% out/minikube stop                                                 
βœ‹  Stopping node "minikube"  ...
πŸ›‘  1 node stopped.
% cat ~/.minikube/machines/minikube/krunkit.log
[2025-07-23T20:05:32Z ERROR devices::virtio::console::device] Couldn't get terminal dimensions: ENODEV: No such device
[2025-07-23T20:05:32Z ERROR devices::virtio::console::device] Couldn't get terminal dimensions: ENODEV: No such device
[2025-07-23T20:05:33Z ERROR devices::virtio::console::device] Couldn't get terminal dimensions: ENODEV: No such device
[2025-07-23T20:06:22Z ERROR devices::virtio::net::worker] Failed to process rx: Backend(Internal(ECONNRESET)) (triggered by backend socket readable)
[2025-07-23T20:06:22Z ERROR devices::virtio::net::worker] Failed to process rx: Backend(Internal(EDESTADDRREQ)) (triggered by backend socket readable)
[2025-07-23T20:06:22Z ERROR devices::virtio::net::worker] Failed to process rx: Backend(Internal(EDESTADDRREQ)) (triggered by backend socket readable)
[2025-07-23T20:06:23Z ERROR devices::virtio::net::worker] Failed to process rx: Backend(Internal(EDESTADDRREQ)) (triggered by backend socket readable)
[2025-07-23T20:06:27Z INFO  vmm::macos::vstate] vCPU 0 received shutdown signal
[2025-07-23T20:06:27Z INFO  vmm] Vmm is stopping.

When stopping minikube sends a Stop POST request to the listner.

  • If the request is successful vment-helper is terminated, which may explain the ECONNRESET event.
  • When vmnet-helper terminates, it removes the socket that libkrun is connected to, so it may explain the EDESTADDRREQ errors.
    These errors are not expected so it logging errors seems like the right way.

ENODEV may be a missing /dev/something in the minikube vm?

Fix:

  • Log the missing device path in "Couldn't get terminal dimensions: ENODEV: No such device"
  • Fix krunkit to wait for ack from the library before returning a response from Stop request. When libkrun receive a shutdown event it can suppress network and other errors that are not interesting during shutdown
  • Fix minikube (and all other clients) to terminate the networking proxy only after krunkit terminates

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions