{"record":{"id":"3787e22d2f869efc","repo":"firecracker-microvm/firecracker","slug":"vsock-invalid-queue-index-qidx","errorCode":null,"errorMessage":"vsock: invalid queue index: {qidx}","messagePattern":"vsock: invalid queue index: (.+?)","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/vmm/src/devices/virtio/vsock/device.rs","lineNumber":142,"sourceCode":"    /// Retrieve the cid associated with this vsock device.\n    pub fn cid(&self) -> u64 {\n        self.cid\n    }\n\n    /// Access the backend behind the device.\n    pub fn backend(&self) -> &B {\n        &self.backend\n    }\n\n    /// Signal the guest driver that we've used some virtio buffers that it had previously made\n    /// available.\n    pub fn signal_used_queue(&self, qidx: usize) -> Result<(), DeviceError> {\n        self.device_state\n            .active_state()\n            .expect(\"Device is not initialized\")\n            .interrupt\n            .trigger(VirtioInterruptType::Queue(qidx.try_into().unwrap_or_else(\n                |_| panic!(\"vsock: invalid queue index: {qidx}\"),\n            )))\n            .map_err(DeviceError::FailedSignalingIrq)\n    }\n\n    /// Signal the guest which queues are ready to be consumed\n    pub fn signal_used_queues(&self, used_queues: &[u16]) -> Result<(), DeviceError> {\n        self.device_state\n            .active_state()\n            .expect(\"Device is not initialized\")\n            .interrupt\n            .trigger_queues(used_queues)\n            .map_err(DeviceError::FailedSignalingIrq)\n    }\n\n    /// Walk the driver-provided RX queue buffers and attempt to fill them up with any data that we\n    /// have pending. Return `true` if the guest needs to be notified (respecting notification\n    /// suppression).\n    pub fn process_rx(&mut self) -> Result<bool, InvalidAvailIdx> {","sourceCodeStart":124,"sourceCodeEnd":160,"githubUrl":"https://github.com/firecracker-microvm/firecracker/blob/81b38b9dad6056d7a48073e95ac5a9aed51cb2ab/src/vmm/src/devices/virtio/vsock/device.rs#L124-L160","documentation":"Error \"vsock: invalid queue index: {qidx}\" thrown in firecracker-microvm/firecracker.","triggerScenarios":"Thrown at src/vmm/src/devices/virtio/vsock/device.rs:144 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Ensure the vsock queue index is within the number of queues the device exposes.","Verify virtio queue negotiation completed before processing queue events."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"81b38b9dad6056d7a48073e95ac5a9aed51cb2ab","analyzedAt":"2026-08-19T05:27:02.517Z","contentChangedAt":"2026-08-19T05:27:02.517Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}