Hi list , i have googled few day , have no luck to find any clue for my problem  anyone have idea solve this problem thanks alot<br><br>Box config : centos 5.3 kernel 2.6.18-8.1.14.el5  64bit / varnish 2.0.4<br><br>varnishd -a <a href="http://0.0.0.0:80">0.0.0.0:80</a> -T <a href="http://127.0.0.1:3500">127.0.0.1:3500</a> -p client_http11=on -f vconf2
-s file,/usr/local/varnish/cache.bin,80G -h classic,500009 -p
listen_depth=4096 -p obj_workspace=32768 -p sess_workspace=32768 -p
send_timeout=327<br><br>from /var/log/message<br><p>
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: Child (21934) died signal=6
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>:
Child (21934) Panic message: Assert error in VRT_IP_string(),
cache_vrt.c line 693: Condition((p = WS_Alloc(sp->http->ws, len))
!= 0) nlient = <a href="http://211.74.185.119:2909">211.74.185.119:2909</a>, step = STP_RECV, handling = error,
err_code = 503, err_reason = (null), ws = 0x2abeb5926078 { overflow id
= "sess", {s,f,r,e} = cname = { "input", "Default", }, }, },
</p>
<p>
  
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: child (21952) Started
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: Child (21952) said Closed fds: 4 5 8 9 11 12
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: Child (21952) said Child starts
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: Child (21952) said managed to mmap 85899345920 bytes of 85899345920
Sep 20 21:26:36 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: Child (21952) said Ready
Sep 20 21:28:10 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>: Child (21952) died signal=6
Sep 20 21:28:10 x2 varnishd<a class="missing changeset" href="http://varnish.projects.linpro.no/changeset/21933" rel="nofollow">[21933]</a>:
Child (21952) Panic message: Assert error in WS_Release(), cache_ws.c
line 170: Condition(bytes <= ws->e - ws->f) not true. thread =
(10:32759, step = STP_RECV, handling = error, err_code = 503,
err_reason = (null), ws = 0x2abeb5a65078 { id = "sess", {s,f,r,e} =
{0x2abeb5a65808<sub>+32738,+32         "Default",       },     }, }, <br></sub></p><p><br></p><p>VCL config</p><p><br>backend default {<br>    .host = "10.0.0.5";<br>    .port = "80";<br>    .connect_timeout = 1s;<br>
    .first_byte_timeout = 5s;<br>    .between_bytes_timeout = 2s;<br>}<br><br>backend srv1 {<br>    .host = "10.0.0.5";<br>    .port = "80";<br>    .connect_timeout = 1s;<br>    .first_byte_timeout = 5s;<br>
    .between_bytes_timeout = 2s;<br>}<br><br>backend srv2 {<br>    .host = "10.0.0.5";<br>    .port = "80";<br>    .connect_timeout = 1s;<br>    .first_byte_timeout = 5s;<br>    .between_bytes_timeout = 2s;<br>
}<br><br>acl purge {<br><br>    "localhost"; "127.0.0.1";<br>}<br><br>#recv<br>sub vcl_recv {<br><br>if (req.http.host ~ "<a href="http://www.foobar.com">www.foobar.com</a>") {<br>    set req.http.host = "<a href="http://www.foobar.com">www.foobar.com</a>";<br>
    if (req.restarts == 0) {<br>    set req.backend = srv1;<br>    } else if (req.restarts == 1) {<br>    set req.backend = allhabit2;<br>    }    <br>    <br>}elseif ( req.http.host ~ "<a href="http://www.zoobar.com">www.zoobar.com</a>") {<br>
    set req.http.host = "<a href="http://www.zoobar.com">www.zoobar.com</a>";<br>    if (req.restarts == 0) {<br>        set req.backend = srv1;<br>        } else if (req.restarts == 1) {<br>        set req.backend = srv2;<br>
        }    <br><br>}elseif ( req.http.host ~ "<a href="http://www.yoobar.com">www.yoobar.com</a>") {<br>    set req.http.host = "<a href="http://www.yoobar.com">www.yoobar.com</a>"; <br>    if (req.restarts == 0) {<br>
        set req.backend = srv1;<br>        } else if (req.restarts == 1) {<br>        set req.backend = srv2;<br>        }<br><br>}elseif ( req.http.host ~ "218.242.39.202") {<br>    set req.http.host = "118.142.39.202";<br>
    if (req.restarts == 0) {<br>        set req.backend = srv1;<br>        } else if (req.restarts == 1) {<br>        set req.backend = srv2;<br>        }<br><br>}elseif ( req.http.host ~ "218.242.39.203") {<br>
    set req.http.host = "118.142.39.203"; <br>    if (req.restarts == 0) {<br>        set req.backend = srv1;<br>        } else if (req.restarts == 1) {<br>        set req.backend = srv2;<br>        }    <br><br>
}elseif ( req.http.host ~ "204.186.59.41") {<br>    set req.http.host = "204.186.59.41";<br>    if (req.restarts == 0) {<br>        set req.backend = srv1;<br>        } else if (req.restarts == 1) {<br>
        set req.backend = srv2;<br>        }<br><br>}elseif ( req.http.host ~ "204.126.59.45") {<br>    set req.http.host = "204.126.59.45";<br>    if (req.restarts == 0) {<br>        set req.backend = srv1;<br>
        } else if (req.restarts == 1) {<br>        set req.backend = srv2;<br>        }<br><br>}else{<br>    error 401 "Bad Domain";<br>} <br><br>#set req.grace = 30s;<br><br># Add a unique header containing the client address<br>
remove req.http.X-Forwarded-For;<br>set    req.http.X-Forwarded-For = client.ip;<br># [...]<br><br><br>if (req.request == "PURGE") {<br>    if(!client.ip ~ purge) {<br>        error 405 "Not Allowed";<br>
    } lookup;}<br><br><br>#if (req.request != "GET" && req.request != "HEAD") {<br>#        pipe;<br>#    }<br><br>#if (req.request == "POST") {<br>#     pass;<br># }<br><br>if (req.http.Expect) {<br>
        pipe;<br>    }<br><br><br>if (req.request != "GET" &&<br>                req.request != "HEAD" &&<br>                req.request != "PUT" &&<br>                req.request != "POST" &&<br>
                req.request != "TRACE" &&<br>                req.request != "OPTIONS" &&<br>                req.request != "DELETE") {<br>                        /* Non-RFC2616 or CONNECT which is weird. */<br>
                        pipe;<br>        }<br>        if (req.request != "GET" && req.request != "HEAD") {<br>                /* We only deal with GET and HEAD by default */<br>                pass;<br>
        }<br><br><br><br><br>if (req.http.Cache-Control ~ "no-cache") {<br>        pass;<br>    } <br><br>if (req.http.Authenticate) {<br>    pass;<br>  }<br><br>#if (req.http.Cookie) {<br>#    pass;<br>#  }<br>
<br>if (req.url ~ "\.(zip|ico|dat|torrent|png|gif|jpg|swf|css|js|bmp|bz2|tbz|mp3|ogg)$") {<br>    unset req.http.cookie;<br>    lookup;<br>#    unset req.http.authenticate;<br>    }<br><br>if (req.http.Accept-Encoding) {<br>
    if (req.url ~ "\.(zip|ico|dat|torrent|png|gif|jpg|swf|css|js|bmp|bz2|tbz|mp3|ogg)$") {<br>            # No point in compressing these<br>            remove req.http.Accept-Encoding;<br>        } elsif (req.http.Accept-Encoding ~ "gzip") {<br>
            set req.http.Accept-Encoding = "gzip";<br>        } elsif (req.http.Accept-Encoding ~ "deflate") {<br>            set req.http.Accept-Encoding = "deflate";<br>        } else {<br>
            # unkown algorithm<br>            remove req.http.Accept-Encoding;<br>        }<br>    }<br><br><br>} #end recv<br><br><br>sub vcl_hash {<br>set req.hash += req.url;<br>set req.hash += req.http.host;<br>#set req.hash += req.http.cookie;<br>
#set req.hash += server.ip;<br>hash;<br>}  #end hash<br><br># sub vcl_hash {<br>#     set req.hash += req.url;<br>#     if (req.http.host) {<br>#         set req.hash += req.http.host;<br>#     } else {<br>#         set req.hash += server.ip;<br>
#     }<br>#     hash;<br># }<br><br><br>#if (req.http.Accept-Encoding ~ "gzip") {<br>#set req.hash += "gzip";<br>#}<br>#else if (req.http.Accept-Encoding ~ "deflate") {<br>#set req.hash += "deflate";<br>
#}<br><br>#hash;<br>#}  #end hash<br><br><br>#sub vcl_hash {<br>#        set req.hash += req.url;<br>#        set req.hash += req.http.host;<br><br>#        if (req.http.Accept-Encoding ~ "gzip") {<br>#                set req.hash += "gzip";<br>
#        }<br>#        else if (req.http.Accept-Encoding ~ "deflate") {<br>#                set req.hash += "deflate";<br>#        }<br>#} <br><br><br><br># strip the cookie before the image is inserted into cache.<br>
sub vcl_fetch {<br><br>#if (obj.status != 200 && obj.status != 302) {<br>#restart;<br>#}<br><br>    if(obj.http.Set-Cookie){<br>                pass;<br>                }<br><br><br>  if(obj.http.Pragma ~ "no-cache" || <br>
              obj.http.Cache-Control ~ "no-cache" || <br>            obj.http.Cache-Control ~ "private"){<br>            pass;<br>            }<br><br>#    set obj.grace = 30s;<br><br>    if (req.url ~ "\.(zip|ico|dat|torrent|png|gif|jpg|swf|css|js|bmp|bz2|tbz|mp3|ogg)$") {<br>
        unset obj.http.set-cookie;<br>        set obj.ttl = 1w;<br>               }<br><br><br>#    if (req.request == "GET" && req.url ~ "\.(txt|js)$") {<br>#                 set obj.ttl = 1d;<br>
#               } else {<br>#                 set obj.ttl = 1w;<br>#               }<br><br>if (req.url ~ "\.(zip|ico|dat|torrent|png|gif|jpg|swf|css|js|bmp|bz2|tbz|mp3|ogg)$") {<br>unset obj.http.expires;<br>set obj.http.cache-control = "max-age=315360000, public";<br>
set obj.ttl = 1w;<br>set obj.http.magicmarker = "1";<br>}<br><br><br><br>#    if (obj.cacheable) {<br>#                        /* Remove Expires from backend, it's not long enough */<br>#                        unset obj.http.expires;<br>
<br>#                        /* Set the clients TTL on this object */<br>#                        set obj.http.cache-control = "max-age=315360000, public";<br><br>#                        /* Set how long Varnish will keep it */<br>
#                        set obj.ttl = 1w;<br><br>#                        /* marker for vcl_deliver to reset Age: */<br>#                        set obj.http.magicmarker = "1";<br>#                }<br><br><br>
    } #fetch end<br><br><br><br><br>sub vcl_deliver {<br>                if (resp.http.magicmarker) {<br>                        /* Remove the magic marker */<br>                        unset resp.http.magicmarker;<br><br>
                        /* By definition we have a fresh object */<br>                        set resp.http.age = "0";<br>        if (obj.hits > 0) {<br>                    set resp.http.X-Cache = "HIT";<br>
            } else {<br>                    set resp.http.X-Cache = "MISS";<br>               }<br><br>                }<br>    <br><br><br>} #deliver end<br><br><br>sub vcl_pipe {<br>    # <a href="http://varnish.projects.linpro.no/ticket/451">http://varnish.projects.linpro.no/ticket/451</a><br>
    # This forces every pipe request to be the first one.<br>    set bereq.http.connection = "close";<br>} #pipe end<br><br><br><br><br>sub vcl_error {<br>    if (obj.status == 503) {<br>        restart;<br>    }<br>
} #error end <br></p><p><br></p><p><br></p><p><br></p><p>Thanks <br></p><p>TW<br></p>