NetWare 386 System Messages: Disk, Memory and Accounting Glenn Westin Consultant Systems Engineering Division Abstract: This AppNote provides explanations and solutions for operating system messages appearing on the NetWare 386 server console. Organization is alphabetical with additional notation concerning each message's source process and level of severity. Introduction This document is the first in a series of AppNotes designed to provide an explanation of, and solution to, the many operating system messages that may appear at the NetWare 386 server console. The NetWare 386 operating system contains approximately 1,000 messages. These messages inform the administrator of the status of the operating system. Some of the messages are initiated by errors, while others provide information. The messages referenced in this AppNote have been organized according to functionality and severity. Functionality NetWare functionality falls into twelve main categories, each with a varying amount of related messages. The categories are as follows: Accounting and statistics Ascychronous Event Scheduler (AES) and Timer Bindery Communications Console I/O Debug/diagnostics Disk Internal processes File system Memory NetWare Loadable Module (NLM) or external processes Queue Management Series (QMS) Due to the abundance of messages, this AppNote will highlight messages originating from three of the functional categories. Disk Memory Accounting and statistics Severity In addition to functionality, the messages can also be categorized by severity. Severity refers to the amount of potential damage that could be caused by the condition the message is reporting. The different classes of severity are as follows: Fatal/Abend - Resource fatally affected; server shut down Warning - Configuration errors, and so on. No damage. Informational - Indicates attained thresholds; includes counters and gauges. Recoverable - Hot Fix disk, and so on. Workaround made. Critical - Disk mirror failure, and so on. Fix-up attempted. Operation-Aborted - Operation cannot complete; cause unknown. The first three classes are very common and may appear frequently, while the last three rarely occur. The focus of this AppNote will center on the first three. Fatal/Abend Fatal/Abend (ABnormal-END) The majority of NetWare 386 operating system messages are of the Fatal/Abend type. Fatal/Abend messages are usually caused by consistency check errors but can also be caused by insufficient resources such as memory, DMA or interrupts. Fatal/Abend messages are displayed in the form: ABEND: < message > Consistency check errors are internal tests placed in the Netware operating system. The primary function of these tests is to ensure the stability and integrity of internal operating system data. There are numerous consistency checks interlaced throughout Netware which validate critical processes such as disk, memory and communications. The primary cause of consistency check errors is aberrations in the operating system. An operating system as large and complex as NetWare 386 statistically can contain software errors. Consistency checks identify these errors, as well as the potential for serious operating system corruption, and intervene by halting the system. Consistency check errors inform the administrator of the serious problem that has occurred and allow a diagnostic dump of the server operating system's memory to be performed. This diagnostic dump, along with information detailing the events which led to the abend, allow the re-creation and location of the problem, and enable the creation of a patch in a timely manner. Other causes of consistency check errors include corrupt operating system files, drivers, NetWare Loadable Modules (NLMs) or hardware failures. They could be the result of defective memory chips, static discharges, faulty power supplies, power surges or spikes. Warning messages Warning messages are also common. These messages inform the administrator of potential problems caused by improper system configuration; a very desirable service. Messages of this type do not indicate damage and the correction is usually simple and straightforward. Informational messages Informational messages were implemented due to the complexity and variety of tasks that may be performed by NetWare. These messages provide a window on the status of NetWare. They both inform and alert the administrator of completed operations, processes, and attained thresholds. The informational message does not indicate system damage but instead, has the responsibility of notifying the administrator of the state of the system. Recovery from consistency check errors NetWare 386 is very resilient, but consistency check errors can and will arise. If any consistency check error occurs repeatedly, check the CPU board, memory, power supplies, and power conditioning equipment. Replace any faulty hardware. If continued failure persists, reinstall the operating system, drivers or NLMs from the master diskettes. Error Messages *** 16 Bit Multiply Failure *** NETWARE 386 CANNOT RUN CORRECTLY ON THIS MACHINE!!! (contact your PC supplier for a new revision 386 microprocessor) Process: Memory Severity: Fatal/Abend Explanation: During initialization the system performs several simple hardware checks on the file server. These checks include whether the machine is a PS2, and what type of CPU is in the computer (8088, 8086 or 80386). This error occurred because the system failed to pass a 16 bit multiplication problem. The response returned by the CPU didn't match the expected result. Action: This indicates a bug in the 80386 CPU. NetWare will not run on this machine because it doesn't handle 16 bit operations correctly. Try another computer as the file server. *** 32 Bit Multiply Failure *** NETWARE 386 CANNOT RUN CORRECTLY ON THIS MACHINE!!! (contact your PC supplier for a new revision 386 microprocessor) Process: Memory Severity: Fatal/Abend Explanation: When the system is first initializing it does some simple hardware checks on the file server. These checks include whether the machine is a PS2, what type of CPU is in the computer (8088, 8086 or 80386). This error occurred because the system failed to pass a 32 bit multiplication problem. The answer given by the CPU didn't match the expected result. Action: This indicates a bug in the 80386 CPU. NetWare will not run on this machine because it doesn't handle 32 bit operations correctly. Try another computer as the file server. *** This machine does not have an 80386 microprocessor *** NETWARE 386 CANNOT BE RUN ON THIS MACHINE!!! Process: Memory Severity: Fatal/Abend Explanation: Before initialization can take place the OS checks to see if the machine it's about to be run on does in fact have an 80386 microprocessor. Action: A 386 CPU is required in order to execute NetWare 386. NetWare 386 makes use of 32 bit registers and memory. A wait node was lost by the TTS support code. Process: Disk Severity: Fatal/Abend Explanation: An internal process in the Netware Operating System detected a lost timing object or wait node. Wait nodes are created and destroyed by the operating system as needed. The role of the wait node is much like a library card. Wait nodes are created to keep track of the start and end of internal processes. After closing an inactive TTS transaction and reallocating the memory the system checks for lost timing objects (wait nodes). If any are missing this error will occur, because wait nodes are destroyed in an orderly fashion at the completion of the process it was tracking. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. Aborted remirror of partition # partitionnumber Process: Disk Severity: Fatal/Abend Explanation: While remirroring a disk partition, the system found the remirroring process to be out of sync, due to hardware failure. Action: Make sure disk configuration is correct. Check and replace any faulty disk controller(s), cable(s) or drive(s). Alloc called at interrupt time Process: Memory Severity: Fatal/Abend Explanation: While trying to allocate memory, the system checked the status of the nested interrupt counter (count of how many interrupts are currently being processed) and found the counter's value to be greater than zero. The system abended because the memory allocation procedure required the number of nested interrupts to be zero. Action: See the information on consistency checks at the beginning of this document. Alloc called with invalid resource tag Process: Memory Severity: Fatal/Abend Explanation: While initializing and allocating memory, the system checked the memory allocation signature (the descriptor or code of the memory it was trying to allocate at the time) against the resource tag signature (the memory type the system expects to allocate) and found they didn't match. Action: See the information on consistency checks at the beginning of this document. AllocateBlock found an invalid cache buffer Process: Disk Severity: Fatal/Abend Explanation: An internal process in the Netware OS attempted to allocate a block of memory for use that was already in use by another process. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. AllocateNonMovableReturnableMemory discovered an invalid memory block segment Process: Disk Severity: Fatal/Abend Explanation: An internal process in the Netware operating system, requested a block of non-moveable returnable memory. The memory-linked lists (tables containing data with pointers referring to the next entry in the list, much like the DOS FAT table) were searched for an available block and an invalid memory link was found. This indicates corrupt memory-linked lists. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. AllocatePermanentMemory called at interrupt time Process: Memory Severity: Fatal/Abend Explanation: The system tried to allocate memory while the nested interrupt counter (used to track interrupts currently being used for processes) had a value greater than zero. This routine requires the nested counter to be zero. Action: See the information on consistency checks at the beginning of this document. AllocatePermanentMemory discovered an invalid memory block segment Process: Disk Severity: Fatal/Abend Explanation: When the system attempted to allocate memory, the memory segment found was larger than the expected memory segment size. The memory segment pointers were corrupt. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. AllocateReturnableMemory called with invalid resource tag Process: Disk Severity: Fatal/Abend Explanation: The pointers defining the type of memory to be allocated were found to be corrupt. The resource tag signature (a descriptor issued by the OS to track system resources) didn't match the memory signature to be allocated. Action: See the information on consistency checks at the beginning of this document. AllocateWaitNode found an invalid wait node on the avail list Process: Disk Severity: Fatal/Abend Explanation: The pointer tracking the next available waiting object (used to establish a timing interval between memory and transactions) in the multitasking kernel was found to be corrupt. Action: See the information on consistency checks at the beginning of this document. AllocNonMovableCacheMemory called with an invalid resource tag Process: Disk Severity: Fatal/Abend Explanation: The system attempted to allocate the wrong type of memory. The resource tag signature didn't match the expected memory signature. Action: See the information on consistency checks at the beginning of this document. AllocNonMovableCacheMemory did a bad calculation Process: Disk Severity: Fatal/Abend Explanation: The system was establishing 4KB blocks of non-movable cache memory blocks in response to a system request. An abend occurred because the amount of memory requested, after 4KB boundary and memory waste calculations, was less than the expected amount. The tables governing memory allocation have been corrupt. Action: See the information on consistency checks at the beginning of this document. AllocPermMemory got an invalid resource tag Process: Memory Severity: Fatal/Abend Explanation: While attempting to allocate memory, the system checked if the resource tag (a descriptor used to track resources) assigned was of the correct type. It wasn't. Action: See the information on consistency checks at the beginning of this document. AllocSemiPermMemory got an invalid resource tag Process: Memory Severity: Fatal/Abend Explanation: Before allocating semi-permanent memory, the system checked the resource tag signature (used to identify a resource) against the semi-permanent memory signature. They didn't match. The resource tag (used to track resources) assigned to this memory was of the wrong type or was corrupt. Action: See the information on consistency checks at the beginning of this document. Already being used on SetBeingUsed in disk cache Process: Disk Severity: Fatal/Abend Explanation: The counter used to keep track of disk cache semaphores in the disk routine was corrupt. A count of one was expected, but when the system tested the counter's value, it was greater than one. This indicates use by another process. This error should not have occurred because the routine that sets the counter is called or initiated by the checking routine. Action: See the information on consistency checks at the beginning of this document. Attempt to reuse logicalpartition number detected in AssignLogicalPartitionNumber Process: Disk Severity: Fatal/Abend Explanation: While attempting to assign a logical partition number, the system checked the logical partition mapping table contents and found a value other than zero. The table had not been initialized properly. Action: See the information on consistency checks at the beginning of this document. Attempt to reuse partition number detected in AssignDeviceNumber Process: Disk Severity: Fatal/Abend Explanation: While attempting to assign a disk device number, the system checked the device mapping table contents and found a value other than zero. The table had not been initialized properly. Action: See the information on consistency checks at the beginning of this document. Attempt to reuse partition number detected in AssignPartitionNumber Process: Disk Severity: Fatal/Abend Explanation: While attempting to assign a logical partition number, the system checked the partition mapping table contents and found a value other than zero. The table had not been initialized properly. Action: See the information on consistency checks at the beginning of this document. Attempt to reuse partition number detected in AssignSystemNumber Process: Disk Severity: Fatal/Abend Explanation: While attempting to assign a disk system number, the system checked the system mapping table contents and found a value other than zero. The table had not been initialized properly. Action: See the information on consistency checks at the beginning of this document. Attempt to reuse partition number detected in AssignHandleNumber Process: Disk Severity: Fatal/Abend Explanation: While attempting to issue a disk handle number, the system found the handle mapping table to be corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in CheckBitMap Process: Disk Severity: Fatal/Abend Explanation: While checking the status of a bit map, the parameters passed to the routine were too large. If, for example, a bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in CheckDiskBitMap Process: Disk Severity: Fatal/Abend Explanation: While checking a range of bits in a disk bit map, the parameters passed to the routine were too large. If, for example, a bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in ClearBitMap Process: Disk Severity: Fatal/Abend Explanation: While clearing or resetting a specific bit in a bit map, the parameters passed to the routine were too large. If, for example, a bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in ClearDiskBitMap Process: Disk Severity: Fatal/Abend Explanation: While clearing or resetting a range of bits in a disk bit map the parameters passed to the routine were too large. If, for example, at bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in SetBitMap Process: Disk Severity: Fatal/Abend Explanation: While setting a specific bit in a bit map, the parameters passed to the routine were too large. If, for example, a bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in SetDiskBitMap Process: Disk Severity: Fatal/Abend Explanation: While setting (to turn on) a range of bits in a disk bit map the parameters passed to the routine were too large. If, for example, a bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Bit map overrun in UnSetDiskBitMap Process: Disk Severity: Fatal/Abend Explanation: While unsetting (to turn off) a range of bits in a disk bit map, the parameters passed to the routine were too large. If, for example, a bit map of the primary disk represented 1,000 sectors, an overrun would occur if the parameters sent to the routine were for 1,003 sectors. The error can also occur when the bit map table is corrupt. Action: See the information on consistency checks at the beginning of this document. Cache buffer being removed from drive index not found in disk cache Process: Disk Severity: Fatal/Abend Explanation: The pointer to the next cache block entry was corrupt. The system expected to find another entry, but it did not. Therefore the system abended. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. Cache buffer not found in drive table or avail list by AllocateNonMovableReturnableMemory Process: Disk Severity: Fatal/Abend Explanation: The system attempted to allocate non-movable returnable memory, but could not find expected memory on any list. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. Cache buffer not found in drive table or avail list by AllocateReturnableMemory Process: Disk Severity: Fatal/Abend Explanation: The system attempted to allocate returnable memory, but could not find the expected memory on any list. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. Cache Buffer was lost Process: Disk Severity: Fatal/Abend Explanation: The system checked the available cache buffer list. Available buffers should have been found, but the list contained zero buffer entries. Action: Reinitialize the system. If the problem persists, add more memory to server. CacheNonMovableMemoryCleanUp detected a lost memory segment Process: Disk Severity: Fatal/Abend Explanation: The system deallocated non-movable memory and cleaned up (restored to previous state) the used memory locations and resource tags. While checking the memory resource tag count, the system found there were still memory resources checked out and unaccounted for. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. CheckMemory first block fragment not pointing to the Header Process: Memory Severity: Fatal/Abend Explanation: While attempting to allocate memory, the system's memory block validity check failed. The beginning of the memory block was not aligned with the memory block header. The system abended because the linked list tracking memory block allocation was corrupt. Action: See the information on consistency checks at the beginning of this document. CheckMemory found an available fragment not on the avail list Process: Memory Severity: Fatal/Abend Explanation: While checking known memory blocks for consistency, the system found a block fragment that was not listed on the available memory block list. This indicates corrupt memory pointers. Action: See the information on consistency checks at the beginning of this document. CheckMemory found a block that ended incorrectly Process: Memory Severity: Fatal/Abend Explanation: While the system was allocating memory, the system checked the end of the block against the logical end stored in the linked list and found they didn't match. Action: See the information on consistency checks at the beginning of this document. CheckMemory found a fragment with an invalid node length Process: Memory Severity: Fatal/Abend Explanation: While allocating memory, the system found that the next available memory block was not the proper size. The system gathers pieces of memory together to form blocks. It checked the next block against the first block known to be correct and found they didn't match. The size of the tested block could have been bigger or smaller than what was expected. Other routines should have set the correct size of the block. This error indicates data structure corruption. Action: See the information on consistency checks at the beginning of this document. CheckMemory found contiguous fragments not pointing to each other Process: Memory Severity: Fatal/Abend Explanation: The next available memory block was tested against the logical end of the linked list and was found to have the incorrect value. The linked list of memory blocks was corrupt. Action: See the information on consistency checks at the beginning of this document. CheckMemory found that LastNodePointer was invalid Process: Memory Severity: Fatal/Abend Explanation: While gathering memory fragments for block allocation, the system checked the end of the available memory list with the logical memory end and found they didn't match. This indicates a corrupt linked list. Action: See the information on consistency checks at the beginning of this document. CheckMemory found that the avail list ends improperly Process: Memory Severity: Fatal/Abend Explanation: After scanning through the memory block list, the system found that the last available memory blocks header didn't have the correct value. This indicates corrupt memory pointers. Action: See the information on consistency checks at the beginning of this document. CheckMemory found two nodes on the Avail list that do not point to each other Process: Memory Severity: Fatal/Abend Explanation: During a memory allocation procedure, the system found two blocks of memory that were not properly linked. The last available or last used memory block's end pointer did not point to the beginning of the next available memory block. Action: See the information on consistency checks at the beginning of this document. Could not find block with redirection bit set in UpdateRequest Process: Disk Severity: Fatal/Abend Explanation: While trying to update a disk block for redirection in the hash table, the system could not find a block that had been marked for redirection. Action: See the information on consistency checks at the beginning of this document. Could not find block with redirection bit set in RedirectThisBlock Process: Disk Severity: Fatal/Abend Explanation: While redirecting data to the Hot Fix redirection area, the system could not find a block in the area that had been marked for redirection. Action: See the information on consistency checks at the beginning of this document. Could not find block with redirection bit set Process: Disk Severity: Fatal/Abend Explanation: While trying to locate a data block for redirected data in the hash table, the system could not find a block that had been marked for redirection. Action: See the information on consistency checks at the beginning of this document. Could not redirect block on partition # Process: Disk Severity: Informational Explanation: The system was unable to redirect data during a Hot Fix operation due to insufficient space. Action: Increase the Hot Fix redirection area through the INSTALL program. The Hot Fix area should contain at least two percent of the entire disk space. Device handle was not found on resource list Process: Disk Severity: Fatal/Abend Explanation: While attempting to release a disk device handle from use, the system scanned the resource tag linked list and could not find the device listed. This indicates that the linked list that is tracking handle resources was corrupt. Action: See the information on consistency checks at the beginning of this document. Device I/Os pending on handle release Process: Disk Severity: Fatal/Abend Explanation: While in the final check to release a disk device handle, the system detected I/Os pending and aborted the release. The linked list that is tracking device handles was corrupt. Action: See the information on consistency checks at the beginning of this document. Device was not in list when SynchronizedDeleteDiskDevice was called Process: Disk Severity: Fatal/Abend Explanation: Information pertaining to the disk was not in the disk device list when the call to delete its information was made. Action: See the information on consistency checks at the beginning of this document. DiskRead invalid use count Process: Disk Severity: Fatal/Abend Explanation: While decrementing the use count after a disk read, the system detected that the use count fell below zero. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. DiskRelease invalid use count Process: Disk Severity: Fatal/Abend Explanation: While decrementing the use count upon releasing a disk after a transaction, the system found that the counter fell below zero. A count below zero indicates corruption in the pointers used to track disk use activity. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. DiskWrite invalid use count Process: Disk Severity: Fatal/Abend Explanation: While decrementing the use count, after writing a dirty cache block to disk, the counter's value fell below zero. A count below zero indicates corrupt pointers tracking the disk cache use counter. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. Error allocating memory for disk initialization Process: Disk Severity: Fatal/Abend Explanation: Upon initialization of the disk, the allocation of permanent memory for the disk was checked and found to be null. Action: Add more memory to the file server. Error closing executable file Process: Memory Severity: Fatal/Abend Explanation: After successfully reading SERVER.EXE into memory, the system attempted to close the file and could not. It then exited back to DOS without closing the file properly. This could be caused by a damaged file, a bad disk or faulty hardware. Action: Check the integrity of the file with a file utility. Make sure the disk system which is used to load the executable is functioning properly; replace any faulty hardware. Error getting memory for disk caching Process: Disk Severity: Fatal/Abend Explanation: An error occurred while attempting to initialize the cache. After trying to retrieve some permanent memory for the request, the system returned zero blocks allocated. Any of the following could cause the error: faulty memory, hardware failure, insufficient memory. Action: Check the hardware. Add more memory to the server. Error opening executable file Process: Memory Severity: Fatal/Abend Explanation: After the system verified that it is running on the proper equipment, it tried to load the rest of SERVER.EXE and failed. It then exited to DOS. Action: The DOS open file function failed with this error, indicating the file couldn't be found, was damaged or there were an insufficient amount of file handles available. Make sure the executable file is in the correct drive and is functional . Error reading executable file Process: Memory Severity: Fatal/Abend Explanation: After the system has verified that it is running on the proper equipment, it opened SERVER.EXE, then tried to read the file and failed. Action: The read file function failed with this error, indicating the file was damaged or couldn't be accessed properly for some reason. Make sure the executable file is in the correct drive and is functional. ErrorLog invalid use count Process: Disk Severity: Fatal/Abend Explanation: While scanning all volumes and cache buffers for errors, the system detected an error. The system logged the error and attempted to decrement the use count (like a sign in sheet, which tells the system something is being used, such as a buffer). The counter's value fell below zero, indicating corrupt pointers tracking the error log use counter. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. ExpandMemory discovered an invalid memory block segment Process: Disk Severity: Fatal/Abend Explanation: When the system attempted to expand allocated memory, the newly selected memory overlapped the current segment. This indicates corrupt memory pointers. Action: See the information on consistency checks at the beginning of this document. ExpandMemory was given an invalid memory block Process: Disk Severity: Fatal/Abend Explanation: When the system was expanding allocated memory, the memory block that was selected for addition to the current segment was found to have an invalid resource tag This indicates corrupt memory segment pointers or corrupt resource pointers. Action: See the information on consistency checks at the beginning of this document. Free called at interrupt time Process: Memory Severity: Fatal/Abend Explanation: The Free memory procedure (used to clear and clean up memory after use) was called while the nested interrupt counter was greater than zero. This memory procedure requires the nested count to be zero. Action: See the information on consistency checks at the beginning of this document. Free called with a memory block that has an invalid resource tag Process: Memory Severity: Fatal/Abend Explanation: While attempting to put a freed block of memory back on the free list, the system found that the resource allocation tag (used to track resources) of the memory block didn't match the resource signature. This indicates corrupt resource tracking pointers. Action: See the information on consistency checks at the beginning of this document. GetRequest was called with an invalid device handle Process: Disk Severity: Fatal/Abend Explanation: During a disk request, the system found that the physical disk stamp ID didn't match the device handle ID. The data structures tracking device handles (logical numbers issued by the system which relates to disk devices) were corrupt. Action: See the information on consistency checks at the beginning of this document. Insufficient memory to run NetWare 386 (requires at least 1 megabyte of extended memory) Process: Memory Severity: Fatal/Abend Explanation: One of the first steps before SERVER.EXE can be loaded is to check the total amount of server RAM available. The system first checks the amount of extended ram. If it's greater than or equal to 1MB, initialization will continue; otherwise the system will exit to DOS. Action: The minimum amount of RAM needed to start a NetWare 386 system is 1.64MB of RAM, (one MB Extended / 640KB Conventional). NetWare 386 uses RAM dynamically (it takes what it needs, as it needs it; then returns the RAM when not in use). Therefore, under heavy workload conditions or when the system has large disks, it is advisable to increase server RAM accordingly. A good RAM base to start from would be 4MB. InternalDiskGet invalid use count Process: Disk Severity: Fatal/Abend Explanation: While decrementing the use count, after requesting a disk transaction, the use counter's value fell below zero. This indicates corrupt pointers tracking the disk request use counter. Action: See the information on consistency checks at the beginning of this document. InternalDiskRelease invalid use count Process: Disk Severity: Fatal/Abend Explanation: Following the release of a disk after a transaction, the use count was decremented to a value below zero. This indicates corruption in the pointers used to track disk activity. This error is the result of a failed internal consistency check. Action: See the information on consistency checks at the beginning of this document. InternalDiskUpdate invalid use count Process: Disk Severity: Fatal/Abend Explanation: After updating the disk from cache, the system attempted to decrement the use count. The system found that the counter fell below zero, indicating corrupt memory pointers. Action: See the information on consistency checks at the beginning of this document. Invalid device handle in DiskDeviceCleanUpRoutine Process: Disk Severity: Fatal/Abend Explanation: While attempting to release a disk device, the system found that the device handle previously issued did not match the expected device number. This indicates corrupt resource tracking. Action: See the information on consistency checks at the beginning of this document. Invalid device number passed to LogicalParitionRequest Process: Disk Severity: Fatal/Abend Explanation: The partition stamp number did not match the logical disk stamp number. The pointers tracking disk devices and partitions were corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid device used by request in PhysicalRequest Process: Disk Severity: Fatal/Abend Explanation: The pointers tracking physical disk devices were deemed corrupt by the OS after a check against the physical device stamp list failed. Action: See the information on consistency checks at the beginning of this document. Invalid logical partition handle in DiskLogicalPartitionCleanUpRoutine Process: Disk Severity: Fatal/Abend Explanation: When the system attempted to dismount a volume, the disk logical partition handle number did not match the logical partition type number. The data structure tracking handle devices was corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid memory block given to AllocateAddMemory Process: Memory Severity: Fatal/Abend Explanation: While gathering memory for an allocation request, the system tested the size of the new block against the parameters set for block allocation and found it to be greater than expected. Action: See the information on consistency checks at the beginning of this document. Invalid mirror in linked list Process: Disk Severity: Fatal/Abend Explanation: While scanning mirror information tables and checking the validity of logical mirrors, the system found a logical mirror entry that should not exist on the linked list. The linked list of logical mirror information was corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid partition handle in DiskPartitionCleanUpRoutine Process: Disk Severity: Fatal/Abend Explanation: The handle number passed to the routine to clean up disk partitions was of the wrong type. The internal mechanism for issuing partition handle numbers was corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid partition number return at ReturnDeviceNumber Process: Disk Severity: Fatal/Abend Explanation: While creating, deleting or mirroring a disk partition, the system found that the device mapping table was corrupt. The number in the table didn't match the expected physical disk number. Action: See the information on consistency checks at the beginning of this document. Invalid partition number return at ReturnHandleNumber Process: Disk Severity: Fatal/Abend Explanation: While attempting to reclaim a previously issued partition handle number, the system found it to be of the wrong type when it was passed to the return handle number routine. Action: See the information on consistency checks at the beginning of this document. Invalid partition number return at ReturnLogicalPartitionNumber Process: Disk Severity: Fatal/Abend Explanation: While creating, deleting or mirroring a disk partition, the system found that the logical partition mapping table was corrupt. The number in the table didn't match the expected logical disk partition number. Action: See the information on consistency checks at the beginning of this document. Invalid partition number return at ReturnPartitionNumber Process: Disk Severity: Fatal/Abend Explanation: While creating, deleting or mirroring a disk partition, the system found that the partition mapping table was corrupt. The number in the table didn't match the expected disk partition number. Action: See the information on consistency checks at the beginning of this document. Invalid partition number return at ReturnSystemNumber Process: Disk Severity: Fatal/Abend Explanation: While creating, deleting or mirroring a disk partition, the operating system found that the system mapping table was corrupt. The number in the table didn't match the expected system pointer number. Action: See the information on consistency checks at the beginning of this document. Invalid request returned NPut-IOCTL Process: Disk Severity: Fatal/Abend Explanation: The I/O control list pointers became corrupt and returned a zero while the system was performing a scan. (IOCTL- is the entry point for I/O control requests). Action: See the information on consistency checks at the beginning of this document. Invalid resource tag passed to AddDiskSystem Process: Disk Severity: Fatal/Abend Explanation: When the system checked the resource tag signature the resource tag signature did not match the disk driver signature. This indicates corrupt resource tracking. Action: See the information on consistency checks at the beginning of this document. Invalid resource tag passed to DeviceLock Process: Disk Severity: Fatal/Abend Explanation: While attempting to lock a disk device, the system found that the resource tag for the device did not match the disk device signature. Either the signature on the drive or the internal resource tag tables are corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid resource tag passed to LogicalPartitionLock Process: Disk Severity: Fatal/Abend Explanation: The resource tag signature did not match the disk logical partition lock signature. The pointers governing disk resource tags are corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid resource tag passed to PartitionLock Process: Disk Severity: Fatal/Abend Explanation: When the system attempted to lock a logical partition (used by NetWare), the resource tag, which the system passed to the lock partition function did not match the disk partition signature. A logical partition might be locked by an NLM such as INSTALL or VREPAIR or by a volume dismount. This indicates corrupt resource tracking pointers. Action: See the information on consistency checks at the beginning of this document. Invalid resource tag passed to SystemLock Process: Disk Severity: Fatal/Abend Explanation: When the system attempted a system lock, the resource tag passed an invalid parameter to the system lock routine. The tag type didn't match what the system expected. The pointer's tracking resource allocation have been corrupted. Action: See the information on consistency checks at the beginning of this document. Invalid system handle in DiskSystemCleanUpRoutine Process: Disk Severity: Fatal/Abend Explanation: While attempting to release a disk system, the OS found the device type handle previously issued did not match the expected system type number. Action: See the information on consistency checks at the beginning of this document. Invalid system ID passed to GetIOCTL Process: Disk Severity: Fatal/Abend Explanation: When the system attempted an I/O control request, the system found the disk system list pointers to be corrupt. The disk system stamp did not match the system stamp. Action: See the information on consistency checks at the beginning of this document. Invalid system ID passed to NPutIOCTL Process: Disk Severity: Fatal/Abend Explanation: When the system attempted to issue an I/O control request, a check of the system device table stamp ID against the system stamp failed. (Stamp, IOCTL) Action: See the information on consistency checks at the beginning of this document. Invalid System ID passed to DeviceIOCTLRequest Process: Disk Severity: Fatal/Abend Explanation: While attempting an I/O control request, the system found the device mapping table pointers to be corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid System ID passed to SystemIOCTLRequest Process: Disk Severity: Fatal/Abend Explanation: While scanning the system mapping table's device list, the system found the pointers to be corrupt. Action: See the information on consistency checks at the beginning of this document. Invalid parity in linked list Process: Disk Severity: Fatal/Abend Explanation: This error message is one of a group of messages associated with a function that has not yet been implemented: disk parity checking. This form of error checking is usually done at the hardware level, but Novell is working on a software enhancement that will be functional at a later date. After implementation, this message will indicate linked list corruption. Action: See the information on consistency checks at the beginning of this document. Loading . . . Process: Memory Severity: Informational Explanation: This is an informational message which is displayed at the file server console after executing SERVER.EXE, and while SERVER.EXE is loaded into memory. Action: None. Logical Partition handle was not found on resource list Process: Disk Severity: Fatal/Abend Explanation: While releasing a logical partition, the system found the linked list governing partition handle information to be corrupt. Action: See the information on consistency checks at the beginning of this document. Logical Partition I/Os pending on handle release Process: Disk Severity: Fatal/Abend Explanation: While attempting to release a logical partition, the system found there were still I/Os pending and aborted the release. By the time this function is called, I/Os should not be pending. They all should have been flushed from cache and written to disk. Action: See the information on consistency checks at the beginning of this document. No dirty bits found in cache buffer on dirty list in disk cache Process: Disk Severity: Fatal/Abend Explanation: While attempting to write a dirty cache buffer, the system checked the buffer's dirty status. It did not find the expected bits turned on, which indicates the buffer is dirty. This buffer's dirty bits should have been set in the on position. Action: See the information on consistency checks at the beginning of this document. Object not found for inform in disk cache Process: Disk Severity: Fatal/Abend Explanation: When the system checked one of its cache data structures, the structure's value was zero. The value should have been higher. The data structures tracking either cache objects or dirty cache buffers waiting to be written to disk were corrupt. Action: See the information on consistency checks at the beginning of this document. Out of memory allocating diskrequest Process: Disk Severity: Fatal/Abend Explanation: While attempting a disk request, the system's check for allocated permanent memory found the memory to be insufficient. Action: NLMs or other processes have used all available memory. Rebooting the server should temporarily restore the system to full functionality. If this or any other memory-related error recurs, the server may require additional memory. Out of memory for request structure in HotfixBlockingIO Process: Disk Severity: Fatal/Abend Explanation: The system attempted to build a data structure to use in a Hot Fix operation. The system abended due to lack of memory resources. Action: The possibility exists that NLMs or internal processes used needed memory resources. Rebooting the file server should fix the problem. If the problem persists, add more memory to the file server and then reboot. Parition I/Os pending on handle release Process: Disk Severity: Fatal/Abend Explanation: The system attempted to release a locked partition, but found there were pending I/Os. The partition lock table was corrupt. Action: See the information on consistency checks at the beginning of this document. Parity requests not implemented yet Explanations: This error message is one of a group of messages associated with a function that has not yet been implemented: disk parity checking. This form of error checking is usually done at the hardware level, but Novell is working on a software enhancement that will be functional at a later date. After implementation, this message will indicate linked list corruption. Action: See the information on consistency checks at the beginning of this document. Partition handle was not found on resource list Process: Disk Severity: Fatal/Abend Explanation: While releasing a partition handle, the system found the linked list governing partition handle information to be corrupt. Action: See the information on consistency checks at the beginning of this document. PhysicalRequest returned an error in HotfixBlockingI/O Process: Disk Severity: Fatal/Abend Explanation: Physical Request returned an error because an area alleged to be safe for redirection was faulty. The system tried to access data, which had been redirected by Hot Fix but was unable to. This is an indication of a potentially bad disk. Action: Use the MONITOR utility to check the status of redirected blocks. If the problem persists: 1. Backup data 2. Surface test or format the disk 3. Increase Hot Fix redirection area (make sure at lease two percent of the total disk size is allocated for redirection.) 4. Create the volume(s) 5. Restore the data ReturnAllocResourceTag caught a resource tag out of sync with memory Process: Memory Severity: Fatal/Abend Explanation: After the system deallocated and cleaned up all memory resources, a check of memory resources, found a discrepancy. The system abended because the pointer's tracking memory resources were corrupt. Action: See the information on consistency checks at the beginning of this document. ReturnAllocResourceTag was given an invalid resource tag Process: Memory Severity: Fatal/Abend Explanation: When the system was deallocating memory, the current resource tag didn't have the expected resource allocation signature. The system abended because the resource allocation lists were corrupt. Action: See the information on consistency checks at the beginning of this document. ReturnMemory discovered an invalid memory block segment Process: Disk Severity: Fatal/Abend Explanation: After returning some memory to cache, the system detected overlapping memory segments, indicating corrupt memory pointers. Action: See the information on consistency checks at the beginning of this document. ReturnMemory was given an invalid memory block Process: Disk Severity: Fatal/Abend Explanation: The system attempted to return some memory to cache. After a check, it discovered the memory it was attempting to move was the wrong memory. The resource tag of the memory to be returned didn't match the resource signature, indicating corrupt memory or resource pointers. Action: See the information on consistency checks at the beginning of this document. ReturnNonMovableMemory called with an invalid return segment Process: Disk Severity: Fatal/Abend Explanation: Before deallocating a returnable, non-moveable block of memory to cache, the system found that the memory it was attempting to move was not the memory type expected. This indicates corrupt memory resource pointers. Action: See the information on consistency checks at the beginning of this document. ReturnPermanentMemory called at interrupt time Process: Memory Severity: Fatal/Abend Explanation: The system tried to return memory while the nested interrupt counter's value was greater than zero. This routine requires the nested counter's value to be zero. Action: See the information on consistency checks at the beginning of this document. ReturnPermanentMemory couldn't find the block on the resource list Process: Memory Severity: Fatal/Abend Explanation: While attempting to return some memory, the system couldn't find the resource tag of the current block of memory in the resource list. The linked list tracking memory resources was corrupt. Action: See the information on consistency checks at the beginning of this document. ReturnPermanentMemory received an invalid memory block Process: Memory Severity: Fatal/Abend Explanation: Before attempting to return some permanent memory, the system checked the resource tag and found it to be invalid. The resource tag issued to the returning memory did not match the semi-permanent memory signature, indicating a corrupt resource tag. Action: See the information on consistency checks at the beginning of this document. ReturnWaitNode was given an un-allocated wait node Process: Disk Severity: Fatal/Abend Explanation: The wait-node data structures should have had a value of zero, but had a value greater than zero. This indicates corruption in the wait-node data structures. Action: See the information on consistency checks at the beginning of this document. Semi-permanent memory allocator is out of memory semi-permanent memory allocation requests failed Process: Memory Severity: Operation-Aborted Explanation: While attempting to satisfy a request for an amount of memory, the system found it did not have enough memory to complete the request. Action: Power down the system, add more memory to the file server and reboot the system. SemiPermanentMemory clean up procedure found an incorrect resource block list Process: Memory Severity: Fatal/Abend Explanation: After an NLM unloaded, the system found an inconsistency in the resource list while attempting a memory clean up procedure. During the unload process, the OS will deallocate, or return, the memory used by the NLM to the cache pool. During this procedure the OS verifies that all memory blocks have been accounted for. After the system thought it had cleaned up all memory blocks, it checked the resource tag count for its value and found it to be greater than zero. This indicates the resource linked list or the counter was corrupt. Action: See the information on consistency checks at the beginning of this document. Short term memory allocator is out of memory attempts to get more memory failed Process: Memory Severity: Operation-Aborted Explanation: While allocating memory the system found it had no more memory available for allocation. The memory pool was empty or there weren't any free memory blocks available. This is not fatal, the system simply did not complete the operation. Action: More memory is needed. Add memory to the server or unload some unneeded NLMs. System handle was not found on resource list Process: Disk Severity: Fatal/Abend Explanation: When a system lock is performed, a resource tag and a system handle are issued for the procedure. When the lock was going to be released, the system scanned the resource table and found that the system handle wasn't on the list, indicating a corrupt table. Action: See the information on consistency checks at the beginning of this document. System I/Os pending on handle release Process: Disk Severity: Fatal/Abend Explanation: The system was attempting to release a system lock. The resource was set for release, but I/Os were still pending on the resource. This indicates that the table governing system locks was corrupt. Action: See the information on consistency checks at the beginning of this document. System not in list when FSAddDiskDevice was called Process: Disk Severity: Fatal/Abend Explanation: While adding a disk to the system, the OS could not find the expected disk in the disk system table. The disk system table was corrupt. Action: See the information on consistency checks at the beginning of this document. System was not found on resource list Process: Disk Severity: Fatal/Abend Explanation: While attempting to remove a disk from the system, the OS found that the disk to be removed was not listed as a resource. Action: See the information on consistency checks at the beginning of this document. System was not in list when FSAddDiskCard was called Process: Disk Severity: Fatal/Abend Explanation: While adding a disk card to the system, the system list was scanned for driver information pertaining to the card. The system expected to receive this information, yet it was not found on the system list. This indicates corrupt system list pointers. Action: See the information on consistency checks at the beginning of this document. System was not in list when FSDeleteDiskCard was called Process: Disk Severity: Fatal/Abend Explanation: While deleting a disk card from the system, the system list was scanned for driver information pertaining to the card. The system expected to receive this information, yet it was not found on the system list. This indicates corrupt system list pointers. Action: See the information on consistency checks at the beginning of this document. TTS invalid use count Process: Disk Severity: Fatal/Abend Explanation: After the system released a wait node, used in a TTS transaction, the use count, was decremented. The system found that the counter fell below zero, which indicates corrupt pointers to the use counter. Action: See the information on consistency checks at the beginning of this document. TTSGuaranteeWait was passed an invalid wait node Process: Disk Severity: Fatal/Abend Explanation: The system tried to establish a new wait node for a TTS transaction. But when the system checked the wait node list to confirm that it was empty, it found a value greater than zero. This indicates that the pointer tracking the data structure containing waiting objects, was corrupt. Action: See the information on consistency checks at the beginning of this document. Unable to open file NET$ACCT.DAT to add audit record Process: Accounting and Statistics Severity: Operation-Aborted Explanation: The system tried to append an audit record to the system accounting audit file and the lock on NET$ACCT.DAT failed. The file is either stuck in a locked position or it was corrupt. Action: First establish the status of the file. Use MONITOR to determine if the file is locked or not. If the file is locked, make sure you have a recent backup of the system. Run BINDFIX and re-boot the server. If the file is corrupt: 1. Restore file from a backup, or 2. Delete NET$ACCT.DAT (all previous accounting information stored in the old NET$ACCT.DAT will be lost.) When the file is deleted a new one will be created when the system requests an append. UnCloneMirrorGroup was called Process: Disk Severity: Fatal/Abend Explanation: A clone is a data structure created to track I/Os of a device that has been removed or is non-functional. This usually relates to mirrored disk devices. This abend occurred because of a lack of memory resources for the data structures. Action: Other processes in the server have used up all the available resources. Rebooting the server should clear up the problem. But if this or messages with similar memory caused abends frequently occur, add more memory to the server. UnCloneParityGroup was called Process: Disk Severity: Fatal/Abend Explanation: This error message is one of a group of messages associated with a function that has not yet been implemented: disk parity checking. This form of error checking is usually done at the hardware level, but Novell is working on a software enhancement that will be functional at a later date. After implementation, this message will indicate a malfunction in the disk mirroring portion of the OS. Action: This message usually indicates the server needs more memory. Rebooting the server, limiting the number of NLMs loaded, or adding more memory to the server are some possible solutions. WARNING: There are no more redirection blocks Process: Disk Severity: Warning Explanation: After retrieving the amount of data redirection blocks available, the system found the quantity to be zero. Running out of redirection blocks is a symptom of a failing disk system. Either the disk or controller is in distress. Action: Back up the disk system in question. Check the entire disk system and determine which component is at fault. Run any necessary utilities in order to diagnose the potential disk problem. If the hardware is functioning correctly load INSTALL and increase the Hot Fix redirection area. The area should contain at least two percent of the total disk capacity. WARNING: There are only redirection blocks left Process: Disk Severity: Warning Explanation: After retrieving the amount of data redirection blocks available, the system found the quantity to be insufficient. The amount available is compared against the minimum redirection blocks allowed. This message is a threshold warning. Action: Back up the disk system in question. Check the entire disk system and determine which component is at fault. Run any necessary utilities in order to diagnose the potential disk problem. If the hardware is functioning correctly load INSTALL and increase the Hot Fix redirection area. The area should contain at least two percent of the total disk capacity. Glossary Bit maps A bit map is like an overall view of what the disk area looks like. They are similar to disk bit map in that bits are set on and off to track changes in data, but differ because bit maps are for specific sectors while disk bit maps are for sector ranges. Bit maps are used for the Hot Fix process as well as remirroring. They track changes in redirected data and provide synchronization for mirroring. Dirty cache buffer Data stored in a temporary ram buffer before it's sent to disk. Dirty status Whether or not a chunk of data has been written to disk recently or not. Indicates whether this block of data includes changes that are not reflected by the disk copy of the block. Disk bit maps A disk bit map is like an overall view of what the disk area looks like. It is used for the Hot Fix process as well as remirroring. Each bit represents a 4KB block. Bits are set on or off to track changes in redirected data and provide synchronization for mirroring. Disk bit maps cover ranges of the disk while bit maps are for specific sectors. Disk logical partition handle number A number issued by a routine which is used by the system for identification of logical partitions. IOCTL An entry point for I/O control requests. Linked list A table or list of items with pointers that indicate the beginning, end and next entry in the list. Logical partition type number A previously defined number which uniquely identifies a type of resource. In this case a logical partition. Memory allocation signature A unique ID for each memory block. Memory block header Information pertaining to a block of memory, for example. its size, location in the linked list, and so on. Memory linked lists A table of pointers interconnecting blocks of memory, much like the DOS FAT table. Nested interrupt counter A count of how many interrupts are currently being processed. Resource signature A predefined, unique ID identifying a resource, used in resource allocation and cleanup routines to ensure resource validity. Resource tag A descriptor issued by the system to resources, in order to track their use. Semi-permanent memory signature An ID used in identifying resources, in this case semi-permanent memory. Signature A unique ID which specifically identifies a resource. Stamp A code used to identify a device or resource to the system. Waiting object Used to establish a timing interval between memory and transactions. It is used to make processes wait their turn. System lock A routine used to lock resources, such as disk or partitions, so that users or NLMs can register to use the resource. Use count Like a sign-in sheet, it tells the system something such as a buffer is being used, so other processes won't interfere with the transaction.