[comp.sys.ibm.pc] Help wanted with DOS 3.2 crashes

rde@ukc.ac.uk (R.D.Eager) (11/12/86)

We  have  a lot of PC clones running MS-DOS 3.2, and are having problems
with crashes.

Scenario:
    Install the KEYBUK program (yes, it only fails with this installed); bet
    you didn't bother to test this, Microsoft!
    Run a program that doesn't read input for a while (e.g. FORMAT a floppy).
    Hold down a key on the keyboard.

Result:
    DOS crashes with `Internal Stack Overflow'

Now, I know about the STACKS=  (STACK=?)  parameter  in  CONFIG.SYS;  it
still  crashes  when  I  use STACKS=64,512 (the max, I believe). I don't
think this is a solution.

I think the keyboard on this clone generates characters about 10% faster
than a real PC. The supplier says he can detune the keyboards to fix the
problem, but this is inconvenient (and A HORRIBLE KLUDGE).

The cause is clearly KEYBUK. It isn't handling  interrupts  correctly? I
checked the code to make sure it has done a CLI before acknowledging the
interrupt  at  the  8259,  and  indeed patched it in one case where that
wasn't so. All paths from the acknowledgement (20H to port 20H)  to  the
IRET run with all interrupts off.

Perhaps a higher priority interrupt source generates multiple interrupts
and eventually they blow the stack?

Any ideas, anyone?
-- 
           Bob Eager

           rde@ukc.UUCP
           rde@ukc
           ...!mcvax!ukc!rde

           Phone: +44 227 66822 ext 7589