[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