[Varnish] #620: error message from varnish "died signal=6<131>Jan 11 03:50:17 varnishd[8785]: Child (8786) Panic message: Assert error in WSL_Flush()"

Varnish varnish-bugs at projects.linpro.no
Sat Jan 30 02:53:27 CET 2010


#620: error message from varnish "died signal=6<131>Jan 11 03:50:17
varnishd[8785]: Child (8786) Panic message: Assert error in WSL_Flush()"
---------------------------+------------------------------------------------
 Reporter:  sprasad        |        Owner:  kristian
     Type:  defect         |       Status:  assigned
 Priority:  normal         |    Milestone:          
Component:  varnishd       |      Version:  2.0     
 Severity:  normal         |   Resolution:          
 Keywords:  varnish 2.0.4  |  
---------------------------+------------------------------------------------
Comment (by chawl):

 Similar on: Centos 5.4 x86_64, Apache/2.2.3 (no keepalive) backend, 2.0.6
 compiled from source(forge).

 {{{
 Jan 29 18:22:45 ns1 varnishd[11028]: Child (11029) not responding to ping,
 killing it.
 Jan 29 18:23:18 ns1 last message repeated 7 times
 Jan 29 18:23:18 ns1 varnishd[11028]: Child (11029) died signal=3
 Jan 29 18:23:18 ns1 varnishd[11028]: child (6119) Started
 Jan 29 18:23:18 ns1 varnishd[11028]: Child (6119) said Closed fds: 4 5 6
 10 11 13 14
 Jan 29 18:23:18 ns1 varnishd[11028]: Child (6119) said Child starts
 Jan 29 18:23:18 ns1 varnishd[11028]: Child (6119) said managed to mmap
 10737418240 bytes of 10737418240
 Jan 29 18:23:18 ns1 varnishd[11028]: Child (6119) said Ready
 }}}

 no core dumps, and my simple vcl

 {{{
 backend default {
   .host = "127.0.0.1";
   .port = "8080";
   .first_byte_timeout = 300s;
   .between_bytes_timeout = 120s;
   .max_connections = 35;
 }
 sub vcl_recv {
         set req.grace = 30s;
         if (req.url ~ "cron.php") {
                 return (pass);
         }
         if (req.url ~ ".*/server-status$") {
                 error 403 "Hmmm...";
         }
         if (req.url ~ "(/wp-login.php|/munin/localhost/)") {
                 return (pipe);
         }
         if (req.request == "GET" && req.url ~
 "(\.[gG][iI][fF])|(\.[jJ][pP][eE]?[gG])|(\.[pP][nN][gG])|(\.[fF][lL][vV])|(\.[mM][pP]4)|(\.[zZ][iI][pP])|(\.[rR][aA][rR])|(\.[cC][sS][sS])|(\.[sS][wW][fF])|(\.[wW][mM][vV])|(\.[sS][wW][fF])|(\.[jJ][sS])$")
 {
                 unset req.http.cookie;
                 lookup;
     }
 }
 sub vcl_hash {
         if (req.http.Cookie) {
                 set req.hash += req.http.Cookie;
         }
 }
 sub vcl_hit {
         if (!obj.cacheable) {
                 pass;
         }
         if (req.url ~ "__REFRESH__$") {
                 set obj.ttl = 0s;
                 return (restart);
         }
         deliver;
 }
 sub vcl_fetch {
         set obj.grace = 30s;
         if (req.request == "GET" && req.url ~
 "(\.[gG][iI][fF])|(\.[jJ][pP][eE]?[gG])|(\.[pP][nN][gG])|(\.[fF][lL][vV])|(\.[mM][pP]4)|(\.[zZ][iI][pP])|(\.[rR][aA][rR])|(\.[cC][sS][sS])|(\.[sS][wW][fF])|(\.[wW][mM][vV])|(\.[sS][wW][fF])|(\.[jJ][sS])$")
 {
                 unset obj.http.Set-Cookie;
                 set obj.cacheable = true;
         }
         if (obj.cacheable) {
                 unset obj.http.expires;
                 set obj.http.cache-control = "max-age = 900";
                 set obj.ttl = 1w;
                 set obj.http.magicmarker = "1";
                 deliver;
     }
 }

 sub vcl_deliver {
         if (resp.http.magicmarker) {
                 unset resp.http.magicmarker;
                 set resp.http.age = "0";
     }
 }
 }}}

 Crashes once or twice a day and have no correlation with loads, crons,
 backend restart etc.

 I suspect "set obj.ttl = 0s;return (restart);" without hard evidence
 anyway, but a crash occurred once just then I called this line to refresh
 an object in the cache. May be a coincidence, but a daily crash is hard to
 be coincided with such a rare call.

 What's next? Same crash was happened many times with 2.0.5 which is
 installed from rpmforge repo, and that's why I attempted to compile a
 fresh 2.0.6 from source.

 Tx.

-- 
Ticket URL: <http://varnish-cache.org/ticket/620#comment:4>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list