Re: increase sess_workspace to fix assert error?

Enno van Amerongen enno at tty.nl
Tue Apr 16 15:54:11 CEST 2013


Hi Rubén,


Apparently we made a mistake a while ago by not confirming the varnish 3.0 defaults compared to 2.1. So we were happily still running with a sess_workspace of 16k, instead of 64k.
This worked fine with our previous config, but since we added our sharding vmod, 16k is not enough anymore.


So, the fixed config with 64k as sess_workspace has been running on one of our varnish servers for almost a week now.
And it's been working fine. Even when a Justin Bieber link went viral yesterday, which put our systems to the real test.
Not to mention this happened at the same time it's already peak-hour.


And Varnish (of course;) happily served thousands of requests per second.


So yes, I can now confirm: increasing sess_workspace fixed the assertion errors in my case.


regards,


Enno van Amerongen

  _____  

From: Rubén Romero [mailto:ruben at varnish-software.com]
To: Enno van Amerongen [mailto:enno at tty.nl]
Sent: Sun, 14 Apr 2013 12:52:48 +0200
Subject: Re: increase sess_workspace to fix assert error?



Hi Enno,  

Increasing it will likely help. Not sure to how much, but do give it as much as you can and let us know how it went :-)
  

Best,
  -
  Rubén Romero
  Varnish Software
    
Den 2. apr. 2013 21.18 skrev "Enno van Amerongen" <enno at tty.nl> følgende:
      
  
Dear List,


After deployment of a vmod we've written (that enables us to select a director by id in url), we've been experiencing assert errors.  


Below are the stack traces, but to not waste your time, here's what I think it boils down to:
  

{ overflow#012    id = "sess",#012    {s,f,r,e} = {0x7fed76034c78,+16384,(nil),+16384},#012  }  


4k as session workspace has worked fine for us for years, but our vmod sharding adds hundreds of directors (as opposed to 4), while the number of backends stayed the same (about 25).  


So, my question is, do I just need to increase sess_workspace to fix this? If not, what else ;)
  

Regards,


Enno van Amerongen  








Both stacktraces  


Apr  2 18:43:32 obfuscated /var/www/varnish[12750]: Child (20498) Panic message: Assert error in vh_get_var_alloc(), vmod_var.c line 77:#012  Condition((v) != 0) not true.#012errno = 32 (Broken pipe)#012thread = (cache-worker)#012ident = Linux,2.6.32-5-amd64,x86_64,-smalloc,-smalloc,-hcritbit,epoll#012Backtrace:#012  0x439199: pan_backtrace+19#012  0x43946e: pan_ic+1ad#012  0x7fe137efe347: _end+7fe13786898f#012  0x7fe137efe862: _end+7fe137868eaa#012  0x7fecc5b93e73: _end+7fecc54fe4bb#012  0x7fecc5b939ea: _end+7fecc54fe032#012  0x7fecc5ba24f1: _end+7fecc550cb39#012  0x4417bd: VCL_recv_method+6d#012  0x41d8f5: cnt_recv+262#012  0x41e68d: CNT_Session+5cb#012sp = 0x7fed81293008 {#012  fd = 2849, id = 2849, xid = 918440385,#012  client = 10.1.1.1 51854,#012  step = STP_RECV,#012  handling = deliver,#012  err_code = 200, err_reason = (null),#012  restarts = 0, esi_level = 0#012  flags = #012  bodystatus = 4#012  ws = 0x7fed81293080 { overflow#012    id = "sess",#012    {s,f,r,e} = {0x7fed81293c78,+16384,(nil),+16384},#012  },#012  http[req] = {#012    ws = 0x7fed81293080[sess]#012      "GET",#012      "/f/146057654_2.jpg",#012      "HTTP/1.1",#012      "User-Agent: Opera/9.80 (Windows NT 6.1; WOW64) Presto/2.12.388 Version/12.14",#012      "Host: img.obfuscated.com",#012      "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",#012      "Accept-Language: fr-FR,fr;q=0.9,en;q=0.8",#012      "Referer: http://obfuscated",#012      "Connection: Keep-Alive",#012  },#012  worker = 0x7feece7efaa0 {#012    ws = 0x7feece7efcd8 { #012      id = "wrk",#012      {s,f,r,e} = {0x7feece7dd9f0,+16,(nil),+65536},#012    },#012    },#012    vcl = {#012      srcname = {#012        "input",#012        "Default",#012        "/obfuscated/img_backends.vcl",#012        "/obfuscated/img_directors.vcl",#012  


So we removed the vmod_var from our configuration as it wasn't really required anyway.

  
Then 13 minutes later, Varnish crashed again, now with a different, but similar assert error:

  
Apr  2 19:07:22 obfuscated /var/www/varnish[12750]: Child (18818) Panic message: Assert error in VRT_int_string(), cache_vrt.c line 324:#012  Condition((p = WS_Alloc(sp->http->ws, size)) != 0) not true.#012thread = (cache-worker)#012ident = Linux,2.6.32-5-amd64,x86_64,-smalloc,-smalloc,-hcritbit,epoll#012Backtrace:#012  0x439199: pan_backtrace+19#012  0x43946e: pan_ic+1ad#012  0x4435f7: VRT_int_string+88#012  0x7fe686b9ce1f: _end+7fe686507467#012  0x7fe686b9c99a: _end+7fe686506fe2#012  0x7fe686ba7424: _end+7fe686511a6c#012  0x4417bd: VCL_recv_method+6d#012  0x41d8f5: cnt_recv+262#012  0x41e68d: CNT_Session+5cb#012  0x43aa0a: wrk_thread_real+8cc#012sp = 0x7fed76034008 {#012  fd = 2357, id = 2357, xid = 2009537706,#012  client = 80.239.243.196 59852,#012  step = STP_RECV,#012  handling = deliver,#012  err_code = 200, err_reason = (null),#012  restarts = 0, esi_level = 0#012  flags = #012  bodystatus = 4#012  ws = 0x7fed76034080 { overflow#012    id = "sess",#012    {s,f,r,e} = {0x7fed76034c78,+16384,(nil),+16384},#012  },#012  http[req] = {#012    ws = 0x7fed76034080[sess]#012      "GET",#012      "/f/148682988.jpg",#012      "HTTP/1.1",#012      "User-Agent: Opera/9.80 (Android; Opera Mini/7.5.32193/29.3134; U; nl) Presto/2.8.119 Version/11.10",#012      "Host: img.obfuscated.com",#012      "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1",#012      "Accept-Language: nl,en;q=0.9",#012      "Referer: obfuscated",#012      "Connection: Keep-Alive",#012      "X-OperaMini-Phone: Android #",#012      "X-OperaMini-Phone-UA: Mozilla/5.0 (Linux; U; Android 2.2.2; nl-be; Stockholm Build/HuaweiU8180) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",#012      "x-forwarded-for: obfuscated",#012      "Device-Stock-UA: Mozilla/5.0 (Linux; U; Android 2.2.2; nl-be; Stockholm Build/HuaweiU8180) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1",#012      "X  


_______________________________________________
  varnish-misc mailing list
  varnish-misc at varnish-cache.org
  https://www.varnish-cache.org/lists/mailman/listinfo/varnish-misc
    
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-misc/attachments/20130416/8241654f/attachment.html>


More information about the varnish-misc mailing list