]> git.ipfire.org Git - thirdparty/squid.git/commit
Bug 4432: assertion failed: store.cc:1919: "isEmpty()"
authorAlex Rousskov <rousskov@measurement-factory.com>
Thu, 18 Feb 2016 04:11:36 +0000 (21:11 -0700)
committerAlex Rousskov <rousskov@measurement-factory.com>
Thu, 18 Feb 2016 04:11:36 +0000 (21:11 -0700)
commit3d67f7e6f7c2c9c152a851a899f8ee01f9d7efec
treeb2b0c108e1c08b0b05b890ce317bbbd22ca57e77
parent989393f2f64c36cb3ef2e0872604e952067d5a08
Bug 4432: assertion failed: store.cc:1919: "isEmpty()"

When we failed to parse a response:

* Do not use parsing leftovers, such as HTTP response status code. Doing
  so screws up error detection logic in continueAfterParsingHeader() and
  leads to stuck transactions instead of error responses.

* Do not store the fake half-baked response (via replaceHttpReply).
  Doing so leads to assertions.  The fake response is only meant for
  continueAfterParsingHeader().

I also removed a misleading XXX about connection closure. Our
continueAfterParsingHeader() handles errors, not processReplyHeader().

TODO: The error detection/propagation code is ugly and should be
rewritten [using C++ exceptions].
src/http.cc