[Varnish] #1224: Long backend name asserts the varnishd child
Varnish
varnish-bugs at varnish-cache.org
Fri Oct 26 12:33:52 CEST 2012
#1224: Long backend name asserts the varnishd child
----------------------+-------------------
Reporter: lkarsten | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: build | Version: 3.0.3
Severity: normal | Keywords:
----------------------+-------------------
If a user creates a VCL with a backend name which is really long, the VCL
compiler happily compiles the VCL but the Varnish child process asserts.
According to the source the limit is 44 characters. (untested)
{{{
lkarsten at immer:~$ cat longname.vcl
backend abcdefghijklmnopqrstuvwxyz__abcdefghijklmnopqrstuvwxyz {
.host="127.0.0.1"; .port="8080"; }
sub vcl_recv {
error 200 "OK";
}
}}}
When running varnishd:
{{{
lkarsten at immer:~$ /opt/varnish/sbin/varnishd -n fo -F -a :1400 -f
longname.vcl
Message from dlopen:
Not running as root, no priv-sep
child (2384) Started
Pushing vcls failed:
CLI communication error (hdr)
Stopping Child
Child (2384) died signal=6
Child (2384) Panic message: Assert error in VSM__Alloc(), vsm.c line 185:
Condition(snprintf(sha->ident, sizeof sha->ident, "%s", ident) < sizeof
sha->ident) not true.
thread = (cache-main)
ident = Linux,3.2.0-3-amd64,x86_64,-sfile,-smalloc,-hcritbit,no_waiter
Backtrace:
0x43ce88: pan_backtrace+28
0x43d17a: pan_ic+1bd
0x46b557: VSM__Alloc+2d6
0x4443c2: VSM_Alloc+78
0x4134b9: VBE_AddBackend+433
0x41284b: VRT_init_dir_simple+1b6
0x4139b6: VRT_init_dir+95
0x7fa1a87fc843: _end+7fa1a815cad3
0x4456d3: VCL_Load+244
0x445cd5: ccf_config_load+87
Child (-1) said Not running as root, no priv-sep
Child (-1) said Child starts
Child (-1) said SMF.s0 mmap'ed 104857600 bytes of 104857600
Child cleanup complete
manager dies
}}
Discovered by Abhishek Kumar.
--
Ticket URL: <https://www.varnish-cache.org/trac/ticket/1224>
Varnish <https://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list