[Varnish] #141: Varnish 1.1 dies with missing errorhandling code in VRT_l_req_hash

Anders Nordby anders at fupp.net
Sun Aug 5 21:35:20 CEST 2007


Hi,

I have not defined vcl_hash at all. Please re-open this ticket.

Attached is my VCL code.

On Sun, Aug 05, 2007 at 07:27:13PM -0000, Varnish wrote:
> #141: Varnish 1.1 dies with missing errorhandling code in VRT_l_req_hash
> -----------------------------------------------+----------------------------
>  Reporter:  anders                             |        Owner:  phk      
>      Type:  defect                             |       Status:  closed   
>  Priority:  high                               |    Milestone:           
> Component:  varnishd                           |      Version:  1.1      
>  Severity:  major                              |   Resolution:  duplicate
>  Keywords:  varnishd core dump VRT_l_req_hash  |  
> -----------------------------------------------+----------------------------
> Changes (by phk):
> 
>   * status:  new => closed
>   * resolution:  => duplicate
> 
> Comment:
> 
>  I have become aware that vcl_hash may not allow very much action that
>  needs memory, in particular regsub().
> 
>  You didn't include your VCL code (please always do) in the ticket, so I'm
>  not 100% sure this is what is happening here, but I suspect this is a
>  duplicate of the problem in ticket 137, and will mark this ticket as such.
> 
> -- 
> Ticket URL: <http://varnish.projects.linpro.no/ticket/141#comment:2>
> Varnish <http://varnish.projects.linpro.no/>
> The Varnish HTTP Accelerator


-- 
Anders.
-------------- next part --------------
backend default {
             set backend.host = "192.168.0.3";
             set backend.port = "80";
        }
acl purge {
	"192.168.0.4"/32;
}
sub vcl_recv {
	if ((req.http.host ~ "^(cache.finn.no|finn.no|www.finn.no)$") || (req.http.host == "banner.finn.no" && req.url ~ "^/(jsp2|finn/gojsp|daily|board|auximg/papirfly|finn/cacheable|crossdomain.xml)")) {
		if (req.request == "GET" || req.request == "HEAD") {
			lookup;
		} elsif (req.request == "PURGE") {
			if (!client.ip ~ purge) {
				error 405 "Not allowed.";
			}
			lookup;
		} else {
			pipe;
		}
	} else {
		error 403 "Access denied. Contact cacheadmin at finn.no if you have problems.";
	}
}
sub vcl_miss {
	if (req.request == "PURGE") {
		error 404 "Not in cache.";
	} else {
		fetch;
	}
}
sub vcl_hit {
	if (req.request == "PURGE") {
		set obj.ttl = 0s;
		error 200 "Purged.";
	} else {
		deliver;
	}
}
sub vcl_fetch {
	if (obj.ttl < 86400s) {
		set obj.ttl = 604800s;
	}
	if (obj.http.Cookie) {
		remove obj.http.Cookie;
	}
	if (obj.http.Set-Cookie) {
		remove obj.http.Set-Cookie;
	}
        insert;
}


More information about the varnish-bugs mailing list