diff options
author | 2013-03-09 15:31:08 -0400 | |
---|---|---|
committer | 2013-03-09 15:31:08 -0400 | |
commit | a29da48e29cd3f6621af2b2626c27c902d1a4118 (patch) | |
tree | 191ad3ba648ea24bdeddc4d03148748887cfcdb8 | |
parent | 66adf4b9434f79ea82e26ae6451d81c73e2543c4 (diff) |
blog for the day
-rw-r--r-- | doc/design/assistant/blog/day_209__The_Bug.mdwn | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/design/assistant/blog/day_209__The_Bug.mdwn b/doc/design/assistant/blog/day_209__The_Bug.mdwn new file mode 100644 index 000000000..b2e87fd8f --- /dev/null +++ b/doc/design/assistant/blog/day_209__The_Bug.mdwn @@ -0,0 +1,23 @@ +> And so we waited. Tick-tock, blink-blink, thirty seconds stretched +> themselves out one by one, a hole in human experience. -- The Bug + +I *think* I've managed to fully track down the [[webapp_hang]]. It is, +apparently, a bug in the Warp web server's code intended to protect against +the [Slowloris](http://ha.ckers.org/slowloris/) attack. It assumes, +incorrectly, that a web browser won't reuse a connection it's left idle for +30 seconds. Some bad error handling keeps a connection open with no thread +to service it, leading to the hang. +<https://github.com/yesodweb/wai/issues/146> + +Have put a 30 minute timeout into place as a workaround, and, unless +a web browser sits on an idle connection for a full 30 minutes and then +tries to reuse it, this should be sufficient. + +I was chasing that bug, quietly, for 6 months. Would see it now and +then, but not be able to reproduce it or get anywhere with analysis. +I had nearly given up. If you enjoy stories like that, read Ellen +Ullman's excellent book The Bug. + +> To discover that between the blinks of the machine’s shuttered eye—going +> on without pause or cease; simulated, imagined, but still not caught—was +> life. |