Create a testbed to make varnishd core dump

Gea-Suan Lin gslin at gslin.org
Mon Nov 19 03:51:12 CET 2007


Hello,

I create a testbed to make varnishd core dump under FreeBSD 6.2-STABLE
amd64 version.

First is install lighttpd, and put the following configuration into
/usr/local/etc/lighttpd-testbed.conf:

server.modules              = ( "mod_rewrite", "mod_accesslog" )
server.document-root        = "/tmp/webroot"
server.errorlog             = "/dev/null"
index-file.names            = ( "index.html" )
server.event-handler        = "freebsd-kqueue"
accesslog.filename          = "/dev/null"
server.port                 = 54321
server.bind                 = "127.0.0.1"
server.pid-file             = "/var/run/lighttpd-testbed.pid"
server.username             = "www"
server.groupname            = "www"
url.rewrite                 = ( "^.*$" => "/4MB-zero" )

Then do something to create webroot:

# mkdir /tmp/webroot
# dd if=/dev/zero of=/tmp/webroot/4MB-zero bs=4096k count=1

You might able to use fetch or wget to test http://localhost:54321/foobar
right now.

Then install varnish, I choose /home/varnish. So I set backend VCL into
/home/varnish/etc/local.vcl:

backend default {
    set backend.host = "127.0.0.1";
    set backend.port = "54321";
}

And a script to run varnishd in port 12345 with 32GB cache:

#!/bin/sh
ulimit -c unlimited
/home/varnish/sbin/varnishd -a 127.0.0.1:12345 -f /home/varnish/etc/local.vcl -h classic,1048583 -P /var/run/varnishd-testbed.pid -s file,/home/varnish/varnish-cache.mmap,32G -T 127.0.0.1:11957 -t 604800 -w 32,4096

Now you can run top, varnishstat, and everything you want. Then:

# jot 4096 0 | sed 's|^|http://localhost:12345/|' | xargs -n 256 wget -O /dev/null

I got the crash in every test:

pid 1683 (varnishd), uid 65534: exited on signal 6
pid 1762 (varnishd), uid 65534: exited on signal 6
pid 3618 (varnishd), uid 65534: exited on signal 6 (core dumped)
pid 35447 (varnishd), uid 0: exited on signal 6 (core dumped)
pid 35586 (varnishd), uid 65534: exited on signal 3
pid 75708 (varnishd), uid 65534: exited on signal 3

By the way, I use Amazon EC2 64bits (Linux Xen 2.6.18) to test varnishd,
it works perfectly.

-- 
* Gea-Suan Lin  (public key: Using https://keyserver.pgp.com/ to search)
* If you cannot convince them, confuse them.           -- Harry S Truman



More information about the varnish-misc mailing list