Too many open files?
ccripy at gmail.com
Tue May 22 17:44:15 CEST 2007
Sorry for the list noise. It was an error in some of my code. I added some
code in cache_center.c to function cnt_fetch to stop varnish from caching
401 Unauthorized returns. Anyway, I didn't know varnish's code very well
and wasn't aware that the variable I found that returned me the information
I needed was infact also returning me an fd. Anyway, for those interested
here is my code that I added with the fix VBE_ClosedFd()
cnt_fetch(struct sess *sp)
vc = VBE_GetFd(sp);
if (http_GetStatus(vc->http) == 401)
sp->handling = VCL_RET_PASS;
VBE_ClosedFd(sp->wrk, vc, 0);
if (sp->handling == VCL_RET_ERROR)
On 5/22/07, Dag-Erling Smørgrav <des at linpro.no> wrote:
> cripy <ccripy at gmail.com> writes:
> > Hello, varnish suddenly dies after awhile with this message:
> > Child said (2, 25657): <<Assert error in wrk_thread(), cache_pool.c line
> > 213:
> > Condition((pipe(w->pipe)) == 0) not true.
> > errno = 24 (Too many open files)
> > I have set the following in /etc/sysconfig/varnish:
> > ulimit -n 131072
> > NFILES=131072
> Can you verify that the limit is actually applied? e.g. add 'ulimit -a'
> to /etc/init.d/varnish, right before where it starts varnishd, run
> '/etc/init.d/varnish restart', and check that the file descriptor limit
> really is 131072.
> Can you also show us the result of typing 'param.show' in the management
> Dag-Erling Smørgrav
> Senior Software Developer
> Linpro AS - www.linpro.no
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the varnish-misc