Child panics on OpenSolaris

Nils Goroll slink at schokola.de
Sun Feb 14 19:11:30 CET 2010


Hi Poul-Henning and all,

> If I had implemented the hack I suspect Solaris contains, I would
> have found some bit somewhere, to make sure the errno would be the
> correct, documented and expected:
> 
> 	#define ECONNRESET      54     /* Connection reset by peer */
> 
> Somebody with a Solaris service contract, if such things still
> exist, should report this as a bug to them...
> 
> I will add a workaround to Varnish, with a suitable sarcastic
> commentary...

I can't tell at this point if this is a Solaris or a Varnish issue, but I can 
tell for sure that I have never seen it on 2.0.3 with a couple of additional 
fixes running a *high* traffic site. The main difference between this version 
and trunk with respect to TCP is, IIUC, the lack of tcp_linger. Maybe that gives 
a clue on where to look, but on the other hand this might be absolutely the 
wrong war to go.

Regarding Solaris, this piece of code here

http://cvs.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/inet/tcp/tcp.c#11049

documents the errnos that SHOULD be set upon reception of an RST depending on 
various conditions.

Regarding sarcasm: Please add the comment when the current hypothesis proves 
true, but my experience is that in many cases the Solaris guys are quite fuzzy 
about documentation.

I volunteer to get this fixed in OpenSolaris should it turn out that the issue 
is root caused there.

Nils


More information about the varnish-misc mailing list