The Rod Blog

20 November 2006

The Sorcerer’s Apprentice

To err is human, to forgive, devine. But to really stuff up, you need a computer.

And anyone can stuff up a bit, but to really stuff up, takes talent. And of course, to for a bigger stuffup, it helps to have a bigger computer.

In my case, the big computer was Black Betty, down in the basement, darkly lurking, waiting for the klutzy-fingered adventurer to enter the inner sanctum.

The only way in was via arcane incantations known only to The Sorcerer.

You could tell how difficult this was by the litter of horrid corpses of those who’d failed.

And so it was one night at the end of a long day I accepted The Challenge. I’d been chasing this intermittent bug for months.
It was an S106 ABEND in COBOLII module IGYxxx.

Now if you know what that means, then you too must be student of the dark art of the mainframe. My condolences.

I’d been waiting for ages for this bug to reappear. Once something tripped it, it’d continue to recur. What I needed was an opportunity to catch the sneaky little bugger (oops, a pun) in what’s called an “SVC Dump”.
This’d show me the contents of memory, hopefully allowing me to diagnose it.

So there I was, late-ish in the evening, candles flickering, when the bug popped up.
Knowing my apprentiship status in these things, I tried to contact The Sorcerer. He’s that grey-bearded old fellow up in the keep, and the only one really authorised for spells of this power.
But his messenger owl must have been off on an errand, and he didn’t respond.

Now at this point I should have remembered Mickey with the enchanted mops and buckets, but hey, this can’t be too hard.
So I reached for The Book of Extra Potent Spells (guess where this is heading…).
And believe it or not, I still have it in my leather-bound volume of notes.

Here it is.

SLIP SET,COMP=106,ACTION=SVCD,JOBNAME=xxx,MAXLIM=n,ID=xxx,ENABLE,END

This so-called “SLIP” command triggers a dump every time it matches until you turn it off. A similar command is required to turn it off.

Note the comma before the END.

Just a little comma. An insy-teeny insignificant little comma. Don’t forget it, or the command traps everything.
Yes, everything, and remember, this is not some puny little PC, it’s Black Betty the mainframe, running Everything.

Guess who forgot the comma.

Within seconds a message appeared. Something along the lines of “SLIP TRAP PROCESS BLAH BLAH BLAH” (I forget the rest).

I should explain that I was on a command-line terminal, and this message blocked whatever command I was currently typing.

Then another, and another. AAAARRRRGGG, I thought. I’ve got to turn that off asap! But every time I started typing a command, the blasted message would wipe it out.

Desperately I tapped the keys for another go, and after several tries, managed to get in:

SLIP SET,ID=xxx,DISABLE END

Hooray! I’m saved! …but wait. Have you spotted it?
The comma…? Remember the teensy insignificant little comma?

Darth Vader: voice…Noooooooooooo!!
I’d just set a second trap…Nooooooooo!!

Now the castle was full of mops and buckets, and I’m sloshing around in an ocean of trouble.
The poor mainframe, big-arsed that it was, was struggling mightily to dump the memory of every running process.
And in-between times it was sending me more SLIP messages. Then came the flood of “SYS1.SVCDUMP IS FULL" error messages.

Things were now really desperate, so I grabbed the emergency communicator owl, and called Lurch, The Sorcerer’s hunchback assistant.

(Slithery voice..) “Ah, Rod. We thought you might call.”

Lurch might have poor personal skills and vile breath, but this day his voice was music.

Within minutes he’d sprinkled the necessary potions and the cursed mops and all their buckets were swept away.

At least he didn’t require a human sacrifice.

0 Comments:

Post a Comment

<< Home