[talk.bizarre] What the world needs now is an exploding computer

jfh@killer.UUCP (John Haugh) (05/20/87)

In article <12067@topaz.rutgers.edu>, trudel@topaz.rutgers.edu (Jonathan D.) writes:
> 
>                                                      Forget artificial
> intelligence!  Forget relational databases!  Forget distributed network
> architecture proposal interface protocols!  Forget documentation!  Forget
> associative memory!  Let's make computers explode in our lifetime!!!

A friend of mine who work at TANO in New Orleans told me (remember now, I'm
the guy with the problem about cows ... :-) ) that one of the unused op-codes
in the M6800 had the nasty side effect of overloading the bus and causing
much grief on the PC board the chip was mounted on.  The idea was that this
illegal instruction repeatedly fetched from the bus at a rate that was more
than what the bus could handle, and poof! instant meltdown.

You don't really expect me to believe that this actually happened now do you?
Anybody out there heard of anything like this really happening?

- John.		(Freddy the Freeloader in Decadent Dallas)

sentinel@killer.UUCP (The Sentinel) (05/21/87)

In article <910@killer.UUCP>, jfh@killer.UUCP (John Haugh) writes:
> In article <12067@topaz.rutgers.edu>, trudel@topaz.rutgers.edu (Jonathan D.) writes:
> > 
> >                                                      Forget artificial
> > intelligence!  Forget relational databases!  Forget distributed network
> > architecture proposal interface protocols!  Forget documentation!  Forget
> > associative memory!  Let's make computers explode in our lifetime!!!
> 
> [...] that one of the unused op-codes
> in the M6800 had the nasty side effect of overloading the bus and causing
> much grief on the PC board the chip was mounted on.  The idea was that this
> illegal instruction repeatedly fetched from the bus at a rate that was more
> than what the bus could handle, and poof! instant meltdown.
> 
> You don't really expect me to believe that this actually happened now do you?
> Anybody out there heard of anything like this really happening?

    Yep.  When I was in high school, we had several SWTPC 6800 machines, of
slightly post-Altair vintage.  They had 32k of RAM (a lot at the time),
5-1/4" single density drives that held around 90k, a CP/M-like operating
system, and you had to boot them by calling the disk boot rom from the
monitor.
    Anyway, I saw demonstrated (not with the school's permission, as you can
probably guess) a program called "DEATH" which did a number of destructive
things including stepping the drives out of range and apparently using this
opcode you mention.  I remember the main board going in for service after
that and coming back with lots of new chips.  I never knew how a program
could do this until now...
    (Don't take everything I said as absolute truth... my memory is a bit
fuzzy... I do distinctly remember the computer being fried by that program,
though.  And no, I was not the one who did that... I was only a spectator)

    On another note, some of the earlier Commodore PET's had a register in
their video controller that set the number of scan lines (or something like
that).  On some of them, you could tweak this register to get a better looking
screen display.  On others, doing so would toast the video circuitry.  While
this is not strictly in the "exploding computer" category, in the PETs the
monitor WAS in the same case, so it has the same effect on the poor guy who
watches it happen :-)

> - John.		(Freddy the Freeloader in Decadent Dallas)

--TS
-- 
Rob Tillotson				...ihnp4!killer!sentinel
3922-1 Newport Ave.				-or-
Fort Wayne, IN 46805			...rutgers!unirot!sentinel
(219) 483-2722				    (top one preferred)

rwa@auvax.UUCP (Ross Alexander) (05/24/87)

In article <910@killer.UUCP>, jfh@killer.UUCP (John Haugh) writes:
> A friend of mine [...] told me [...] that one of the unused op-codes
> in the M6800 had the nasty side effect of overloading the bus and causing
> much grief on the PC board the chip was mounted on...
> You don't really expect me to believe that this actually happened now do
> you? Anybody out there heard of anything like this really happening?

The opcode exists, the mnemonic is HCF (Halt and Catch Fire) :-) and
without my manuals I can't recall the hex.  It's a manufacturability
instruction, for testing the chip after the wafers are cut apart, and
before they mount the dies onto carriers.  It just counts 0000 to FFFF
on the address buss continuously.

As far as this sort of thing in the mainframe world goes, I (fondly)
remember that one of the hackers at the MFCF (U of Waterloo, about
197[45]?), I believe it was C.J.  O'Donnel (corrections solicited,
any of you guys still around???)  found out that if one could
synchronously produce a tag fault, a lockup fault and some third
fault which I forget (a derail??)  that the fault priority arbitrator
would fry a diode or something and <*crash*> until the CE could fix
it.  Of course, this was done more than once - it has to be
repeatable to be a scientific experiment, right ;-) !!  So be careful
about generating faults on an H6050.  And this is _not_ hearsay - I
saw the code and experienced the crashes.

...!ihnp4!alberta!auvax!rwa	Ross Alexander, Athabasca University

davido@gordon.UUCP (David Ornstein) (05/24/87)

When I was working at the Timex Computer Corp. (you remember the little
Times/Sinclair Computers), a couple of us designed a bank-switching
mechanism that was pretty cute.  Basically, the thing was runningh on a Z80
so you could only have 64K of memory (16-bit address space).  We needed more.
So...

You had up to 256 external banks of memory, each 64K, divided up into 8K
chunks, each bank with 8 chunks.  Each bank had some controller logic
associated with it.  There was an 8-bit latch that you could write to
from the CPU to enable various chunks in any given bank.  Because the
thing needed to be so cheap, there wasn't/couldn't be any logic to make sure
that you (the programmer) didn't turn on multiple chunks in the same address
space and then access that chunk.  If you did, both (or ,potentially, all)
of the external banks would respond, turning of their tri-state buffers
and putting whatever they wanted on the bus (e.g. one 5v, the other ground).

My backgroud is mostly digital, with only a few spatterings of the analog 
stuff needed to let me do digital work, but it seemed to me that this might 
cause some nasty fireworks if taken to the extreme.  It offers the
potential for the ultimate trojan horse program!


-- 

-----------------------------------------------------------------------------
David Ornstein		"Never join a religion that has a water slide."

Internet:	davido@gordon
UUCP:		{mit-eddie|seismo}!mirror!gordon!davido
	     or {harvard|ames|decvax|husc6}!necntc!davido
US Snail:	Access Technology, 6 Pleasant St, Natck MA 01760
-----------------------------------------------------------------------------

magore@watdcsu.UUCP (05/25/87)

In article <910@killer.UUCP>, jfh@killer.UUCP (John Haugh) writes:
>> A friend of mine [...] told me [...] that one of the unused op-codes
>> in the M6800 had the nasty side effect of overloading the bus and causing
>> much grief on the PC board the chip was mounted on...
[munch]

In article <170@auvax.UUCP> rwa@auvax.UUCP (Ross Alexander) writes:
>The opcode exists, the mnemonic is HCF (Halt and Catch Fire) :-) and
>without my manuals I can't recall the hex.  It's a manufacturability
>instruction, for testing the chip after the wafers are cut apart, and
>before they mount the dies onto carriers.  It just counts 0000 to FFFF
>on the address buss continuously.

	I found that on the Intel 8087 if you do 2 floating point store
instructions WITHOUT wait, it will lock-up the local bus until reset!
Nothing, not NMI nor external DMA request will get through! You will
be forever caught in *_mid-instruction_* that will never finish.... oops :)
[ Note: this is *NOT* the interrupt lock-out problem Intel warns everyone
  about. A logic analyzer proves this... ] For reasons of design the 80287 
doesn't have such problems. 

	I have a unix machine with hardware MMU and 8086/8087. I have since 
dropped using the 8087. Now programs that crash can no longer crash the whole 
system.  Otherwise, one might guess that disabled interrupts in a user task 
might be a problem, but for this the MMU detects the condition and issues an
NMI which calls a system routine which patches the flags in the user task
... [ugh]

	I hope this just makes everyones day :-)

# Mike Gore 
# Institute for Computer Research. ( watmath!mgvax!root - at home )
# These ideas/concepts do not imply views held by the University of Waterloo.

atbowler@orchid.UUCP (05/25/87)

In article <170@auvax.UUCP> rwa@auvax.UUCP (Ross Alexander) writes:
>As far as this sort of thing in the mainframe world goes, I (fondly)
>remember that one of the hackers at the MFCF (U of Waterloo, about
>197[45]?), I believe it was C.J.  O'Donnel (corrections solicited,
>any of you guys still around???)  found out that if one could
>synchronously produce a tag fault, a lockup fault and some third
>fault which I forget (a derail??)  that the fault priority arbitrator
>would fry a diode or something and <*crash*> until the CE could fix
>it.  Of course, this was done more than once - it has to be
>repeatable to be a scientific experiment, right ;-) !!  So be careful
>about generating faults on an H6050.  And this is _not_ hearsay - I
>saw the code and experienced the crashes.
>
Ciaran O'Donnell was responsible for a lot of wierd and wonderful
GCOS crashes both in bugs he exposed, and bugs he introduced
(For those of you out there who still use GCOS systems, subsystem
wrapup in TSS is part of his legacy.)
   However, this particular item is not one I recall. It sounds unlikely.
There was a real hardware/software bug whereby the system could
be crashed by a program that caused a carefully timed lockup fault
to occur during the initial stages of fault processing while state
was still being saved from the first program induced fault.  This
would cause GCOS to crash, and was fixed by a hardware field change to
the lockup fault timing algorithm that removed the vulnerable window.
However, no-one here remembers anything that destroyed any electronics.
One of the people involved in exposing that likes feeding people tall
tales laced with just enough truth to make them seem plausible,
I think Ross, you got taken in.

                           Alan (are you still at Waterloo?) Bowler

rpw3@amdcad.AMD.COM (Rob Warnock) (06/04/87)

O.k., o.k., out it comes again...

There's this ancient story [true? or fairy tale? who knows?] about a DEC line
printer that had an inadequate static supressor on the output side of the
paper path, and an engineer who was having trouble convincing management that
there was a problem. So he constructed a file that had "<ff>x<ff>x<ff>x...",
that is, one letter per page, and named it "fire". Then he called up the
operators in the DEC data center and told them to ".PRINT FIRE". They did.
It did. (And the printer got fixed...)

p.s. The file couldn't just be all form feeds, because there was a "paper
runaway detector" that stopped the printer from spewing paper after 3 or so
sheets with nothing on them. But one letter per page still let the paper
build up a good static charge while defeating the paper runaway detector.


Rob Warnock
Systems Architecture Consultant

UUCP:	  {amdcad,fortune,sun,attmail}!redwood!rpw3
ATTmail:  !rpw3
DDD:	  (415)572-2607
USPS:	  627 26th Ave, San Mateo, CA  94403