On 19 February 2010 17:45, Paul Wright <wrighty+varnishm...@gmail.com> wrote: > On 17 February 2010 18:46, Poul-Henning Kamp <p...@phk.freebsd.dk> wrote: >> In message <282e72051002170852g532cd8acqb570e6db4b829...@mail.gmail.com>, >> Paul >> Wright writes: >> >>>(The cookie header ensures the request is passed through to the >>>backend. Curl will respond with "Failure when receiving data from the >>>peer".) >> >> How on earth did you get the Range header to be passed through to >> the backend ? It should have been filtered out... > > I added the following to the top of vcl_recv() > > if ( req.http.Range ) { > unset req.http.Range; > } > > Varnish ran happily until tripping over the same bug (#649) as victori > (on r4573).
For anyone else following along I've now had varnish running for over 5 hours without issue, here are the things I found out: * add the Range unsetting code to ensure that such requests don't make it through to the back end * remove the TCP_Assert() that wraps the setsockopt() call on line 184 of bin/varnishd/cache_acceptor.c * compile with gcc, not Sun Studio (there's still some sort of funniness with TCP_(non)blocking() ) CC=/usr/bin/gcc CFLAGS="-O3 -L/lib/amd64 -pthreads -m64 -fomit-frame-pointer" LDFLAGS="-lumem -pthreads" ./configure --prefix=/opt * pass the right flags through to gcc when launching vanishd newtask -p highfile /opt/sbin/varnishd -f /opt/etc/varnish/firebox.vcl -F \ -p 'cc_command=/usr/bin/gcc -fpic -shared -m64 -o %o %s' \ -T 127.0.0.1:9001 \ -s malloc,2G \ -p sess_timeout=5s \ -p max_restarts=12 \ -p waiter=poll \ -p connect_timeout=0s \ -p sess_workspace=65536 * keep checking http://letsgetdugg.com/2009/12/04/varnish-on-solaris/ for hints and suggestions Many thanks to Poul-Henning Kamp and Victor Igumnov for getting us to this point. Cheers, Paul. _______________________________________________ varnish-misc mailing list varnish-misc@projects.linpro.no http://projects.linpro.no/mailman/listinfo/varnish-misc