Lp0 on fire


lp0 on fire is an outdated error message generated on some Unix and Unix-like computer operating systems in response to certain types of printer errors. lp0 is the Unix device handle for the first line printer, but the error can be displayed for any printer attached to a Unix/Linux system. It indicates a printer error that requires further investigation to diagnose, but not necessarily that it is on fire.

Printer flammability

In the late 1950s, high speed computerized printing was still a somewhat experimental field. The first documented fire-starting printer was a Stromberg-Carlson 5000 xerographic printer, installed around 1959 at the Lawrence Livermore National Laboratory and modified with an extended fusing oven to achieve a print speed of one page per second. In the event of a printing stall, and occasionally during normal operation, the fusing oven would heat paper to combustion. This fire risk was aggravated by the fact that if the printer continued to operate, it would essentially stoke the oven with fresh paper at high speed. However there is no evidence of the "lp0 on fire" message appearing in any software of the time.
As the technology matured, most large printer installations were drum printers, a type of impact printer which could print an entire line of text at once through the use of a high speed rotary printing drum. It was thought that in the event of a severe jam, the friction of paper against the drum could ignite either the paper itself, or, in a dirty machine, the accumulated paper and ink dust in the mechanism. Whether this ever happened is not known; there are no reports of friction-related printer fires.
The line printer employed a series of status codes, specifically ready, online, and check. If the online status was set to "off" and the check status was set to "on," the operating system would interpret this as the printer running out of paper. However, if the online code was set to "on" and the check code was also set to "on", it meant that the printer still had paper, but was suffering an error. Due to the potentially hazardous conditions which could arise in early line printers, Unix displayed the message "on fire" to motivate any system operator viewing the message to go and check on the line printer immediately.
In the early 1980s, Xerox created a prototype laser printer engine and provided units to various computer companies. To fuse the toner, the paper path passed a glowing wire. If paper jammed anywhere in the path, the sheet in the fuser caught fire. The prototype UNIX driver reported paper jams as "on fire." Later print engine models used a hot drum in place of the wire.

Phrase origins

Michael K. Johnson wrote the first Linux version of this error message in 1992, however he as well as Herbert Rosmanith and Alan Cox have acknowledged that the phrase existed in Unix in different forms prior to his Linux printer implementation.
Since then, the lp printer code has spread across all sorts of POSIX-compliant operating systems, which often still retain this legacy message.
Modern printer drivers and support have improved and hidden low-level error messages from users, so most Unix/Linux users today have never seen the "on fire" message. However, a few people still run into it today with varying levels of amusement or confusion. The "on fire" message remains in the Linux source code as of version 5.6.7.
The message is also present in other software modules, often to humorous effect. For example, in some kernels' CPU code, a CPU thermal failure could result in the message "CPU#0: Possible thermal failure " and similar humor can be found in the phrase halt and catch fire.