While working on T187778 we have observed that varnish frontend child processes crash when their VCL is discarded:
11:04:52 ema@cp5003.eqsin.wmnet:~ $ sudo varnishadm -n frontend vcl.discard vcl-root-94ba9e9b-2257-4702-bb29-5c3d6f07ca09
Feb 23 11:05:06 cp5003 varnishd[4905]: CLI telnet 127.0.0.1 43763 127.0.0.1 6082 Wr 200 -----------------------------
Varnish Cache CLI 1.0
-----------------------------
Linux,4.9.0-0.bpo.5-amd64,x86_64,-junix,-smalloc,-smalloc,-hcritbit
varnish-5.1.3 revision NOGIT
Type 'help' for command list.
Type 'quit' to close CLI session.
Feb 23 11:05:06 cp5003 varnishd[4905]: CLI telnet 127.0.0.1 43763 127.0.0.1 6082 Rd ping
Feb 23 11:05:06 cp5003 varnishd[4905]: CLI telnet 127.0.0.1 43763 127.0.0.1 6082 Wr 200 PONG 1519383906 1.0
Feb 23 11:05:06 cp5003 varnishd[4905]: CLI telnet 127.0.0.1 43763 127.0.0.1 6082 Rd vcl.discard vcl-root-94ba9e9b-2257-4702-bb29-5c3d6f07ca09
Feb 23 11:05:06 cp5003 varnishd[4905]: Failed to kill child with PID 4914: Operation not permitted
Feb 23 11:05:06 cp5003 varnishd[4905]: CLI telnet 127.0.0.1 43763 127.0.0.1 6082 Wr 200
Feb 23 11:05:06 cp5003 varnishd[4905]: Child (4914) died signal=6
Feb 23 11:05:06 cp5003 varnishd[4905]: Child (4914) Panic at: Fri, 23 Feb 2018 11:05:06 GMT
Assert error in child_sigsegv_handler(), mgt/mgt_child.c line 271:
Condition(Segmentation fault by instruction at (nil)) not true.
version = varnish-5.1.3 revision NOGIT, vrt api = 6.0
ident = Linux,4.9.0-0.bpo.5-amd64,x86_64,-junix,-smalloc,-smalloc,-hcritbit,epoll
now = 883625.483118 (mono), 1519383906.483403 (real)
Backtrace:
0x439665: /usr/sbin/varnishd() [0x439665]
0x465bda: /usr/sbin/varnishd() [0x465bda]
0x7f701e552890: /lib/x86_64-linux-gnu/libpthread.so.0(+0xf890) [0x7f701e552890]
0x7f700d959384: ./vmod_cache/_vmod_netmapper.DQDUKHATYYOESBIV@D@GOQXNE@OUMBDW(vnm_db_destruct+0x4) [0x7f700d959384]
0x7f700d958e4c: ./vmod_cache/_vmod_netmapper.DQDUKHATYYOESBIV@D@GOQXNE@OUMBDW(+0x1e4c) [0x7f700d958e4c]
0x7f70099fc9aa: vcl_vcl-root-94ba9e9b-2257-4702-bb29-5c3d6f07ca09.1518710034.308741808/vgc.so(+0x89aa) [0x7f70099fc9aa
0x445694: /usr/sbin/varnishd() [0x445694]
0x448991: /usr/sbin/varnishd(VCL_Poll+0x111) [0x448991]
0x4819fa: /usr/sbin/varnishd() [0x4819fa]
0x481d67: /usr/sbin/varnishd() [0x481d67]
thread = (cache-main)
thr.req = (nil) {
},
thr.busyobj = (nil) {
},
Feb 23 11:05:06 cp5003 varnishd[4905]: Child cleanup completeThe netmapper vmod seems to be involved in the issue.