8.0.3 host fails with a Purple Screen of Death (PSOD) Page Fault Exception 14 in the nenic driver -ESXi
search cancel

8.0.3 host fails with a Purple Screen of Death (PSOD) Page Fault Exception 14 in the nenic driver -ESXi

book

Article ID: 456199

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

A VMware ESXi host experiences a Purple Screen of Death (PSOD), resulting in a host crash and system outage. 
The issue is verified by reviewing the crash back-trace and panic message, which confirms a Page Fault Exception 14 occurs in the Cisco VIC Ethernet NIC driver (`nenic`) on PCI device `0000:62:00.0`.

Observed panic and back-trace logs:

VMware ESXi 8.0.3 [Releasebuild-25429389 x86_64]
#PF Exception 14 in world 2098103:0000:62:00.0 IP 0x4200352dc161 addr 0xbc0
Module(s) involved in panic: [nenic 2.0.17.0-1OEM.800.1.0.20613240 (External)]

0x453a5929bd70:[0x4200352dc161]CpuSchedWakeupWorldInt@vmkernel#nover+0xd stack: 0x3e8
0x453a5929bea0:[0x420035f1c901]enic_activate_dev@(nenic)#<None>+0xc76 stack: 0x4322836b3e20
0x453a5929bf40:[0x420035f1ef0b]enic_reset_helper@(nenic)#<None>+0xe0 stack: 0x453a5929f000

Environment

VMware ESXi 8.0.3

Cause

An invalid memory access occurs during the Cisco VIC Ethernet adapter device reset and activation process. The `nenic` driver attempts to reference a null or invalid memory pointer (`0xbc0`), triggering an unrecoverable page fault in the kernel space.

The crash backtrace shows that a kernel helper queue executes a reset routine (`enic_reset_helper`) on the `nenic` driver. During the subsequent device re-activation (`enic_activate_dev`), the driver attempts to wake up a scheduler world via `CpuSchedWakeupWorldInt` using an uninitialized pointer. Exception 14 page faults referencing the `nenic` module indicate memory access violations during network operations, which are often caused by driver/firmware version mismatches, reset failures, or queue timeouts (`vnic_dev_cmd2`) on Cisco VIC adapters.

Resolution

1. Contact Cisco to investigate the Cisco VIC adapter hardware.
2. Check and update the firmware for the `nenic` driver to ensure it matches the recommended, compatible versions.

When the Cisco VIC adapter firmware and the `nenic` driver are at recommended versions, it resolves the underlying firmware communication violations and queue timeouts (`vnic_dev_cmd2`). This prevents the driver from attempting invalid memory dereferences during reset and activation sequences, thereby restoring host stability and preventing the PSOD.