Jump to content

Lp0 on fire: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
No longer needs more references. This is definitive. :)
mNo edit summary
Line 5: Line 5:
== History ==
== History ==


The "lp0 on fire" error message originated in 1992 or 1993 in the Linux kernel when Michael K. Johnson wrote it as a continuation of an old Unix-related joke. Johnson stated,"When I did my Linux parallel port driver rewrite some years ago, the
The "lp0 on fire" error message, in this form, appeared in 1992 or 1993 in the Linux kernel when Michael K. Johnson wrote it as a continuation of an old Unix-related joke. Johnson stated,"When I did my Linux parallel port driver rewrite some years ago, the
original author had put a comment something like '/* unknown error;
original author had put a comment something like '/* unknown error;
on fire? */' under a conditional. I liked it so much I turned it into
on fire? */' under a conditional. I liked it so much I turned it into

Revision as of 01:18, 19 October 2013

lp0 on fire (aka Printer on Fire) is a semi-obsolete 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. The message does not reliably indicate whether the printer in question is actually aflame, but indicates an unspecified error.[1]


History

The "lp0 on fire" error message, in this form, appeared in 1992 or 1993 in the Linux kernel when Michael K. Johnson wrote it as a continuation of an old Unix-related joke. Johnson stated,"When I did my Linux parallel port driver rewrite some years ago, the original author had put a comment something like '/* unknown error; on fire? */' under a conditional. I liked it so much I turned it into an error message (for better or worse...) that said 'lp on fire'."[2] This is corroborated in the lp.c file of the Linux source that lists Michael K. Johnson as one of the authors of this file.[3]

Another theory is that the "on fire" jokes originated in the late 1950s, when 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. There is, however, no evidence of the "lp0 on fire" message appearing in any software of the time.[4]

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. However, it is unknown if this ever happened as there are no known 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 (and may still be attempting to run). 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.[5]

Legacy

While modern inkjet and laser printers are nowhere near as flammable as their mainframe ancestors, the lp device code in all sorts of POSIX-compliant operating systems retained this legacy message. As printer drivers and support improved, this error condition could be trapped and handled appropriately, and as a result, most Unix/Linux users today have never encountered the "on fire" message. However, the message is still present in many kernels, especially those with legacy parallel port device support,[6] and continues to baffle users to this day.[7] The "on fire" message remains in the Linux source code as of version 3.8.[8]

The "on fire" message is also present in other components, often to a humorous effect. For example, in some kernels' CPU code, a CPU thermal failure could result in the message "CPU#0: Possible thermal failure (CPU on fire ?)." [9]

See also

References

  1. ^ "Driver author's message board note about original meaning of error". Retrieved October 18, 2013.
  2. ^ "Mailing list post claiming authorship of lp0 on fire error". Retrieved October 18, 2013.
  3. ^ "lp.c source code". Retrieved October 18, 2013.
  4. ^ "LLNL war story concerning the SC5000 and the Radiation Printer". Retrieved November 14, 2011.
  5. ^ "Mailing list post relating the history of the lp0 on fire error". Retrieved September 11, 2007.
  6. ^ "Google Code Search for 'lp%d on fire'". Retrieved January 17, 2010.
  7. ^ "Help, my printer port is on fire!!!". Archived from the original on November 3, 2006. Retrieved September 11, 2007.
  8. ^ "linux/drivers/usb/class/usblp.c at master · torvalds/linux". Retrieved 12 October 2013.
  9. ^ "CPU#0: Possible thermal failure (CPU on fire ?)". Retrieved September 13, 2008.