
Bug: Cat sitting on keyboard crashes lightdm - edward
https://bugs.launchpad.net/unity/+bug/1463112
======
doty
I am reminded of JWZ's "On Toolkits"
([https://www.jwz.org/xscreensaver/toolkits.html](https://www.jwz.org/xscreensaver/toolkits.html)):

"Let's suppose that down in the bowels of some particular version of some
particular toolkit library, there lurks a bug. Let's suppose that the nature
of this bug is something relatively obscure: say that it's something like, if
you hold down 5 keys on the keyboard for 10 seconds then drag the middle mouse
button, the text entry widget gets a SEGV. (In fact, I'm not making this up: I
saw this very bug once, years ago.)

Now, that's the sort of bug that is not likely to be noticed or fixed, because
it's the sort of thing that people "never" do. If that bug was reported
against, say, a web browser, nobody would much care: User: "I can crash my web
browser by doing this crazy thing!" Developer: "Uh, don't do that then." And
that's not a totally unreasonable response.

However, in the context of security software, it matters, because then it's
not merely a cute trick that crashes the program: now it's a backdoor password
that unlocks the screen."

~~~
nfm
That link is redirecting to an unexpected image for me.

Edit: it works if I copy-paste the URL.

~~~
simoncion
Is it some item of human genitalia? If so, you've triggered JWZ's anti-image-
hotlinking system.

There must be something somewhat unusual about your browser or maybe something
is mangling HTTP requests on their way to his server.

~~~
nfm
Yes, yes it is.

Does the link work as expected for you?

The strange thing is that it does work for me if I copy-paste the link (as
opposed to ctrl-clicking it). There really shouldn't be much that's different
between those two requests except for the referrer header.

~~~
simoncion
It does work as expected for me, no matter how I visit the URL. (The first
time I viewed the page, I ctrl-clicked the URL.)

> There really shouldn't be much that's different between those two requests
> except for the referrer header.

I don't _know_ the details, but I gather that that's a big component of the
anti-hotlinking system.

~~~
Analemma_
jwz just confirmed on Twitter that he blocks requests with HN in the referrer:
[https://twitter.com/jwz/status/665658171415859200](https://twitter.com/jwz/status/665658171415859200)

~~~
simoncion
Odd. Clicking on the link in the HN conversation works just fine for me.

Wait. Does running Firefox in Incognito Mode not send along a referrer?

~~~
467568985476
*referer ;)

~~~
simoncion
I am neither an HTTP server nor client. ;)

------
statusreport
My cat got my gf locked out of Gmail for 15 minutes once, since it was sitting
on the F5 (refresh) key while the Gmail tab was open. Turns out Gmail thought
there was a suspicious activity on the account and she got locked out for up
to 24 hours.

Possible solution:
[http://i.stack.imgur.com/i1A5X.jpg](http://i.stack.imgur.com/i1A5X.jpg)

~~~
long
This is incredible -- is 0.0.1 the latest or have there been upgrades?

~~~
Mithaldu
Haha, i read the version as "woot".

------
notacoward
This reminds me of a bug I had to fix while working on the AIX version of a
SCSI-failover driver (ATF) for Clariion disk arrays. It turned out that
_sometimes_ , telnet'ing in to a system with ATF active would hang the system.
(FWIW, ssh would have had the same problem. That's just not what actually
happened, and ssh on AIX wasn't much of a thing back in those days.) It turned
out that the telnet daemon and an ATF daemon together were triggering a
classic lock-inversion kind of deadlock in the AIX kernel's generic ioctl
code. The details and the fix aren't all that relevant, but it was an
important lesson in how these absolutely crazy-seeming kinds of interactions
can and do occur in real systems. If your code even runs "alongside" some
other code, they can interact in strange and unpleasant ways.

------
nommm-nommm
A long time ago back in the era of the Sega Genesis...

My siblings and I were playing Sonic 3D Blast. My brother was screwing around
and put a blanket over his face and started to press totally random buttons on
the Genesis controller saying "Tell me where to go! Tell me where to go!" and
my sis and I were like "Stop screwing around."

All of the sudden the screen glitched out. The graphics were all screwed up,
totally glitched out. We started exploring the level.

In this game you could go to either Tails or Knuckles to get to a bonus game.
We were like "oh I wonder what the bonus would look like." We went to Knuckles
and all of the sudden a level select screen came up.

Years and years later I looked it up on the web and apparently from what I
remember the level select screen is some kind of error handler that gets
triggered when the game is about to crash. People are on Youtube triggering it
by tapping on the cartridge when the game is running.

I wonder if a buffer overflowed or something.

~~~
kalleboo
The Cutting Room Floor has screenshots of that level select screen
[https://tcrf.net/Sonic_3D_Blast_(Genesis)](https://tcrf.net/Sonic_3D_Blast_\(Genesis\))

~~~
rspeer
That is a brilliant error handler.

Are there other games that crash with a congratulatory message and a level
selector? It seems like such a beneficial way to handle unexpected situations
that it should have been used more.

~~~
nommm-nommm
Extremely brilliant. Instead of getting upset the game crashed with too many
button presses we felt like 1337 hackers unlocking secrets.

(Remember, we were kids)

------
jstoiko
We sometimes underestimate the important role of cats in fighting bugs.

~~~
DrScump
I bet the cat didn't even RTFM first.

------
Cervisia
Related Linux kernel bug report:
[https://lkml.org/lkml/2011/11/3/110](https://lkml.org/lkml/2011/11/3/110)

However, that particular key combination ([Alt]+[SysRq]+[C]rash) works as
designed. The old adage about security and physical access comes to mind.

------
chx
So basically cats work as fuzzers if you can't be bothered to hook up afl.

------
dboreham
My cat found a similar bug in Windows NT 3.51 20 years ago.

------
userbinator
In my experience, this sort of unusual bug is a symptom of underlying design
problems, often caused by chronically convoluted and over-layered architecture
- there's no real reason why input events at a high rate should cause
behaviour different from a lower rate. If a system can't process events as
quickly as they come, then some of them should just get ignored.

It'd be interesting to see the cause of this bug, but more importantly how
they decide to fix it.

~~~
scrollaway
Please don't make assumptions. LightDM is overengineered but this bug could be
caused by just about anything.

