Page Fault Abend in UNICODE.NLM
Articles and Tips: qna
01 Aug 2002
Q.
I am getting the error message "Abend: Page Fault abend in UNICODE.NLM." The server stack information always includes UNICODE.NLM | MonoCase and UNICODE.NLM | uniicmp. The DS.NLM is not loaded at the time the server abends. Help!
Abending in Alabama
A.
Dear Abending: This Abend is caused by a timing error between eDirectory (DS 8.0 or higher) and NICI version prior to 1.5.7. Novell has only seen the Abend on non-English servers. The Abend will also occur if the NICI (any version) is not able to initialize for some reason (for example, corruption). On English servers, the main symptom is that DS.NLM will fail to load.
The reason the server was abending in UNICODE is because of the following chain of events during the server boot process:
Volume SYS mounts and DS.NLM attempts to load.
NICI is sometimes not completely initialized (timing or corruption) and Directory Services fails to load.
As Directory Services backs out of its load process, it unloads UNICODE Rule tables.
SLP attempts to translate a string using UNICODE and when it accesses an entry that was zeroed out because of Directory Services unloading, the server page fault abends.
NICI version 1.5.7 or later prevents the timing problem. Make sure to install the same encryption level (56 bit or 128 bit) that is already on the server.
The way to determine if you are dealing with a timing error or corruption is quite simple. If the server abends every time you bring it up, there is a problem with NICI and you will need to call Novell Technical Support to resolve the problem. If the server only abends some of the time when it comes up, you are experiencing the timing issue and you may just need to upgrade the NICI to version 1.5.7 or later.
The fix is to update NICI to 1.5.7 (or later) or, if 1.5.7 is already installed and the server still abends every time it attempts to come up, call Novell Support to resolve NICI corruption. Be sure to not downgrade the encryption level of NICI that is installed on the server.
If you cannot obtain NICI 1.5.7, you can implement a workaround by creating a text file in C:\NWSERVER called INSTAUTO.NCF. The NCF file should contain the following statements:
load c:\nwserver\dsloader load c:\nwserver\ccs.xlm set Command Line Prompt Time Out = 10 ?set Command Line Prompt Default Choice=ON
These statements move the loading of DSLOADER and CCS from the beginning of load stage 3 to the end of load stage 2 and cause a delay of 10 seconds before load stage 3 continues. In all of our testing, this delay has been sufficient to allow NICI to fully initialize before Directory Services begins to load. You can increase the delay by changing the 10 to 15 (or any number of seconds). The ? at the beginning of the fourth statement is necessary to implement the delay.
(Information for this answer was taken from TID # 10059830)
* Originally published in Novell AppNotes
Disclaimer
The origin of this information may be internal or external to Novell. While Novell makes all reasonable efforts to verify this information, Novell does not make explicit or implied claims to its validity.