Everything2
Near Matches
Ignore Exact
Full Text
Everything2

0xF00FC7C8

created by mirko

(thing) by tribbel (1.8 y) (print)   ?   (I like it!) Fri Oct 27 2000 at 1:42:02

A bug in the Pentium-class CPUs by Intel.

When the Pentium receives the instruction F0 0F C7 C8 (hexadecimal), it takes down the system.

I personally don't speak machine code, nor assembly, but from what I can make of it, this instructions generates an error on the CPU that would normally cause a program to crash, to prevent harm. In this case, the program is non-existent, and the CPU will crash itself.

Most operating systems have already "fixed" this bug, by working around it.

Here's a snippet of C-code, to try it out, and to show how easy it is to crash a system, if it is badly designed.


char x [5] = { 0xf0, 0x0f, 0xc7, 0xc8 };

main ()
{
       void (*f)() = x;
       f();
}

(thing) by mricicle (9.7 mon) (print)   ?   (I like it!) 1 C! Wed Mar 21 2001 at 13:40:39

This is a serious bug in the Pentium and Pentium MMX processors from Intel. The bug was discovered in the end of 1997. There are workarounds for this bug, and they are implemented for example in Linux, Windows 95/98 and Windows NT.

The full instruction is F0 0F C7 C8. This corresponds to LOCK CMPXCHG8B EAX. The instruction is invalid, because CMPXCHG8B works on 64-bit data, and therefore can not have a 32-bit register as destination operand. This should result in an Undefined Instruction (UD) exception, but the LOCK prefix incorrectly locks the bus when the processor tries to read the UD handler address. This causes the processor to hang.

The bug is serious because any normal user on the computer could execute a program with this instruction, and hang the computer. This is especially bad when the computer has multiple users, for example a Linux server.

Sources:
http://support.intel.com/support/processors/pentium/ppiie/
http://www.ddj.com/articles/1998/9805/9805f/9805f.htm


(idea) by mirko (2 d) (print)   ?   (I like it!) Thu Jul 26 2001 at 21:39:34

This tiny hexadecimal sequence was called the "Pentium Killer" some years ago.
Actually, whatever the OS used (DOS, Windows, OS/2, NeXTstep), if a single binary containing only these instructions was executed on a Pentium (pre-166) processor, it would just freeze.
Linux was the first operating system ever to offer a kernel patch against this nasty bug in order to avoid to have these instructions executed by the processor.
This reactivity from its developer community is also one of the reasons Linux happened to have its popularity boosted in these obscure times.

printable version
chaos

F00F How to disable or translate caps lock in Microsoft Windows 2000 Soy trippin' mi saco de la tuerca en un frenesí del juego del dik +++
The quickest way to crash Windows NT/2000/XP NeXTStep Bad Linux Advocacy longhorn
Busta Rhymes FDIV Dance Dance Revolution Windows 2000
CAFEBABE My reasons for hating sleep BSOD The quickest way to crash Windows 9x
go to sleep The Sexuality and Sleep of Aaos The Promise of Sleep Finnish tongue twisters
German tongue twisters Tongues with Stewed Endive "Tip of the tongue" experience short tongue twisters
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Just another sprinkling of indeterminacy
Romantic Period Music
Tom Lehrer
Marlene Dietrich
Removing head lice
Yule Log
Billie Holiday
Shanghainese
alphabetical order
Nitroglycerin
Her name was Natalie
The Slow Death of the Japanese Meal
Alcohol vs. ecstasy
REMFS
New Writeups
Heitah
Nerve agent VX(thing)
Pavlovna
shite(idea)
wonton
Days and nights come together in a slow falling down(fiction)
Pavlovna
wee(idea)
katherine
root log: July 2008(log)
Madara
There’s nothing like a trail of blood to find your way back home(fiction)
Heitah
After sneeze(idea)
froggy7384
Why we smoke(personal)
doctor wilson
treewrite(thing)
kanoodle
Tiglath-pileser III(person)
raincomplex
Adaptive(place)
The Custodian
Forgotten things in space(place)
tentative
July 4, 2008(personal)
Whiskeydaemon
sewing machine(log)
waverider37
Forgotten things in space(poetry)
E2 is a by-product of the existence of The Everything Development Company