Arrgh! latest innfeed crashes like heck!

BARRY BOUWSMA SAVAGELY POSSESSES PERFIDIOUS RUBES WITH LOGORRHEIC AND UNCONTROLLABLE RAGE! pedophile at fluffy.gets.an.analprobe.dk
Thu Apr 13 17:57:30 UTC 2000


Howdy!

I grabbed the latest almost-2.3 INN snapshot a few days ago and
threw up on Yet Another Test Machine, migrated a bunch of our peers
from a 2.2.wozzit Slowaris box that was out of steam, and let 'er
rip.  I had noticed some problems with the several-month-old k0deZ
but never really tried to isolate them.

So, I'm seeing innfeed die quite a lot, actually, and I've isolated
it to a single peer at the moment, with logged messages like this:

[snip]
Thu Apr 13 17:22:06 2000 innfeed: assertion -- cxn->checkRespHead != NULL -- failed in file connection.c line 2958
Thu Apr 13 18:30:39 2000 innfeed: assertion -- cxn->checkRespHead != NULL -- failed in file connection.c line 2958
Thu Apr 13 18:39:28 2000 innfeed: assertion -- cxn->checkRespHead != NULL -- failed in file connection.c line 2958
Thu Apr 13 19:17:51 2000 innfeed: assertion -- cxn->checkRespHead != NULL -- failed in file connection.c line 2958

Yecch.  This is the part of the code that checks a `435' response to
make sure it's okay.

So who is the peer at fault?  Well, now it's none other than a peer
that I've noticed has been causing quite a few log entries to show
up like...

[snip]
Apr 13 19:31:58 CensurBot innfeed[77243]: fu-berlin:0 cxnsleep unexpected streaming response for non-streaming connection: 239 No
Apr 13 19:40:08 CensurBot innfeed[77243]: fu-berlin:4 cxnsleep unexpected streaming response for non-streaming connection: 239 No
Apr 13 19:40:56 CensurBot innfeed[77243]: fu-berlin:0 cxnsleep unexpected streaming response for non-streaming connection: 239 No
Apr 13 19:40:57 CensurBot innfeed[77243]: fu-berlin:2 cxnsleep unexpected streaming response for non-streaming connection: 239 No
Apr 13 19:41:10 CensurBot innfeed[77243]: fu-berlin:1 cxnsleep unexpected streaming response for non-streaming connection: 239 No

So there's something confused about the responses this peer is giving
me, but there's also a problem with innfeed not being able to handle
the `435' case above.  Which is weird, since we had been feeding this
peer from an old 0.10.1.7+hacks CNFS-ized and bug-fixated innfeed for
years.

So I just made a diff between my haX0red k0deZ that don't have this
problem and the newest, and what do I see?  Aiee, I've added a few
lines that didn't make it into the presently-available source, not for
this particular peer, but for Diablo peers which had this problem some
years ago.

I've also noted there is quite a bit missing that I've added to the
old innfeed we had been running here, so it looks like it's time for
me to extract all my local hacks, merge them into the newest k0deZ,
and send Russ the diffs -- some of them will be bugfixen like for the
`435' Diablo response, while others add new features that I've grown
to expect.  I'd be happy to see them (finally) included, so I don't
have to apply a patch set for every update (and because my replacement
probably won't want to run hacked k0deZ, just like before).

I know this was mentioned a year or so ago, and I handle this case by
syslogging the error and cleanly closing the connection in the butchered
code I have, and I think innfeed should not die when greeted with this.

Of course, I could also bug the FU Berlin News Team to fix the false
`239' and `435' responses they are sending out too, since even when I
can handle them, I do so by closing the connection, which is pretty
unpleasant....


Patches to follow, Russ (and anyone else interested, in case they
don't get incorporated into the official source, send a note to the
reply-to header above)

Okay bye!


-- 

     *** This was posted with the express permission of ***
     ******************************************************
     **  HIS HIGHNESS KAAZMANN LORD AND MASTER OF USENET **
     ******************************************************
     ********* We are simple servants of his will *********




More information about the inn-workers mailing list