On Fri, Aug 12, 2011 at 5:42 AM, Eric Wong <[email protected]> wrote:
> Joe Van Dyk <[email protected]> wrote:
>> Has anyone seen anything like this before?  I can get it to happen all
>> the time if I issue a HEAD request, but it only happens very
>> intermittently on GET requests.
>>
>> I'm using Ruby 1.9.2p180.
>>
>> Any ideas on where to start debugging?
>
> What web framework and other middlewares are you running?  Are you using 
> Rack::Head to
> generate HEAD responses or something else?
>
>> 204.93.223.151, 10.195.114.81 - - [11/Aug/2011 21:03:50] "GET /
>> HTTP/1.0" 200 37902 0.5316
>> app error: Content-Length header was 37902, but should be 0
>> (Rack::Lint::LintError)
>> /mnt/data/tanga/current/bundler/ruby/1.9.1/gems/rack-1.2.3/lib/rack/lint.rb:19:in
>> `assert'
>> /mnt/data/tanga/current/bundler/ruby/1.9.1/gems/rack-1.2.3/lib/rack/lint.rb:501:in
>> `verify_content_length'
>
> Looking at the 1.2.3 rack/lint.rb code, it should've set @head_request to true
> when env["REQUEST_METHOD"] == "HEAD" (rack/lint.rb line 56).
> Do you happen to have any middlewares that might rewrite REQUEST_METHOD?
>
> I would edit rack/lint.rb and put some print statements to show the
> value of @head_request and env["REQUEST_METHOD"]

Narrowed this down a little bit more.

Nginx is receiving a HEAD request, unicorn is logging a GET.
Somewhere along the chain, the http method is getting mangled.

(I'm seeing a lot of these errors because newrelic is sending HEAD
requests to check if the site is up.)
_______________________________________________
Unicorn mailing list - [email protected]
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying

Reply via email to