On Fri, Mar 14, 2008, Alex Rousskov wrote: > > I think it actually is a bug in the Vary handling in Squid-3. > > The condition: > > > > if (!has_vary || !entry->mem_obj->vary_headers) { > > if (vary) { > > /* Oops... something odd is going on here.. */ > > > > .. needs to be looked at. > > But it is not the condition getting hit according to Aurimas' log, is > it? There's two confusing log messages with the same message, which is confusing things. Aurimas, in varyEvaluateMatch() in client_side.cc, change the first debugs() statement here: if (!has_vary || !entry->mem_obj->vary_headers) { if (vary) { /* Oops... something odd is going on here.. */ debugs(33, 1, "varyEvaluateMatch: Oops. Not a Vary object on second attempt, '" << entry->mem_obj->url << "' '" << vary << "'"); safe_free(request->vary_headers); return VARY_CANCEL; } .. replace that "second attempt" with "first attempt", recompile, and see whats logged. Adrian -- - Xenion - http://www.xenion.com.au/ - VPS Hosting - Commercial Squid Support - - $25/pm entry-level VPSes w/ capped bandwidth charges available in WA -