Tue Byte Four Erlang JAM Bug
CUPS, the Common Unix Printing System, then uses the file utility as part of its pipeline to determine the type. But if "Tue" appears at byte 4 (Tuesday's creation date), it's mistakenly identified as an Erlang JAM file, causing the print job to fail. Essentially, the logic in the file utility for recognizing Erlang JAM files were too broad. Looking for a single static string position is an extremely fragile detection method. Simply changing the creation date to “XTue” completely solves the problem! Print to a postscript file, observe the line: % CreationDate: (Tue Mar 3 19:47:42 2009) Change "Tue" to anything else: % CreationDate: (XTue Mar 3 19:47:42 2009) Save the file and it prints. Tools like evince work because they simply omit the "CreationDate" tag to begin with.
A screenshot of a threaded technical post explains a CUPS printing failure caused by the file utility mistaking a PostScript file for an Erlang JAM file when “Tue” appears at byte 4 in the creation date. The joke is that an absurdly fragile static-string detection rule breaks printing, while changing “Tue” to “XTue” fixes it. EN: A screenshot of a threaded technical post explains a CUPS printing failure caused by the file utility mistaking a PostScript file for an Erlang JAM file when “Tue” appears at byte 4 in the creation date. The joke is that an absurdly fragile static-string detection rule breaks printing, while changing “Tue” to “XTue” fixes it.
tweet screenshot / скриншот твитаthreaded post / ветка публикацийcomputer text / компьютерный текстcode block / блок кодаPostScript file / файл PostScriptprinter / принтерprinting pipeline / конвейер печатиfile utility / утилита fileErlang JAM file / файл Erlang JAMcreation date / дата созданияtimestamp / временная меткаterminal-style text / текст в стиле терминалаblack background / чёрный фонwhite text / белый текст
- @ithueti / 14899 2024-12-27
- Type
- image
- Size
- 542×800 · 95.7 KiB
- Mood
- technical absurdity
- Language
- en
- Added