[Varnish] #863: crash in vcl.discard when using dns director (2.1.5)

Varnish varnish-bugs at varnish-cache.org
Tue Feb 22 18:52:42 CET 2011


#863: crash in vcl.discard when using dns director (2.1.5)
----------------------+-----------------------------------------------------
 Reporter:  askalski  |        Type:  defect  
   Status:  new       |    Priority:  normal  
Milestone:            |   Component:  varnishd
  Version:            |    Severity:  normal  
 Keywords:            |  
----------------------+-----------------------------------------------------
 (I left the version field blank, because there's no 2.1.5 option yet in
 trac.)

 I encountered a failed assertion when using vcl.discard on a vcl file that
 uses the DNS director.  The following is a log of how to minimally
 reproduce the crash.

 * Start the child using any VCL.  The particular configuration doesn't
 matter.
 * Load/inline a (second) VCL with a dns director, then discard it.  The
 running child will crash on a failed assertion.

 {{{
 $ sudo varnishd -d
 storage_file: filename: ./varnish.NQUX1x size 3547 MB.
 Using old SHMFILE
 Varnish on Linux,2.6.18-194.11.4.el5,x86_64,-sfile,-hcritbit
 200 236
 -----------------------------
 Varnish Cache CLI 1.0
 -----------------------------
 Linux,2.6.18-194.11.4.el5,x86_64,-sfile,-hcritbit

 Type 'help' for command list.
 Type 'quit' to close CLI session.
 Type 'start' to launch worker process.

 vcl.inline cf0 "backend be0 { .host = \"localhost\"; }"
 200 13
 VCL compiled.
 start
 socket(): Address family not supported by protocol
 child (16895) Started
 200 0

 Child (16895) said
 Child (16895) said Child starts
 Child (16895) said managed to mmap 3719565312 bytes of 3719565312
 vcl.inline cf1 "director dir0 dns { }"
 200 13
 VCL compiled.
 vcl.discard cf1
 Child (16895) not responding to CLI, killing it.
 400 29
 CLI communication error (hdr)
 Child (16895) died signal=6
 Child (16895) Panic message: Assert error in VRT_fini_dir(),
 cache_backend_cfg.c line 292:
   Condition((b)->magic == 0x3336351d) not true.
 errno = 9 (Bad file descriptor)
 thread = (cache-main)
 ident = Linux,2.6.18-194.11.4.el5,x86_64,-sfile,-hcritbit,epoll
 Backtrace:
   0x424016: varnishd [0x424016]
   0x40db99: varnishd(VRT_fini_dir+0x69) [0x40db99]
   0x2aab89801af8: ./vcl.OaGbHZXp.so [0x2aab89801af8]
   0x428357: varnishd [0x428357]
   0x3c55c067e0: /usr/lib64/libvarnish.so.1 [0x3c55c067e0]
   0x3c55c06c4b: /usr/lib64/libvarnish.so.1 [0x3c55c06c4b]
   0x3c55c094fd: /usr/lib64/libvarnish.so.1 [0x3c55c094fd]
   0x3c55c05ab2: /usr/lib64/libvarnish.so.1(CLS_Poll+0x192) [0x3c55c05ab2]
   0x414fc1: varnishd(CLI_Run+0x41) [0x414fc1]
   0x4230e3: varnishd(child_main+0xe3) [0x4230e3]


 Child cleanup complete
 socket(): Address family not supported by protocol
 child (16933) Started
 Child (16933) said
 Child (16933) said Child starts
 Child (16933) said managed to mmap 3719565312 bytes of 3719565312
 }}}

-- 
Ticket URL: <http://varnish-cache.org/trac/ticket/863>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list