Mailing List Archive

#1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
#1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
---------------------------------+--------------------
Reporter: zaterio@… | Type: defect
Status: new | Priority: normal
Milestone: Varnish 4.0 release | Component: build
Version: trunk | Severity: normal
Keywords: |
---------------------------------+--------------------
In order To limit the use of transient memory, I change the following
settings:

{{{
...
-s malloc,13G \
...
}}}

to:

{{{
...
-s malloc,11G \
-s Transient=malloc,2G \
...
}}}

but this panic appears: (so far only it occurs for SYNTH responses.)

{{{
varnishadm panic.show
Last panic at: Mon, 25 May 2015 12:17:24 GMT
Assert error in cnt_synth(), cache/cache_req_fsm.c line 279:
Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
thread = (cache-worker)
version = varnish-trunk revision e05ac94
ident =
Linux,3.2.0-4-amd64,x86_64,-junix,-smalloc,-smalloc,-hclassic,epoll
Backtrace:
0x4337b4: pan_ic+0x134
0x4396be: CNT_Request+0x1efe
0x44d153: HTTP1_Session+0x133
0x43b1b1: SES_Proto_Req+0x61
0x435c48: Pool_Work_Thread+0x3c8
0x448a93: WRK_Thread+0x103
0x43503b: pool_thread+0x2b
0x7f4ba6f5fb50: libpthread.so.0(+0x6b50) [0x7f4ba6f5fb50]
0x7f4ba6ca995d: libc.so.6(clone+0x6d) [0x7f4ba6ca995d]
req = 0x7f4aeb7e1020 {
sp = 0x7f4b77c06020, vxid = 30872635, step = R_STP_SYNTH,
req_body = R_BODY_NONE,
err_code = 701, err_reason = ,
restarts = 0, esi_level = 0,
sp = 0x7f4b77c06020 {
fd = 53, vxid = 31296076,
client = 190.22.159.239 52084,
step = S_STP_H1PROC,
},
worker = 0x7f4aae3c2c30 {
stack = {0x7f4aae3c3000 -> 0x7f4aae3b7000}
ws = 0x7f4aae3c2e38 {
id = "wrk",
{s,f,r,e} = {0x7f4aae3c2420,0x7f4aae3c2420,(nil),+2040},
},
VCL::method = SYNTH,
VCL::return = deliver,
VCL::methods = {RECV, HASH, SYNTH},
},
ws = 0x7f4aeb7e1218 {
id = "req",
{s,f,r,e} = {0x7f4aeb7e3020,+592,(nil),+57304},
},
http[req] = {
ws = 0x7f4aeb7e1218[req]
"GET",

"/crossdomain.xml",
"HTTP/1.1",
"Host: live.hls.http.13.ztreaming.com",
"Connection: keep-alive",
"X-Requested-With: ShockwaveFlash/17.0.0.188",
"Accept: */*",
"Referer:
http://tvdb.ddns.net/3c6237bf7c6d0a06234cc090c558facc.html",
"Accept-Encoding: gzip, deflate, sdch",
"Accept-Language: es-ES,es;q=0.8",
"X-Forwarded-For: 190.22.159.239",
},
http[resp] = {
ws = 0x7f4aeb7e1218[req]
"HTTP/1.1",
"200",
"OK",
"Date: Mon, 25 May 2015 12:17:22 GMT",
"Server: telsanti01",
"Content-Type: application/xml",
},
vcl = {
srcname = {
"input",
"Builtin",
"/etc/varnish/include.vcl",
"/etc/varnish/backends.vcl",
"/etc/varnish/master.vcl",
},
},
objcore (REQ) = 0x7f4b09bfac00 {
refcnt = 1
flags = 0x102
objhead = 0x7f4ba632a560
stevedore = 0x7f4ba60e2240 (malloc Transient)
}
flags = {
wantbody,
}
},
}}}


{{{
varnishadm panic.show
Last panic at: Mon, 25 May 2015 12:27:45 GMT
Assert error in cnt_synth(), cache/cache_req_fsm.c line 279:
Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
thread = (cache-worker)
version = varnish-trunk revision e05ac94
ident =
Linux,3.2.0-4-amd64,x86_64,-junix,-smalloc,-smalloc,-hclassic,epoll
Backtrace:
0x4337b4: pan_ic+0x134
0x4396be: CNT_Request+0x1efe
0x44d153: HTTP1_Session+0x133
0x43b1b1: SES_Proto_Req+0x61
0x435c48: Pool_Work_Thread+0x3c8
0x448a93: WRK_Thread+0x103
0x43503b: pool_thread+0x2b
0x7f4ba6f5fb50: libpthread.so.0(+0x6b50) [0x7f4ba6f5fb50]
0x7f4ba6ca995d: libc.so.6(clone+0x6d) [0x7f4ba6ca995d]
req = 0x7f4b90cf6020 {
sp = 0x7f4a24106020, vxid = 16023612, step = R_STP_SYNTH,
req_body = R_BODY_NONE,
err_code = 701, err_reason = ,
restarts = 0, esi_level = 0,
sp = 0x7f4a24106020 {
fd = 198, vxid = 16023611,
client = 190.21.126.93 49831,
step = S_STP_H1PROC,
},
worker = 0x7f49d51e2c30 {
stack = {0x7f49d51e3000 -> 0x7f49d51d7000}
ws = 0x7f49d51e2e38 {
id = "wrk",
{s,f,r,e} = {0x7f49d51e2420,0x7f49d51e2420,(nil),+2040},
},
VCL::method = SYNTH,
VCL::return = deliver,
VCL::methods = {RECV, HASH, SYNTH},
},
ws = 0x7f4b90cf6218 {
id = "req",
{s,f,r,e} = {0x7f4b90cf8020,+584,(nil),+57304},
},
http[req] = {
ws = 0x7f4b90cf6218[req]
"GET",
"/crossdomain.xml",
"HTTP/1.1",
"Host: live.hls.http.chv.ztreaming.com",
"Accept:
text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"Accept-Language: es-ES,es;q=0.8,en-US;q=0.5,en;q=0.3",
"Accept-Encoding: gzip, deflate",
"Referer:
http://estaticos.chilevision.cl/player/jwplayer6.12/jwplayer.flash.swf",
"Connection: keep-alive",
"X-Forwarded-For: 190.21.126.93",
},
http[resp] = {
ws = 0x7f4b90cf6218[req]
"HTTP/1.1",
"200",
"OK",
"Date: Mon, 25 May 2015 12:27:44 GMT",
"Server: telsanti01",
"Content-Type: application/xml",
},
vcl = {
srcname = {
"input",
"Builtin",
"/etc/varnish/include.vcl",
"/etc/varnish/backends.vcl",
"/etc/varnish/master.vcl",
},
},
objcore (REQ) = 0x7f4a3b603ac0 {
refcnt = 1
flags = 0x102
objhead = 0x7f4ba6378560
stevedore = 0x7f4ba60e2240 (malloc Transient)
}
flags = {
wantbody,
}
},
}}}

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

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true. [ In reply to ]
#1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
-----------------------+----------------------------------
Reporter: zaterio@… | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Varnish 4.0 release
Component: build | Version: trunk
Severity: normal | Resolution:
Keywords: |
-----------------------+----------------------------------

Comment (by zaterio@…):

{{{
varnishd -V
varnishd (varnish-trunk revision e05ac94)
Copyright (c) 2006 Verdens Gang AS
Copyright (c) 2006-2015 Varnish Software AS
}}}

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1740#comment:1>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true. [ In reply to ]
#1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
-----------------------+----------------------------------
Reporter: zaterio@… | Owner:
Type: defect | Status: new
Priority: normal | Milestone: Varnish 4.0 release
Component: build | Version: trunk
Severity: normal | Resolution:
Keywords: |
-----------------------+----------------------------------

Comment (by zaterio@…):

I can confirm when I remove the synth response:
{{{
sub vcl_recv {
if (req.url ~ "/crossdomain\.xml$") {
return (synth (701, ""));
}
}

sub vcl_synth {
unset resp.http.X-Backend;
unset resp.http.X-Varnish;
set resp.http.Server = server.hostname;


if (resp.status == 701) {
set resp.status = 200;
set resp.http.Content-Type = "application/xml";
synthetic( {"<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>"});
return (deliver);
}
return (deliver);
}
}}}


and I get the response from the backend , the panic is not generated

{{{
if (req.url ~ "/crossdomain\.xml$") {
set req.backend_hint = vod;
return (hash);
}
}}}

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1740#comment:2>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs
Re: #1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true. [ In reply to ]
#1740: Condition((ObjGetSpace(wrk, req->objcore, &sz, &ptr)) != 0) not true.
-----------------------+-----------------------------------------------
Reporter: zaterio@… | Owner: Martin Blix Grydeland <martin@…>
Type: defect | Status: closed
Priority: normal | Milestone: Varnish 4.0 release
Component: build | Version: trunk
Severity: normal | Resolution: fixed
Keywords: |
-----------------------+-----------------------------------------------
Changes (by Martin Blix Grydeland <martin@…>):

* owner: => Martin Blix Grydeland <martin@…>
* status: new => closed
* resolution: => fixed


Comment:

In [7fdf6d09fbf30c53f51e9da085fb1a3a8d1d5cc5]:
{{{
#!CommitTicketReference repository=""
revision="7fdf6d09fbf30c53f51e9da085fb1a3a8d1d5cc5"
Fix out of storage condition when failing to allocate transient synth

Do not assert if the transient stevedore fails to provide storage for
the synth body.

Log an SLT_Error record when failing on out of storage.

Document that synth objects are created on transient storage.

Fix an objcore leak that would come if we failed to create the object.

Fixes: #1740
}}}

--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1740#comment:3>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator

_______________________________________________
varnish-bugs mailing list
varnish-bugs@varnish-cache.org
https://www.varnish-cache.org/lists/mailman/listinfo/varnish-bugs