[Varnish] #865: CNT_Session - TCP_blocking failing with ECONNREFUSED

Varnish varnish-bugs at varnish-cache.org
Tue Mar 1 19:07:47 CET 2011


#865: CNT_Session - TCP_blocking failing with ECONNREFUSED
----------------------+-----------------------------------------------------
 Reporter:  slink     |       Owner:  slink   
     Type:  defect    |      Status:  assigned
 Priority:  normal    |   Milestone:          
Component:  varnishd  |     Version:  2.1.4   
 Severity:  normal    |    Keywords:          
----------------------+-----------------------------------------------------
Changes (by slink):

  * status:  new => assigned


Comment:

 Progress update:

 The issue also surfaces in varnishtest for some fraction of the tests. I
 can reproduce it repeating any simple test until it fails, like:

 {{{
 while ./varnishtest tests/b00010.vtc ; do : ; done
 ...

 ***  top  client
 **   c1   Starting client
 **   c1   Waiting for client
 ***  c1   Connect to 127.0.0.1 38476
 ---- c1   vtc_log2 Assert error in TCP_blocking(), tcp.c line 185:
 Condition(TCP_Check(j)) not true. errno=146
 }}}

 Using Dtrace and speculative tracing, I got hold of the code path through
 the kernel:

 {{{
 dtrace: script '/var/tmp/specioctl.d' matched 68002 probes
 CPU FUNCTION
   1  => ioctl                                 arg1: 2147772030
   1    -> ioctl
   1      -> getf
   1        -> set_active_fd
   1        <- set_active_fd
   1        -> set_active_fd
   1        <- set_active_fd
   1      <- getf
   1      -> get_udatamodel
   1      <- get_udatamodel
   1      -> fop_ioctl
   1        -> crgetmapped
   1        <- crgetmapped
   1        -> socket_vop_ioctl
   1          -> socket_ioctl
   1            -> so_ioctl
   1              -> sogeterr
   1              <- sogeterr
   1            <- so_ioctl
   1          <- socket_ioctl
   1        <- socket_vop_ioctl
   1      <- fop_ioctl
   1      -> releasef
   1        -> clear_active_fd
   1        <- clear_active_fd
   1        -> cv_broadcast
   1        <- cv_broadcast
   1      <- releasef
   1      -> set_errno
   1      <- set_errno
   1    <- ioctl
   1  <= ioctl                                       146
 ^C
 }}}

 I will continue later.

-- 
Ticket URL: <http://varnish-cache.org/trac/ticket/865#comment:2>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator




More information about the varnish-bugs mailing list