Kernel detected an attempted context switch in an MPK Fast WTD

  • 3908293
  • 22-Jan-2008
  • 26-Apr-2012

Environment

Novell NetWare 6.5 Support Pack 5

Situation

Part of the SAN failover testing procedure consisted off pulling the AC Power cord from the Fiber channel switch. This did not result in the expected path failover through a redundant switch, but instead in an Kernel detected an attempted context switch in a 'MPK Fast WTD' abend.

Resolution

Prior to NetWare 6.5 Support Pack 6 there is a workaround you can use by disabling Multi-Processing on the server. Simply unloading and removing MPS14.PSM or ACPIDRV.PSM from the startup.ncf and a server reboot are sufficient.

The true fix for this problem was a fix in NSS code and has been confirmed to reolve the issue in a live customer environment. The fix has has been incorporated in NetWare 6.5 Support Pack 6.

Additional Information

Coredump analysis has learned us that the problem originated from a pice of code that was calling a screen I/O routine which is capable of blocking. However, 'Fast work-to-do' threads are not allowed to block, hence the abend.

Stackwalk of the problem:

P01# sw
Current EIP:00224F5A SERVER.NLM|ProcessSchedulerAbendTriggers+82
ESP:BA7B193C EIP:00223080 SERVER.NLM|SchedSwitch+48
ESP:BA7B1954 EIP:0022B0C3 SERVER.NLM|kSleep+37
ESP:BA7B195C EIP:BAAFBBCA NSS.NLM|LB__internalXLatch+7A
ESP:BA7B1974 EIP:BAAEC95C NSS.NLM|LB__wioOutput+AC
ESP:BA7B19A4 EIP:BAAECBA8 NSS.NLM|LB_aprintf+28
ESP:BA7B19C8 EIP:BAAECD97 NSS.NLM|LB_errPrintf+C7
ESP:BA7B1E6C EIP:BAF6CA6C ZLSS.NSS|ZFSMAL_asyncReadBlk+41C
ESP:BA7B1EB8 EIP:BAAD84B3 NSS.NLM|asyncCacheAlloc+133
ESP:BA7B1ED0 EIP:BAAD8587 NSS.NLM|asyncCacheAllocBufferForUserData+17
ESP:BA7B1EEC EIP:BAF4C030 ZLSS.NSS|asyncReadVolBlk+80
ESP:BA7B1F0C EIP:BAF4C388 ZLSS.NSS|ZFSVOL_VOL_asyncReadFileBlk+68
ESP:BA7B1F34 EIP:BAE68859 COMN.NSS|ROOT_BST_AsyncReadFileBlk+19
ESP:BA7B1F40 EIP:BAE11B2E COMN.NSS|asyncReadFileBlk+3E
ESP:BA7B1F54 EIP:BAE14126 COMN.NSS|asyncContinueReadAhead+36
ESP:BA7B1F64 EIP:BAAE1F9E NSS.NLM|fsmWorkToDo+BE
ESP:BA7B1F78 EIP:003683F8 SERVER.NLM|kDoFastWorkToDo+28
ESP:BA7B1F98 EIP:0022EB4C SERVER.NLM|kWorkToDoCheckAllRunFast+A4
ESP:BA7B1FB0 EIP:0022F2C8 SERVER.NLM|MpkSystemWork+68
ESP:BA7B1FBC EIP:00224A8A SERVER.NLM|SchedProcessorIdleLoop+4BA
ESP:BA7B1FD0 EIP:00213087 SERVER.NLM|kAddNewProcessor+32B
ESP:BA7B1FF0 EIP:BA79E131 MPS14.PSM|PSMProcessorEntryPoint+35
ESP:BA7B1FF8 EIP:0011616F LOADER.NLM|Start+CA
Exceeded MAX_BRANCH_TABLE branches.

Formerly known as TID# 10100501