1.1.18 crashing on "cache information" manager requests

From: Stefan Monnier <monnier+lists/squid/news/@dont-contact.us>
Date: 09 Nov 1997 18:36:48 -0500

Is anyone seeing this ?
Ever since I upgraded to 1.1.18 everything works great, except for the fact
that I can't get access to the "cache information" via cachemgr.cgi because
it systematically crashes (other cachemgr.cgi requests seem to work fine).

I tried to debug the thing but couldn't get very far. Basically, here is
what happens:

- squid enters objcacheStart
- switches to the MGR_INFO case
- calls info_get
- until here, everything is fine (among other things "*entry" holds
  reasonable values)
- then returns from info_get
- "entry" now points to some inexistant memory. Since it's a local variable,
  this strongly indicate a stack-corruption.
- "BIT_RESET(entry->flag, DELAY_SENDING);" causes a SIGSEGV since entry points
  to nowhere.

info_get only calls storeAppendPrintf so I looked at it, noticed that it uses
"vsprintf", thought "hey, let's use vsnprintf instead", tried it out and
found out that this is not the problem. Maybe the problem happens in
storeAppend, but I have trouble debugging at this point because of the indirect
function calls.

So, is anyone aware of the problem ? Or is it just me ? (my squid source is
slightly patched in http.c (httpCachableReply) but I can't imagine how this
could be related: it just adds a "if (reply->expires < 0) reply->expires = 0;"
to make sure everything gets a chance to be cached, and allows cookies to be
cached also)

This is on Linux-2.0.31 with glibc-2.0.4 by the way.

        Stefan
Received on Sun Nov 09 1997 - 15:39:06 MST

This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:37:28 MST