NetWare server hangs when loading WS2_32.NLM during loadstage 2

  • 3278029
  • 19-Sep-2007
  • 26-Apr-2012

Environment

Novell NetWare 5.1
Novell NetWare 6.0
Novell NetWare 6.5

Situation

During boot, the server indefinitely hangs very early in the boot process, shortly after mounting the SYS volume. The server responds to the keyboard, so screens can be switched. The server also, very occasionally, shows minor disk activity.
When starting the server using the loadstages, it would hang immediately after "loadstage 2" is entered, without any further output.
After executing the NLMs that are loaded in state 2 manually, it was found that the hang occurs when ws2_32.nlm gets loaded. WS2_32.NLM will never finish to load, while the server shows a few seconds of heavy disk activity, and then stalls.

Resolution

This is due to a corrupt, or excessively large sys:\etc\resolv.cfg file. When WS2_32.NLM loads it, among others, reads in the server's DNS configuration from sys:\etc\resolv.cfg. In this case, the file was over 200MB in size, and repeated the same line over and over. Trying to process the 200MB file stalled the loading of WS2_32.NLM and stopped the server from further booting.
To correct this, delete or rename the sys:\etc\resolv.cfg and replace it with a proper version.
To be able to delete the offending file, the server needs to be brought up with
  • server -ns -na
  • startup
  • loadstage 1
At this point, on NetWare 5.1 or 6.0 servers, one can load"toolbox.nlm /NL" from a floppy, or on a NetWare 6.5 server, load TBX and use that to either delete or rename the sys:\etc\resolv.cfg file.
Note: Don't forget to recreate a proper resolv.cfg file after the next reboot