[Varnish] #1147: Assert error in VRT_l_beresp_do_stream(), cache/cache_vrt_var.c line 200:

Varnish varnish-bugs at varnish-cache.org
Mon Jun 4 10:43:17 CEST 2012


#1147: Assert error in VRT_l_beresp_do_stream(), cache/cache_vrt_var.c line 200:
----------------------+-----------------------------------------------------
 Reporter:  kristian  |       Owner:       
     Type:  defect    |      Status:  new  
 Priority:  normal    |   Milestone:       
Component:  varnishd  |     Version:  trunk
 Severity:  normal    |    Keywords:       
----------------------+-----------------------------------------------------
 From fryer (https://www.varnish-cache.org/lists/pipermail/varnish-
 test/2012-June/001084.html):

 {{{
 2012-06-03 19:32:39 [2,23]: httperf-lru-nostream-gzip(httperf): Starting
 test
 2012-06-03 19:36:06 WARNING [0,207]: httperf-lru-nostream-gzip(httperf):
 Panic detected. I think!
 2012-06-03 19:36:06 WARNING [0, 0]: httperf-lru-nostream-gzip(httperf):
 Last panic at: Sun, 03 Jun 2012 19:34:54 GMT
 Assert error in VRT_l_beresp_do_stream(), cache/cache_vrt_var.c line 200:
   Condition((sp) != NULL) not true.
 thread = (cache-worker)
 ident = Linux,2.6.32-38-generic,x86_64,-smalloc,-smalloc,-hcritbit,epoll
 Backtrace:
   0x431d48: pan_ic+d8
   0x43c9fd: VRT_l_beresp_do_stream+8d
   0x7fca059f5919: _end+7fca05372151
   0x43939e: VCL_fetch_method+4e
   0x4186a9: cnt_fetch+479
   0x41accd: CNT_Session+42d
   0x4366cd: ses_pool_task+fd
   0x433552: Pool_Work_Thread+112
   0x4407f8: wrk_thread_real+c8
   0x7fca139a29ca: _end+7fca1331f202
 sp = 0x7fca04702c20 {
   fd = 22, id = 22, xid = 1132068845,
   client = 10.20.100.9 14923,
   step = STP_FETCH,
   handling = deliver,
   err_code = 200, err_reason = (null),
   restarts = 0, esi_level = 0
   busyobj = 0x7fca04013020 {
     ws = 0x7fca04013070 {
       id = "bo",
       {s,f,r,e} = {0x7fca04014aa0,+512,(nil),+58752},
     },
     do_stream
     bodystatus = 3 (chunked),
     },
     http[bereq] = {
       ws = 0x7fca04013070[bo]
         "GET",
         "/1/5/9/1/6/9.html",
         "HTTP/1.1",
         "User-Agent: httperf/0.9.0",
         "Host: 10.20.100.12",
         "X-Forwarded-For: 10.20.100.9",
         "X-Varnish: 1132068845",
         "Accept-Encoding: gzip",
     },
     http[beresp] = {
       ws = 0x7fca04013070[bo]
         "HTTP/1.1",
         "200",
         "OK",
         "Server: nginx/0.7.65",
         "Date: Sun, 03 Jun 2012 19:34:54 GMT",
         "Content-Type: text/plain",
         "Last-Modified: Sun, 03 Jun 2012 19:32:42 GMT",
         "Transfer-Encoding: chunked",
         "Connection: keep-alive",
         "Content-Encoding: gzip",
     },
   ws = 0x7fca0480b158 {
     id = "req",
     {s,f,r,e} = {0x7fca0480c730,+136,(nil),+59632},
   },
   http[req] = {
     ws = 0x7fca0480b158[req]
       "GET",
       "/1/5/9/1/6/9.html",
       "HTTP/1.1",
       "User-Agent: httperf/0.9.0",
       "Host: 10.20.100.12",
       "X-Forwarded-For: 10.20.100.9",
   },
   worker = 0x7fca04926c60 {
     ws = 0x7fca04926e20 {
       id = "wrk",
       {s,f,r,e} = {0x7fca04926450,0x7fca04926450,(nil),+2048},
     },
   },
     vcl = {
       srcname = {
         "input",
         "Default",
       },
     },
 },




 2012-06-03 19:36:06 WARNING [0, 0]: httperf-lru-nostream-gzip(httperf):
 Varnishstat uptime and measured run-time is too large (measured: 203 stat:
 71 diff: 132). Did we crash?
 2012-06-03 19:36:06 WARNING [0, 0]: httperf-lru-nostream-gzip(httperf):
 Out of bounds: n_lru_nuked(0) less than lower boundary 80000
 2012-06-03 19:36:06 WARNING [0, 0]: httperf-lru-nostream-gzip(httperf):
 Out of bounds: client_req(262234) less than lower boundary 1999720
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Load:
 21:36:06 up 3 days,  7:59,  3 users,  load average: 0.61, 0.49, 0.20

 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Test name:
 httperf-lru-nostream-gzip
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Varnish
 options:
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): -t=3600
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf):
 -s=malloc,30M
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Varnish
 parameters:
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf):
 thread_pool_max=5000
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf):
 nuke_limit=250
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf):
 http_gzip_support=on
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf):
 thread_pool_min=200
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Payload
 size (excludes headers): 10K
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Branch:
 master
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Number of
 clients involved: 24
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Type of
 test: httperf
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Test
 iterations: 1
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Runtime:
 203 seconds
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): VCL:
 backend foo {
         .host = "localhost";
         .port = "80";
 }

 sub vcl_fetch {
         set beresp.do_stream = false;
 }

 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Number of
 total connections: 200000
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Note:
 connections are subject to rounding when divided among clients. Expect
 slight deviations.
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Requests
 per connection: 10
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Extra
 options to httperf: --wset=1000000,0.1
 2012-06-03 19:36:06 [1, 0]: httperf-lru-nostream-gzip(httperf): Httperf
 command (last client): httperf --hog --timeout 60 --num-calls 10 --num-
 conns 8333 --port 8080 --burst-length 10 --client 23/24 --server
 10.20.100.12 --wset=1000000,0.1
 }}}

 It's fairly consistent, in the sense that only 6-10 of 26 tests succeed.
 Note that run-time is a couple of minutes which would equate to quite a
 lot of traffic. This specific test is designed to pressure the LRU
 mechanisms.

 Only seen in master.

-- 
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1147>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list