assertion -- cxn->writeBlockedTimerId == 0 is back

Russ Allbery rra at
Fri Oct 1 06:03:57 UTC 2004

Christophe Wolfhugel <wolf at> writes:

> In recent snapshots :

> Aug  3 12:37:34 s5 innfeed[2255]: assertion -- cxn->writeBlockedTimerId == 0 -- failed in file connection.c line 3667

> I get a few per 24h (about 10).

> No more informations for now, investigation under progress.

I looked at this for a little while, and I see that in various places we
check to see if a write is pending as well as seeing if the queue is empty
before calling cxnIdle with a comment that some hosts return responses
before we're done sending data, but in other places we don't do this.

I wonder if making this uniform so that every place where we send an
article to a peer, we check for a pending write before marking the
connection idle would fix this problem.  It at least appears to be a
harmless fix.  I'm going to go ahead and make that fix and see if it

The other place that's suspicious is the code for handling the 400
response, which can, I think, leave a pending write timer.  But I don't
understand the code well enough to be sure.

Russ Allbery (rra at             <>

    Please send questions to the list rather than mailing me directly.
     <> explains why.

More information about the inn-workers mailing list