NOVELL TECHNICAL INFORMATION DOCUMENT TITLE: DIAG500 to remove NSS Cache from coredumps TID #: 2964510 README FOR: diagpt2.exe SUPERSEDES: diagpt1.exe NOVELL PRODUCTS and VERSIONS: Debugger - NW6SK ABSTRACT: Post Support Pack 2 remote coredump modules for NetWare 6.0. Includes DBNET6.NLM and a sample script file to invoke. These files have been tested against NetWare 6.0SP2, NetWare 6.1 and Win2KSP2. ----------------------------------------------------------------- DISCLAIMER THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES ALL REASONABLE EFFORTS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. ----------------------------------------------------------------- INSTALLATION INSTRUCTIONS: This set of NLMs should be installed on a NetWare 6.0 server running Support Pack 2. Core Files: Copy DIAG500.NLM to C:\NWSERVER Copy DBNET6.NLM to SYS:SYSTEM (if you want to provide remote coredumps from this server) Copy IMGHOST.NLM to SYS:SYSTEM (if you want to recieve remote coredumps to this server) Copy IMGHOST.EXE to a workstation with TCPIP bound (if you wish to coredump to a workstation) Optional Files: Copy ABENDEMO.NLM to SYS:SYSTEM of a _test_ server if you wish to test abending your server Modify and Copy RCDUMP.NCF to SYS:SYSTEM if you wish to use autodumping (you will need the SP3 server.exe otherwise you will get kEnterNetWare abends DIAG500.NLM can be unloaded and reloaded without bouncing the server. Consult DBNET.TXT for information on how to setup remote coredumps or use the RDB tool. ISSUE: Fixes in this patch: =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= DIAG500.NLM =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - Fixed a problem where ESM memory (above 4GB) was not being mapped/dumped correctly. (In some cases this would cause the server to crash or hang while core dumping. If the coredump completed successfully, the resulting image file appeared valid and could be viewed with VDB. However, the data above 4GB was actually corrupted.) (DEFECT100300242, DEFECT000291111) - Enhanced the no-cache options to also exclude NSS Cache memory. - Fixed the pre-calculation of estimated coredump size (for non-compressed coredumps) so that sufficient disk space can be checked BEFORE starting the coredump. (Unfortunately it is impractical to predict the size of a compressed coredump since the actual compression ratio achieved will vary depending on the data being compressed.) - Fixed many of the prompts and error messages to be clearer and more informative. - The amount of ESM memory is now pre-calculated so that an "n of total" type progress message can be displayed. - Changed how the command line parameters are handled. In order to enable autodump mode the "-AUTODUMP" parameter must now be explicitly specified. In previous versions, any command line parameter(s) would implicitely enable autodump mode even if "-AUTODUMP" was not specified. From now on, any options specified on the command line will be used as default responses at the corresponding prompts. (DEFECT100300111) NOTE: Autodump functionality has had several problems for some time now. These have now been resolved. However, the fixes actually required changes in the server.exe rather than DIAG500. This means that NW6.1 SP3 Beta (or later) is required to fix the autodump related issues. A pre-release version of NW6.1 SP3 Beta SERVER.EXE will be available shortly from support.novell.com. (DEFECT100301037, DEFECT100300901, DEFECT100300111) NOTE: There are currently two versions of DIAG500.NLM, one that only works on NW5.x, and this version that ONLY loads on NW6.x. Sometime before final release of NW6.1 SP3 this version of DIAG500 will be renamed to DIAG6.NLM. Remaining Known Issues in DIAG500.NLM: (planned to be resolved before final release of NW6.1 SP3) - Change name to DIAG6.NLM (NW5.x version will remain named DIAG500.NLM) - Fix no-cache options to also exclude DS Cache memory. (DEFECT100300240) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= IMGHOST.NLM/EXE =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - Fixed problem where both .EXE and .NLM versions would crash when receiving coredumps from recent versions of DIAG500.NLM. (DEFECT100300243) - IMGHOST now shows progress in Kb instead of bytes Remaining Known Issues in IMAGEHOST.EXE/.NLM (planned to be resolved before final release of NW6.1 SP3) - IMGHOST can not handle coredump files larger than 4GB. (DEFECT100300243) - Average Coredump Speed is incorrectly calculated (shows too slow). (DEFECT100300902) =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= DBNET6.NLM =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - Fixed a problem where a Dell PE2650 with either the B57.LAN or CE1000.LAN could not load DBNET without abending or hanging (You will also need to get a newer version of the B57.LAN dated after 2002.12.01 for remote coredumps to work correctly) (DEFECT100300904) - Found and corrected a missing instruction in the LSL portion causing ABENDs. - Added Page/Alloc pool. This will fix a dead-lock that sometimes occurs when DBNET initializes. DBNET masks the OS LAN driver's interrupt which will also mask the interrupt of the disk device if they are sharing interrupts. If DBNET calls to OS to allocate memory which has to wait for a cache page to flush to disk, the system will dead-lock. - Changed DB_netstart/DB_netstop to speed up single-step in debugger. The debug adapter is no longer shutdown immediately when the debugger is exited. The shutdown is delayed until the OS adapter is about to be reset from a work-to-do. Also, a dedicated debug adapter is never shutdown once it is initialized. - Re-enabled temporary work-around for CE1000 driver reset problem. - Changed Alloc pool to align memory nodes on 32-byte cache-line boundary. - Aligned first fragment of DB LSL ECBs on cache-line boundary. This fixed a problem with the B57 on a Dell PowerEdge 2650 machine that was corrupting the first 4 bytes of the MAC header. - Added another 1MB memory to page pool. Changed DB LSL to allocate ECBs from our own pool. Total memory allocated by DBNET is now 2MB. Reduced LSL buffer size to an initial size of 2048 bytes (size requested by CE1000) to keep within the 2MB for the BroadCom driver. - DBNET will re-alloc the ECB pool if the driver make a request to LSLGetSizedRcvECB() during the driver init for a larger size. I set the initial size to the max packet size reported by the driver + 4 for the CRC (1518) and this worked with the CE1000. However to be safe, since there was a problem with this in the past with this I set the size to 2048. - Fixed IO memory sharing problem with OS LAN driver. The debug driver can Abend when the OS driver is unloaded before DBNET. - Revised debug network statistics. Add new stat "DBSTAT MEM". - Added new API DB_poll() to allow polling of LAN events (LAN ISR for Tx/Rx packets, AES events, and registered LSL polling routines). This fixes a problem with RDBHOST losing communication with the debug client (RDB). When I added TCP to DBNET, I changed routine DB_wait() to also handle TCP events, not just UDP recv events; this broke RDBHOST which also used DB_wait() to help DBNET with LAN events. DB_wait() still calls DB_poll() internally. DB_wait() does not report the same event twice and this caused RDBHOST to sometimes lose a recv packet event and hang. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= RDB.EXE / RDBHOST.NLM =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= - Corrected an issue where we would not poll correctly and would miss data. Self-Extracting File Name: diagpt2.exe Files Included Size Date Time ..\ DIAGPT2.TXT (This file) ABENDEMO.NLM 3780 10-24-2002 10:44:14 pm CHANGES.LOG 6120 12-12-2002 5:14:22 pm DBNET.TXT 14300 11-27-2002 9:21:22 pm DBNET6.NLM 183557 12-5-2002 5:00:54 pm DIAG500.NLM 149635 12-4-2002 10:47:06 am IMGHOST.EXE 57344 11-30-2002 11:10:02 am IMGHOST.NLM 15283 11-30-2002 11:10:00 am RCDUMP.NCF 513 12-3-2002 11:10:54 pm RDB.EXE 102453 1-15-2002 11:20:56 am RDBHOST.NLM 66116 11-30-2002 10:06:06 am ----------------------------------------------------------------- Any trademarks referenced in this document are the property of their respective owners. Consult your product manuals for complete trademark information. -----------------------------------------------------------------