A Missing Space in a Magic Rule: Why Printers Stopped Working Only on Tuesdays

A Missing Space in a Magic Rule: Why Printers Stopped Working Only on Tuesdays

bugLinuxSystem Architecture

Sources:Lobsters Community

“I can’t demonstrate the problem to you right now.” When a wife complained to her husband that the home computer was broken, he asked why she couldn’t show him. Her baffling reply: “Because today is Wednesday.”

In 2009, the Ubuntu community encountered a perplexing mystery. A large number of users discovered that printing documents through OpenOffice failed sporadically. The only clue early in the investigation was that printing from all other applications worked perfectly—only OpenOffice silently dropped print jobs into a black hole. Naturally, most developers focused their suspicion on the application layer, assuming it was a software bug within OpenOffice itself.

Reinstallation Won’t Cure the Tuesday Curse

Some users resorted to the ultimate troubleshooting trick: reinstalling the operating system. They finished the clean install on a Thursday and verified that printing worked flawlessly, believing the problem was solved. But two weeks later, on a Tuesday, the printer silently went on strike once again.

The issue was not in OpenOffice’s codebase at all. The real culprit lay deep within the foundational system stack. Linux uses the file command to identify file types, relying on more than 1,600 community-maintained magic pattern rules. Before sending a document to the print spooler, the system runs file to confirm whether the document is in PostScript format.

File Matching Conflict Figure: Conflict between the date header in a PostScript file and magic pattern rules. Source: Custom diagram

Back in 2001, someone added a rule to the file rule database intended to identify Erlang JAM files. Due to a missing space escape, the string Tue in the rule became a bare matching pattern that took precedence over PostScript recognition. As a result, whenever a file contained the string Tue, the system misidentified it as an Erlang binary. This demonstrates how a subtle oversight in a low-level component can cascade upward and break an entire system.

The Calendar Is the Most Accurate Debugger

When OpenOffice generated a PostScript print job on a Tuesday, the file header automatically recorded the creation timestamp—such as %%CreationDate: (Tue ...). Scanning the file, the file command matched Tue, instantly concluded that it was an Erlang binary rather than a printable document, and rejected sending it to the printer.

Low-Level Component Failure Figure: A subtle low-level bug causing high-level applications to fail. Source: Custom diagram

Even today in 2026, this 15-year-old tale resurfaced to rank second on Lobsters. Developers across the community treat it as a textbook case of troubleshooting methodology. It proves that in modern software engineering, the dimension of time itself can be a crucial variable when investigating elusive bugs.

In complex systems, no component is truly trivial. A single missing space in a foundational tool’s rule set completely stopped printers from working. The next time you encounter a bug that only appears on specific days, perhaps the calendar should be your first debugging tool. This analysis is based on current engineering experience and public community discussions; feedback and corrections are welcome.

Reference Links:

  • OpenOffice doesn’t print on Tuesday
  • Lobsters Community Discussion (s/im3eeh)