[Varnish] #319: VCL_error_method ,child exited on signal 6

Varnish varnish-bugs at projects.linpro.no
Tue Sep 16 05:10:39 CEST 2008


#319: VCL_error_method ,child exited on signal 6
-------------------------------------------------------------------+--------
 Reporter:  chenxy                                                 |        Type:  defect
   Status:  new                                                    |    Priority:  normal
Milestone:                                                         |   Component:  build 
  Version:  trunk                                                  |    Severity:  normal
 Keywords:  VRT_r_req_xid,err_code 403, err_reason Request denied  |  
-------------------------------------------------------------------+--------
 os: FreeBSD 7.0-RELEASE (GENERIC) amd64[[BR]]

 version: trunk  R3113

 logfile lines:
 {{{
 Sep 15 13:32:11 236-25 kernel: pid 79877 (varnishd), uid 65534: exited on
 signal 6 (core dumped)
 Sep 15 13:32:12 236-25 varnishd[72350]: Child (79877) Panic message:
 Assert error in VRT_r_req_xid(), cache_vrt.c line 483:
 Condition(snprintf(p, size, "%d", sp->xid) < size) not true.  errno = 32
 (Broken pipe)  thread = (cache-worker)sp = 0x180c20d008 {   fd = 1428, id
 = 1428, xid = 2147519919,   client = 222.76.177.239:26384,   step = 0xb,
 handling = 0x0,   err_code = 403, err_reason = Request denied.,   ws =
 0x180c20d078 {      id = "sess",     {s,f,r,e} =
 {0x180c20d7a0,,+666,0x0,+8192},   },     worker = 0x7fffdeaf6ac0 {     },
 vcl = {       srcname = {         "/usr/local/etc/vcl.conf",
 "Default",       },     },   obj = 0x8ca75d000 {     refcnt = 1, xid =
 2147519919,     ws = 0x8ca75d028 {        id = "obj",       {s,f,r,e} =
 {0x8ca75d348,,+136,0x0,+7352},     },     http = {       ws = 0x8ca75d028
 {          id = "obj",         {s,f,r,e} = {0x8ca75d348,,+136,0x0,+7352},
 },       hd = {         "Date: Mon, 15 Sep 2008 05:31:22 GMT",
 "Server: Varnish",         "Retry-After: 0"
 Sep 15 13:32:12 236-25 varnishd[72350]: child (4407) Started
 Sep 15 13:32:12 236-25 varnishd[72350]: Child (4407) said Closed fds: 7 8
 11 12 14 15
 Sep 15 13:32:12 236-25 varnishd[72350]: Child (4407) said Child starts
 Sep 15 13:32:12 236-25 varnishd[72350]: Child (4407) said managed to mmap
 17179869184 bytes of 17179869184
 Sep 15 13:32:12 236-25 varnishd[72350]: Child (4407) said Ready
 }}}

 vcl file:

 {{{
 backend image2 {
         .host = "10.71.5.248";
         .port = "80";
 }

 backend ad4 {
         .host = "10.71.5.247";
         .port = "80";
 }

 sub vcl_hash {
         set req.hash += req.url;
         set req.hash += req.http.host;
         hash;
 }

 sub vcl_hit {
         deliver;
 }

 sub vcl_miss {
         fetch;
 }

 sub vcl_recv {
         if ( req.request != "GET" && req.request != "HEAD" ) {
                 error 403 "Invalid request method.";
         } elseif ( req.http.host == "image2.xxx.com" || req.http.host ~
 ".xxx.com.cn$" ) {
                 set req.backend = image2;
         } elseif ( req.http.host ~ "^d[0-9].xxx.com$" || req.http.host ~
 "^ad[0-9].xxx.com$" || req.http.host ~ "^a[0-9].xxx.com$" || req.http.host
 == "show.xxx.com") {
                 set req.backend = ad4;
         } else {
                 error 403 "Request denied.";
         }

         if (req.url ~ "\.(gif|png|jpg|js)") {
                  unset req.http.cookie;
                  unset req.http.authenticate;
         }

         lookup;
 }

 sub vcl_fetch {
         if ( req.http.host == "image2.xxx.com" || req.http.host ~
 ".xxx.com.cn$" ) {
                 set obj.ttl = 86400s;
         } elseif ( req.http.host ~ "^d[0-9].xxx.com$" || req.http.host ~
 "^ad[0-9].xxx.com$" || req.http.host ~ "^a[0-9].xxx.com$" || req.http.host
 == "show.xxx.com") {
                 set obj.ttl = 300s;
         }
         set obj.prefetch =  -30s;

 }

 sub vcl_deliver {
         deliver;
 }

 sub vcl_timeout {
         discard;
 }

 sub vcl_discard {
         discard;
 }
 }}}

 gdb:

 {{{
 (gdb) bt
 #0  0x0000000800d1cfec in thr_kill () from /lib/libc.so.7
 #1  0x0000000800da6c5b in abort () from /lib/libc.so.7
 #2  0x000000000041b1d8 in pan_ic (func=Variable "func" is not available.
 ) at cache_panic.c:321
 #3  0x0000000000423016 in VRT_r_req_xid (sp=0x180c20d008) at
 cache_vrt.c:483
 #4  0x0000001821402254 in ?? () from ./vcl.FANefPfn.so
 #5  0x000000000042088b in VCL_error_method (sp=0x180c20d008) at
 vcl_returns.h:48
 #6  0x000000000040f536 in cnt_error (sp=0x180c20d008) at
 cache_center.c:343
 #7  0x000000000040ff68 in CNT_Session (sp=0x180c20d008) at steps.h:43
 #8  0x000000000041ce9a in wrk_do_cnt_sess (w=0x7fffdeaf6ac0, priv=Variable
 "priv" is not available.
 ) at cache_pool.c:363
 #9  0x000000000041bf54 in wrk_thread (priv=0x800f66010) at
 cache_pool.c:276
 #10 0x0000000800aa4a38 in pthread_getprio () from /lib/libthr.so.3
 #11 0x00007fffde8f7000 in ?? ()
 Cannot access memory at address 0x7fffdeaf7000

 }}}

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/319>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list