Please test 2.1.5

Kristian Lyngstol kristian at varnish-software.com
Wed Feb 2 12:11:02 CET 2011


On Tue, Feb 01, 2011 at 05:28:25PM -0800, Mark Moseley wrote:
> Been running your 2.1.5 debs for a handful of days now. Seems to be
> running just fine. I've had a couple of errors like below (when
> someone was downloading a 1.5 gig zip file, another with an 890 meg
> flv -- backend is 2 13gb SSD partitions) but they're nothing new. I
> got them in 2.1.4 as well. Presumably just ran out of space.
>
> varnishd[30949]: Child (28124) Panic message: Assert error in
> STV_alloc(), stevedore.c line 192:
> Condition((st): != NULL) not true.

Thanks for the feedback!

Are you by any chance using multiple -s options? This assert will happen
after Varnish gives up finding a stevedore for storage after trying 50
times (IIRC), and typically happens due to either: A. Having lots of small
files then fetching a big one - 50 small files removed still wont fit the
big file. or B. Multiple -s options, one which is tiny and Varnish - by
random chance - picks the small one 50 times in a row (since this is done
concurrently, you can have many threads using the algorithm at the same
time, so while it is normally round-robin selection, the "other" threads
might get the big one.... It's not common, but we've seen it happen.).

Either way, this just goes to show that we need to deal better with files
of vastly different sizes. In your case, I'd recommend trying to pipe() the
big files.

- Kristian




More information about the varnish-misc mailing list