Host fails with Purple Screen of Death on Nutanix servers when virtual USB network device is enabled/disabled in quick succession
search cancel

Host fails with Purple Screen of Death on Nutanix servers when virtual USB network device is enabled/disabled in quick succession

book

Article ID: 325023

calendar_today

Updated On:

Products

VMware vSphere ESXi VMware Cloud Foundation

Issue/Introduction

  • The PSOD - PANIC bora/vmkernel/main/dlmalloc.c:4944 - Usage error in dlmalloc
  • The backtrace will be one of the following:
     Code start: 0x### VMK uptime: hh:mm:ss:##.###
      0x###:[0x###]PanicvPanicInt@vmkernel#nover+0x327 stack: 0x###
      0x###:[0x###]Panic_NoSave@vmkernel#nover+0x4d stack: 0x###
      0x###:[0x###]DLM_free@vmkernel#nover+0x22d stack: 0x###
      0x###:[0x###]Heap_Free@vmkernel#nover+0xba stack: 0x###
      0x###:[0x###]LROContextUninitStats@vmkernel#nover+0x25 stack: 0x0
      0x###:[0x###]LRO_Destroy@vmkernel#nover+0x6e stack: 0x###
      0x###:[0x###]NetPollCleanupWorldHelperCB@vmkernel#nover+0x42 stack: 0x###
      0x###:[0x###]HelperQueueFunc@vmkernel#nover+0x1d2 stack: 0x###
      0x###:[0x###]CpuSched_StartWorld@vmkernel#nover+0x86 stack: 0x0
      0x###:[0x###]Debug_IsInitialized@vmkernel#nover+0xc stack: 0x0
  • Or:
     Code start: 0x### VMK uptime: hh:mm:ss:##.###
      0x###:[0x###]MCSLockWait@vmkernel#nover+0x10f stack: 0x0
      0x###:[0x###]MCSLockWork@vmkernel#nover+0x2a stack: 0x###
      0x###:[0x###]LROContextUninitStats@vmkernel#nover+0x15 stack: 0x###
      0x###:[0x###]LRO_Destroy@vmkernel#nover+0x61 stack: 0x###
      0x###:[0x###]NetPollCleanupWorldHelperCB@vmkernel#nover+0x44 stack: 0x###
      0x###:[0x###]HelperQueueFunc@vmkernel#nover+0x19d stack: 0x###
      0x###:[0x###]CpuSched_StartWorld@vmkernel@nover+0xbf stack: 0x0
      0x###:[0x###]Debug_IsInitialized@vmkernel#nover+0xc stack: 0x0
  • Or:
    Panic Details: Crash at YYYY-MM-DDTHH:MM:SS on CPU 48 running world MASKED_WID - #####-######. VMK Uptime:DD:HH:MM:SS.MS
    Panic Message: @BlueScreen: #GP Exception 13 in world 3067893:#####-###### @ 0xMASKED_ID_1
    
    0xMASKED_ID_2:0x###########]DLM_free@vmkernel#nover+0x340 stack: 0x###########, 0x###########, 0x###########, 0x###########, 0x###########
    0x###########:0x###########]Heap_Free@vmkernel#nover+0xba stack: 0x###########, 0x1, 0x0, 0x###########, 0x0
    0x###########:0x###########]DVSDevDataGet@(dvsdev)#<None>+0x24d stack: 0x3, 0x###########, 0x###########, 0x###########, 0x###########
    0x###########:0x###########]DVSDevCharOpsIoctl@(dvsdev)#<None>+0x18f stack: 0x0, 0x0, 0x###########, 0x###########, 0x###########
    0x###########:0x###########]VMKAPICharDevDevfsWrapIoctl@vmkernel#nover+0x87 stack: 0x49, 0x###########, 0x###########, 0x0, 0x2
    0x###########:0x###########]CharDriverIoctl@vmkernel#nover+0x7d stack: 0x###########, 0x###########, 0x###########, 0x###########, 0x###########
    0x###########:0x###########]DevFSIoctl@vmkernel#nover+0xad3 stack: 0x###########, 0x###########, 0x2, 0x0, 0x###########
    0x###########:0x###########]FSSVec_Ioctl@vmkernel#nover+0x20 stack: 0x###########, 0x###########, 0x1000, 0x1000, 0x4f
    0x###########:0x###########]FSSObjectIoctlCommon@vmkernel#nover+0x60 stack: 0x1000, 0x1000, 0x4f, 0x1000, 0x91
    0x###########:0x###########]FSS_IoctlByFH@vmkernel#nover+0x9f stack: 0x0, 0x###########, 0x8, 0x561747e720, 0x0
    0x###########:0x###########]UserFile_PassthroughIoctl@vmkernel#nover+0x3f stack: 0x###########, 0x###########, 0x###########, 0x0, 0x###########
    0x###########:0x###########]UserVmfs_Ioctl@vmkernel#nover+0x27 stack: 0x###########, 0x###########, 0x2, 0x###########, 0x###########
    0x###########:0x###########]LinuxFileDesc_Ioctl@vmkernel#nover+0x51 stack: 0x###########, 0x10, 0x1, 0x###########, 0x###########
    0x###########:0x###########]User_LinuxSyscallHandler@vmkernel#nover+0x1a4 stack: 0x0, 0x0, 0x0, 0x###########, 0x10b
    0x###########:0x###########]gate_entry@vmkernel#nover+0x68 stack: 0x0, 0x10, 0x###########, 0x###########, 0x###########
  • Port enabled and disabled messages associated with the virtual USB network device are repeated in vmkernel.log:
      Uplink: 12282: enabled port 0######## with mac ##:##:##:##:##:##
      NetPort: 1793: disabled port 0#######
  • vmkernel log will indicate similar errors just before the PSOD event:
    YYYY-MM-DDTHH:MM:SS cpu25:#########)WARNING: vmkusb: udev 0x###########, endpoint 0x83: invalid state 5: Failure
    YYYY-MM-DDTHH:MM:SS cpu25:#########)WARNING: vmkusb: udev 0x###########, endpoint 0x0: invalid state 5: Failure
    YYYY-MM-DDTHH:MM:SS cpu30:#########)NetqueueBal: 5066: vusb0: new netq module, reset logical space needed
    YYYY-MM-DDTHH:MM:SS cpu30:#########)NetqueueBal: 5095: vusb0: plugins to call differs, reset logical space
    YYYY-MM-DDTHH:MM:SS cpu10:#########)DMA: 732: DMA Engine 'vusb0-dma-engine' destroyed.
    YYYY-MM-DDTHH:MM:SS cpu30:#########)NetqueueBal: 3146: vusb0: rxQueueCount=0, rxFiltersPerQueue=0, txQueueCount=0 rxQueuesFeatures=0x0
    YYYY-MM-DDTHH:MM:SS cpu30:#########)NetPort: 1810: disabled port 0x###########
    YYYY-MM-DDTHH:MM:SS cpu66:#########)NetSched: 725: vusb0-0-tx: worldID = ######### exits
    YYYY-MM-DDTHH:MM:SS cpu30:#########)Uplink: 12274: The default queue is not ready for device vusb0.
    YYYY-MM-DDTHH:MM:SS cpu30:#########)cswitch: VSwitchUplinkPortSetNUMAID:3831: [nsx@6876 comp="nsx-esx" subcomp="vswitch"]Cannot get mem affinity from uplink vusb0[#########]: Not supported
    YYYY-MM-DDTHH:MM:SS cpu30:#########)Uplink: 12285: enabled port 0x########### with mac ##:##:##:##:##:##
    YYYY-MM-DDTHH:MM:SS cpu30:#########)Uplink: 2750: vusb0, fast switch on uplink(0x###########) connected to PPS is not supported
    YYYY-MM-DDTHH:MM:SS cpu10:#########)NetPort: 1810: disabled port 0x###########
    YYYY-MM-DDTHH:MM:SS cpu10:#########)WARNING: World: vm 12162030: 3819: vm not found
    YYYY-MM-DDTHH:MM:SS cpu10:#########)WARNING: vmkusb: failed to destroy world 12162030: Not found
    YYYY-MM-DDTHH:MM:SS cpu10:#########)WARNING: vmkusb: udev 0x###########, endpoint 0x0: invalid state 5: Failure
    YYYY-MM-DDTHH:MM:SS cpu11:MASKED_OPID1)NetSched: 725: vusb0-0-tx: worldID = MASKED_OPID1 exits
    YYYY-MM-DDTHH:MM:SS cpu48:MASKED_WID opID=MASKED_OPID2)World: 12077: VC opID ed###### maps to vmkernel opID MASKED_OPID2
    YYYY-MM-DDTHH:MM:SS cpu48:MASKED_WID opID=MASKED_OPID2)World: 3072: PRDA 0x########### ss 0x0 ds 0x10b es 0x10b fs 0x10b gs 0x0
    YYYY-MM-DDTHH:MM:SS cpu48:MASKED_WID opID=MASKED_OPID2)World: 3074: TR 0xf58 GDT 0x########### (0xf77) IDT 0x########### (0xfff)
    YYYY-MM-DDTHH:MM:SS cpu48:MASKED_WID opID=MASKED_OPID2)World: 3075: CR0 0x########### CR3 0x########### CR4 0x###########
    YYYY-MM-DDTHH:MM:SS cpu48:MASKED_WID opID=MASKED_OPID2)Backtrace for current CPU #48, worldID=MASKED_WID, fp=0x###########
    YYYY-MM-DDTHH:MM:SS cpu48:MASKED_WID opID=MASKED_OPID2)0xMASKED_ID_2:[0xMASKED_ID_1]DLM_free@vmkernel#nover+0x340 stack: 0x###########, 0x###########, 0x###########, 0x###########, 0x###########
  • This issue has been observed only on Nutanix servers, but may not be limited to them.

Environment

ESXi: 7.0.x, 8.0.x, 8.0U3d
VCF: 5.2.1.1, 5.2.1, 5.2

Cause

Nutanix LCM process may keep enable and disable virtual USB network device device and that cause double-free problem due to a race condition.

Resolution

Broadcom VMware engineering are aware of this issue and are currently investigating.

Workaround: 

Avoid disabling the vusb device, e.g. by the Nutanix LCM process.

 

Please click on the subscribe button to receive further notifications when this article is modified or updated.