[Varnish] #865: CNT_Session - TCP_blocking failing with ECONNREFUSED
Varnish
varnish-bugs at varnish-cache.org
Sun Mar 13 18:36:16 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:
----------------------+-----------------------------------------------------
Comment(by slink):
According to http://cvs.opensolaris.org/source/xref/onnv/onnv-
gate/usr/src/uts/common/fs/sockfs/sockcommon_sops.c#864 we're seeing a
previously error from the socket (so_error)
fcntl ends up in calling socket_vop_setlf
http://cvs.opensolaris.org/source/xref/onnv/onnv-
gate/usr/src/uts/common/fs/sockfs/sockcommon_vnops.c#221 which calls ioctl
only {{{if ((oflags ^ nflags) & FASYNC && so->so_version != SOV_STREAM)}}}
and does not care about so_error.
If I replace the ioctls with fcntls, the error gets postponed even
further:
{{{
25152/4: so_socket(PF_INET, SOCK_STREAM, IPPROTO_IP, 0x00000000,
SOV_DEFAULT) = 9
25152/4: fcntl(9, F_GETFL) = 2
25152/4: fcntl(9, F_SETFL, FWRITE|FNONBLOCK) = 0
25152/4: connect(9, 0x080B5218, 16, SOV_DEFAULT) Err#150
EINPROGRESS
25152/4: pollsys(0xFDA6DF28, 1, 0xFDA6DED8, 0x00000000) = 1
25152/4: fcntl(9, F_GETFL) = 130
25152/4: fcntl(9, F_SETFL, FWRITE) = 0
25152/4: getsockname(9, 0xFDA6DE30, 0xFDA6DE2C, SOV_DEFAULT) = 0
25152/4: write(9, " G E T / H T T P / 1".., 18) Err#32
EPIPE
25152/4: Received signal #13, SIGPIPE [default]
}}}
--
Ticket URL: <http://varnish-cache.org/trac/ticket/865#comment:3>
Varnish <http://varnish-cache.org/>
The Varnish HTTP Accelerator
More information about the varnish-bugs
mailing list