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