[Varnish] #180: Varnish core dump on Assert error in wrk_thread, kern.ipc.maxpipekva problem?

Varnish varnish-bugs at projects.linpro.no
Mon Nov 19 14:46:02 CET 2007


#180: Varnish core dump on Assert error in wrk_thread, kern.ipc.maxpipekva
problem?
----------------------+-----------------------------------------------------
 Reporter:  anders    |       Owner:  phk                                              
     Type:  defect    |      Status:  new                                              
 Priority:  normal    |   Milestone:                                                   
Component:  varnishd  |     Version:  1.2                                              
 Severity:  normal    |    Keywords:  varnishd core dump wrk_thread kern.ipc.maxpipekva
----------------------+-----------------------------------------------------
 I am running Varnish trunk (up to date to commit 2262) in FreeBSD
 7.0-BETA3/amd64, on Intel hardware.

 After a while, Varnish dies:

 {{{
 Child said (2, 9293): <<Assert error in wrk_thread(), cache_pool.c line
 215:
   Condition((pipe(w->pipe)) == 0) not true.
   errno = 12 (Cannot allocate memory)
 Assert error in wrk_thread(), cache_pool.c line 215:
   Condition((pipe(w->pipe)) == 0) not true.
   errno = 12 (Cannot allocate memory)
 >>
 Cache child died pid=9293 status=0x86
 }}}

 The backtrace:

 {{{
 (gdb) bt
 #0  0x0000000800d1217c in thr_kill () from /lib/libc.so.7
 #1  0x0000000800d9bd7b in abort () from /lib/libc.so.7
 #2  0x000000080066fcef in lbv_assert (func=Could not find the frame base
 for "lbv_assert".
 ) at assert.c:58
 #3  0x0000000000419ed8 in wrk_thread (priv=0x800f11200) at
 cache_pool.c:215
 #4  0x0000000800a99a88 in pthread_getprio () from /lib/libthr.so.3
 #5  0x0000000000000000 in ?? ()
 Cannot access memory at address 0x7ffe4f884000
 }}}

 In my messages log, I got:

 Nov 19 14:23:23 cache12 kernel: kern.ipc.maxpipekva exceeded; see
 tuning(7)

 In my system, kern.ipc.maxpipekva is set to 20971520. I will try
 increasing it..

 Should this be documented somewhere? Should Varnish check whether it is
 running out of pipekva space, and give a different error message?

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/180>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list