Subject: Re: thread killed
Date: Thursday 5th April 2012 17:05:58 UTC (over 4 years ago)
>> I think I might know what your problem is. You're accepting file uploads >> using handleMultipart, yes? Snap kills uploads that are going too slow, >> otherwise you would be vulnerable to slowloris >> (http://ha.ckers.org/slowloris/) DoS attacks. What's probably happening here >> is that you're doing slow work inside the "Iteratee IO a" handler you pass >> to that function, which makes Snap think the client is trickling bytes to >> you. If that's the case, either finish the iteratee more quickly and do the >> slow work back in the Snap handler (preferable), or disable the minimum >> upload rate guard (although that's not recommended on a server talking to >> the public internet.) Ok, so I butchered Snap by replacing all of snap-server's killThread calls with putStrLn calls, and the putStrLn that is triggered by Snap.Internal.Http.Server.SimpleBackend's runSession (line 163 in snap-server 0.8.0.1) seems to be the culprit. Is that a rate limiter, or is that something else? Anyhow, I think there's a bug in there somewhere. I'll be poking at it a bit more, but that seems to be the top-level source of the errors.