TSX System Hangs: What To Do


Frankly, there is not much you can do the first time your entire system just freezes up with no error message other than rebooting. What we would like to do is try to get a crash dump. Chances are that you will have to prepare yourself by taking the following steps.

What we are trying to accomplish here is getting to the kernel mode debugger and then taking a crash dump. To do this, there is a character declared as the "system debug break character". This character, which is normally decimal 30, hex 1E, is known as "control-up-arrow". It is sent in at the console (or other make/break devices such as TSXTERM or PCTERM terminals) by simultaneously pressing control, shift, and 6.

Let's proceed with the assumption that the system debug break character, (TSGEN parameter SYSDBBRK) is set to its default value of 30, and that the debug port (TSGEN parameter DBPORT) is set to 0, which means the console.

Now, the problem is that the control-shift-6 character has to be sent into TSX from a time sharing line which has the "/DEBUG" attribute or it won't activate the kernel mode debugger. So, if you are having system hangs, be sure that the console is set "/DEBUG". You can make this permanent by putting /DEBUG on the UNIT statement in the TSX32.GEN file for the system or you can do it for the current execution of the operating system by using the command SET TTA0/PERM/DEBUG.

The second thing to do when having system hangs is pre-load the kernel mode debugger symbol table. This is done by having the system kick into the kernel mode debugger when it first boots. You can set a TSGEN parameter DBINIBREAK to 1 to cause this to be automatic (and permanent until you set it back to 0) or you can just enter the control-shift-6 at the console when the system first comes up. When you do get that "DB>" prompt, type "G" followed by Enter. "G" stands for "Go" and resumes sytem operation. You might not think it has, because no TSKMON prompt reappears, but you can reassure yourself that the system is, in fact, up by pressing enter a couple more times.

Well, that's about it. Hopefully, with the console pre-set to /DEBUG and the symbol table preloaded, you will be able to get into the debugger and take a crash dump next time the system hangs. If you can't, we need to talk to you and try to figure out what sort of circumstances might be causing the hangs without the benefit of a dump.