Deadlock waiting for spinlock abends when loading Networkr

  • 3844259
  • 23-Oct-2006
  • 26-Apr-2012

Environment

Novell NetWare 6.5 Support Pack 5
Legato Networker 7.02.01

Situation

Abend: Deadlock detected waiting for spinlock currently owned by CPU 00
Legato NLM's were calling intoWS2_32_gethostbyaddr or WS2_32_gethostbyname when this abend occurred.
Memory allocation errors seen on console once the new WS2_32.NLM was applied. Error allocating -30351 bytes which was a negative number.

Resolution

Fixed in WS2_32.NLM dated Aug 3, 2006 or newer.
Workaround:
We were able to work around the memory allocation errors by editing the HOSTS file and removing any characters (I didn't' see any) but white space at the end of the HOSTS file. Hit delete or backspace until you get to the end of the last valid entry in the HOSTS file and then save it.
Use command: "WS2_32 reload hosts" to reload new hosts data into memory.
Legato was reading in garbage characters from the SYS:\ETC\HOSTS file and passing in a bad length parameter to WS2_32_gethostbyaddr(), thus causing the Winsock memory allocation error.