From: pendrith@spectrum.cs.unsw.oz.au (Mark Pendrith)
Subject: Kernel Roulette
Reply-To: pendrith@spectrum.cs.unsw.oz.au (Mark Pendrith)
Organization: unsw
Date: Mon, 16 Nov 1992 18:11:14 GMT


Since first running OS/2 2.0, I have had four diffrent kernels installed. 
They are:


GA (internal rev. 6.307 March 1992)

PJ03686.zoo (internal rev. 6.311 May 1992)

OS2KRNL.zoo (internal rev. 6.412 June 1992)

"Golden" CSD (internal rev. 6.6?? (from memory) October 1992)


All these kernels have their problems, some more than others. They are all
broken. By "broken" I don't mean that they have quirks or documented minor
problems with documented work arounds; I mean big-red-switch-reboot type broken.

The worrying trend is that the later ones seems to be *less* stable than the
earlier ones.

HISTORY
-------

The original GA kernel's problems are well-documented, so I won't cover all of
these here again. The most serious and visible problem in GA was the famous
non-shrinking SWAPPER.DAT file.

The May fix (6.311) was provided to fix this problem, but other known problems
in GA were not addressed until the June fix (6.412).

Unfortunately, the June fix introduced yet another pathological bug, the
dreaded PMV2001 error.

PMV2001 popped up reasonably regularly to inform you that you were out of
available memory (on a VM os with 8MB RAM and 40MB free disk space - amazing!).
PMV2001 suggests you close some of the currently running applications to free up
some memory.  Which you would do, but to no avail. You close application after
application, spurred on by PMV2001, until PMV2001 tells you that simply running
the WPS is taking up too much memory. So you shut down and reboot. Only now is
PMV2001 satisfied. Until, that is, the next time you decide to run, say, two
windowed DOS sessions in the background while attempting to open a W4W 2.0
session under WIN-OS2 in the foreground...

(The guys who devised this particular error message must have been inspired
by Kubrick's film of the same name. "Open the WIN-OS2 session, please HAL...")

The October fix, the much anticipated "Golden" CSD, its very name dripping
with Homeric promise, was supposed to deliver us from all this evil.  Well,
the gods hate hubris, and, boy, were the guys who wrote this punished for
their presumption. The "Golden Turkey" CSD has many quirks and surprises for
the unwitting, but the most worrying in my experience is the development of
the the SYS3176 error: A program executed an illegal instruction at xxxxxxx.

SYS3176 is trying to tell you that an illegal opcode was about to be executed.
HELP 3176 advises you to inform the software developers that their code has
illegal opcodes where legal ones should be. Strange, but these same programs
did not contain illegal opcodes when run under DOS or the previous three
kernels. Of course, there are no illegal opcodes.

What I suspect is happening is far more worrying. It seems far more likely
that the task switching algorithm is somehow getting its table of CS:IP
pointers screwed up from time to time, and is therefore randomly attempting
to execute bytes in data segments or even unallocated memory as code. This
is speculation, of course; if anyone has a better theory, I'd be glad to hear
it. But its all academic. The bottom line is that the "Golden" CSD is unusably
flaky (for my purposes, at least) and the worrying trend seems to be that at
least as many severe bugs are being introduced in each fix as are being
eliminated. And so I'm back using version 6.311. It's not much better than the
first version, but it's a lot better than the most recent.

Is it too much to ask for a reliable kernel after having to suffer these four
attempts? I'm sure I can't be alone when I say my confidence in the medium-term
viability of OS/2 has diminished as a result of this recent "Golden" CSD farce.
I believe IBM is losing both time and prestige and is in danger of squandering
an ever decreasing window of opportunity with this sort of blundering. It's
strange that everyone is asking "Can Microsoft kill off OS/2?" The irony is
that only IBM can kill OS/2; and continuing to release unstable version after
unstable version is the way to do it. Let's hope it doesn't happen.

On the upside, I can happily report that the telephone support from IBM
(in Australia at least) has been exceptional. This is the way software support
was meant to be. I have never had a call back from their support centre take
more than 24 hours, and that's when I've said it wasn't an urgent problem.
You get published bug lists, so at least you don't have to scratch your head
and wonder. The honesty is refreshing. These guys are professional. The only
problem is, it spoils you forever for dealing with the likes of Borland and
Microsoft. OS/2 must prevail. An NT future is too horrible to contemplate.

------------------------------------------------------------------------------

Windows NT : (The NT really stands for "Not Tested")

pendrith@cs.unsw.oz.au