
Print this file, your printer will jam (2008) - JoshTriplett
http://nedbatchelder.com/blog/200811/print_this_file_your_printer_will_jam.html
======
PawelDecowski
Reminded me of “The case of the 500-mile email”:
[http://www.ibiblio.org/harris/500milemail.html](http://www.ibiblio.org/harris/500milemail.html)

~~~
lt
Or the "Car allergic to vanilla ice cream" tale.

[http://www.cgl.uwaterloo.ca/~smann/IceCream/humor.html](http://www.cgl.uwaterloo.ca/~smann/IceCream/humor.html)

~~~
poizan42
Or the "OpenOffice can't print on Tuesdays" bug
[https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161...](https://bugs.launchpad.net/ubuntu/+source/cupsys/+bug/255161/comments/28)

~~~
jes5199
That one reminds me of the system I worked on years ago that wouldn't accept
credit cards that expired in August or September (of any year).

~~~
T-hawk
I bet it was a Javascript system that tried to interpret month numbers of 08
and 09 as octal because of the leading zero. Am I close?

------
famousactress
One of my first jobs was QA for some printer-scanner-copier machines at HP. My
favorite bug that I found was that I had an 8x10 photo of my girlfriend at the
time, scanning which bricked the device. We were never able to find another
way to reproduce so that photo ended up in the regression suite's archive of
assets (maybe it's still there).

The relationship didn't last, so the morale of the story ended up being always
trust software defects when it comes to relationships. This turned out to be
especially true later when a pretty egregious Myspace bug introduced me to my
wife :)

~~~
rsync
The notion of a printer/scanner group, or producer, or team doing QA is one
that makes me want to laugh, then cry.

Printers are such unimaginable sources of pain, such a crippling tax on
everyone forced to interact with them in any way, that it's hard to imagine
anyone working to produce them in any standard, structured way.

~~~
famousactress
"Printers are such unimaginable sources of pain"

Well either you've a severely lacking imagination or have had a really
comfortable life. I hope for the latter :)

Kidding though, yeah printers are frustrating and cobbling together a printer-
fax-copier-scanner into one device is even more terrible. HP was really
serious about process though! The test group was literally bigger (more
people) than the dev team.. by probably a factor of almost 2.

HP was really big on Model Based Testing [1] and we read books and maybe even
had a class on it when joining. The QA team was all in all pretty high
functioning, if memory serves.. but the products would still get shipped with
_four figures_ of open bug reports (I am not kidding or exaggerating).

The sort of bugs at the start of the cycle were downright terrifying, too. If
your printer has never caught fire, or vomited all of it's ink on your desk in
the middle of the night... thank your friendly HP QA employee!

Mostly in my era the problems with the products were that they were done on a
pretty tight schedule (6-12 months) for what tended to amount to more
complex/new hardware than folks would initially expect. The testing cycle also
started pretty late because the initial "get it barely working" cycle ate up a
couple-few months, and the non-firmware software (drivers and crapware
utilities) got very little attention by the a-players on the team.

[1] [http://en.wikipedia.org/wiki/Model-
based_testing](http://en.wikipedia.org/wiki/Model-based_testing)

------
ay
Reminded me of a problem I had been debugging ages ago. The initial complaint
was that the particular file transfer through a firewall was hanging. Further
tests: it hangs at the same place.

More testing: not just this file, some other file transfers from unrelated
places as well - and always at the same places within the file (but different
across different files).

Take the tcpdump on both sides - always the same segment of data within each
of the file transfers does not make it through the PIX. Take the offending
segment and convert it into a small file of its own - this file is impossible
to download through, gets dropped.

Needless to say, this all was observable only on that particular setup - not
in the lab.

Finally I noticed that the CRC error counter on the inbound interface
increments by one every time I try to push through the offending small file.

Replacing the Ethernet cable connecting that interface had solved the problem
with all of the "hanging" transfers.

We did not do any further research into the root cause (the user did not want
to put back the previous cable), but the working theory was that the initial
cable was made bad, but not bad enough to not work at all - and the fault only
showed up on particular sequences of data.

Given that neither 10BaseT nor 100BaseT used scrambling, this seemed plausible
enough of a theory, but was quite fascinating nonetheless.

~~~
js2
Three fun connectivity issues I've diagnosed:

1) Problem report was: "I can login to remote host fine, but my interactive
session hangs when I type 'ls -l'." Some diagnosis indicated the hanging only
occurred when packets were above a certain size. This only happened when a
command was run that had a large amount of streaming output. Turned out our
provider's frame relay network had become misconfigured. Had to reduce the MTU
at both ends as a workaround until I was able to convince our provider that
something was wrong with their frame relay.

2) My home Linux box unable to talk to a Verizon pager gateway, but my Mac was
fine. Turned out Verizon's firewall was dropping packets that had the ECN bit
set. Had to disable ECN on the Linux box.

3) A Solaris host that was sporadically reachable over the LAN. It could
always connect to other hosts, but orher hosts could only sometimes reach it.
Turns out you can disable ARP replies on Solaris by deleting the "publish"
entry for the box's own MAC addr from its ARP table. And someone or something
had done that by accident. So the box was only reachable on the LAN till its
MAC timed out of the other hosts' ARP caches. However, if the host in question
first initiated a connnection to another host, the destination host would then
learn its MAC again.

~~~
ay
Troubleshooting the issue similar to (1) was one of my interview questions for
a while - though with HTTP. It's a treasure trove of discussion at very
different levels.

Another "fun" (and hard to debug for the first time) is the problems triggered
by duplex mismatch - though the asymmetric ~1/10 difference in performance
quickly becomes a signature once you met it once or twice. Also good anchor
where you can go into many types of discussions.

The very similar to (3) I've seen manifested in IPv6 - due to Neighbor
Discovery working over multicast, and potentially asymmetric ways of multicast
propagating within the L2 segment (different L2 switches on two sides, etc.)

But very interesting to learn this asymmetricity in Solaris stack, thanks!

------
bulte-rs
"Reminds me of the time when ..." printing a file with some patched up
negative page count actually upped your printing quota in university.

~~~
badlucklottery
I found something similar at my university where you could underflow the
unsigned short they used to track your quota.

The system would of course refuse any single job that took you over quota but,
if you wrote a script that pounded a few jobs slightly below quota right after
each other, two or more would get through, underflow and you'd suddenly have
65k pages left.

I know when you left the school you could get reimbursed for any remaining
pages left on your ID but I wasn't crazy enough to try that. 65k * $0.05 = a
chat with the police, I'd guess.

------
praptak
Some similar bugs, the later one looks like an urban legend:

"Printer won't print on Tuesdays"
:[http://mdzlog.alcor.net/2009/08/15/bohrbugs-openoffice-
org-w...](http://mdzlog.alcor.net/2009/08/15/bohrbugs-openoffice-org-wont-
print-on-tuesdays/)

"A member of the famous Black Team manages to create a sequence of operations
that topples over the tape drive":
[http://www.penzba.co.uk/GreybeardStories/TheBlackTeam.html](http://www.penzba.co.uk/GreybeardStories/TheBlackTeam.html)

~~~
aw3c2
The Black Team link inside your link is broken,
[http://www.t3y.com/tangledwebs/07/tw0706.html](http://www.t3y.com/tangledwebs/07/tw0706.html)
is blocking all robots so no Web Archive copy either. I think this is a copy
of it:
[http://www.t3.org/tangledwebs/07/tw0706.html](http://www.t3.org/tangledwebs/07/tw0706.html)

~~~
RiderOfGiraffes

        > The Black Team link inside
        > your link is broken ...
    

Fixed - thank you.

------
usea
In college I shared an apartment with some friends. Every few weeks, when
somebody was watching a movie it would spontaneously rewind part-way into the
movie. It happened infrequently enough that we didn't really investigate until
one night when a bunch of people were over. The movie would rewind whenever
the lights in the living room were off, and somebody pulled the cord on the
ceiling fan to change its speed. It was 100% reproducible, but baffling.

After much investigation, we traced the problem to a Rock Band drum set foot
pedal. It has an AC adapter plugged into the wall, and also acts as pressing L
on the PS3 controller when it's triggered. Somehow, pulling the cord on the
ceiling fan made the foot pedal act like it got kicked, which would rewind the
movie playing on the PS3. Unplugging the foot pedal or drum set solved the
problem.

~~~
bravo22
Wow I am old. The entire time I was picturing a VCR.

~~~
miahi
It's caused by the "rewind" word. I never owned a VCR but still thought about
one :). The software started to use other terms for the action, like "jump
backwards" (VLC media player). Probably because the actual rewind action (show
the movie backwards very fast) is not easy to do in compressed video (to show
the last frame before a keyframe you have to seek the previous keyframe and
recompute all the frames until the desired one).

~~~
bentcorner
It's too bad that current media formats don't allow you to scrub (at least,
the ones I usually come across - I have no idea what makes a compression
format "scrubbable"). IIRC, this was one of the selling points of Quicktime.

~~~
ygra
Only key frames and no frames that are in any way predicted by what came
before it. That's actually the major point that differentiates formats
intended for consumption and those intended for editing. If you usually only
watch something from start to end, you can vastly increase compression ratio
by re-using parts of earlier frames that changed very little. However, this
means that to get to a particular frame you have to find the last keyframe
before that and then decode from there.

------
mehwoot
_Just because a bug seems impossible doesn 't mean it is._

Why would anyone who has used a printer more than once think it would be
impossible to reliably jam a printer...

~~~
MereInterest
Because it seems strange that anything involving a printer would be reliable.

------
VBprogrammer
My favourite impossible bug was during a autonomous robotics course in which
we had to design a small robot which would collect balls and move them within
a target area using quite simple sensors.

One of these sensors was a simple conductive sensor which sensed metallic tape
on the floor of the arena.

One of the teams had a freezing issue that they couldn't get to the bottom of,
until they realised that it froze when their back roller (a sphere in a cage
so it can rotate in 2 directions) went over the metallic tape.

The theory goes that the moving lego parts generated static electricity which
was then conducted somehow down to the metallic tape, which caused some fault
in the single board PC we used.

I wouldn't have believed it unless I'd seen it. Replacing the metal roller
with a lego piece cured the issue.

------
PhasmaFelis
This reminds me of an article I read some years ago about the powers and
pitfalls of genetic algorithms. I don't remember the details, and I'd love to
find a link to it again. The main thing was that these guys were using GAs to
generate circuits to perform a simple signal-processing function. They worked
fine, but they were blindingly incomprehensible, the physical equivalent of
undocumented spaghetti code.

One of them memorably had a wire or a resistor or something that wasn't
connected to anything else in the circuit. So they removed it.

The circuit stopped working.

They put it back in.

It started working again.

The best anyone could figure was that that bit of metal was interacting
electromagnetically with the rest of the circuit in some immeasurably small
way that the entire thing depended upon.

~~~
poizan42
It was a tone discriminator and the experiment was run by Dr. Adrian Thompson.

[http://discovermagazine.com/1998/jun/evolvingaconscio1453](http://discovermagazine.com/1998/jun/evolvingaconscio1453)

Shorter article: [http://www.damninteresting.com/on-the-origin-of-
circuits/](http://www.damninteresting.com/on-the-origin-of-circuits/)

------
peteretep
Related random printer bug:
[https://news.ycombinator.com/item?id=8171956](https://news.ycombinator.com/item?id=8171956)

------
ChuckMcM
Nice, I remember the LPS-20 :-) My favorite though is the person who figured
out you could pwn a printer by printing the right document on it [1]. For
network attached printers you could print this guy's resume and he would then
have a node under his control on your network. Scary and cool all at the same
time.

[1]
[http://events.ccc.de/congress/2011/Fahrplan/events/4780.en.h...](http://events.ccc.de/congress/2011/Fahrplan/events/4780.en.html)

------
kazinator
"I cannot be printed on printer X"

[http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach#Themes](http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach#Themes)

:)

------
bambax
> _Just because a bug seems impossible doesn 't mean it is._

How true.

------
arnarbi
TL;DR: The render time of that file caused the drum to have to stop just
briefly enough so that it couldn't start properly again.

~~~
plq
Except this post wasn't "too long" at all.

~~~
arnarbi
I didn't mean to imply it was, just trying to be helpful for those who are
curious but don't have time.

~~~
Cthulhu_
If they don't have time they probably shouldn't be spending it on HN, ;).

------
edem
I can't see an attached file. I would like to try it out. Did I miss
something?

~~~
thret
It was 20 years ago: the bug is long since patched and the printer put out to
pasture.

