[INN] #121: innfeed crashes after a failed assertion
INN
rra at stanford.edu
Thu Jan 8 18:27:58 UTC 2009
#121: innfeed crashes after a failed assertion
---------------------+------------------------------------------------------
Reporter: iulius | Owner: eagle
Type: defect | Status: new
Priority: high | Milestone: 2.5.0
Component: innfeed | Version:
Severity: normal | Keywords:
---------------------+------------------------------------------------------
A long-standing issue in innfeed which sometimes crashes with:
{{{
2009-01-04 19:39:50 innfeed: assertion -- cxn != NULL -- failed in file
connection.c line 1171
2009-01-04 20:59:43 innfeed: assertion -- cxn != NULL -- failed in file
connection.c line 1171
}}}
It comes from cxnCheckstate() in connection.c, called only once in host.c.
We should check whether the connection is still here. It may not have
been affected during a for loop. For instance, we have:
{{{
for (idx = 0 ; idx < host->maxConnections ; idx++)
if (!host->cxnActive [idx] && !host->cxnSleeping [idx] &&
(cxn = host->connections[idx]) != host->notThisCxn)
}}}
We could have a case where all the connections to a host are inactive and
sleeping. Therefore, cxn will still be NULL
and passed to cxnCheckstate().
Suggested patch:
{{{
Index: host.c
===================================================================
--- host.c (révision 8263)
+++ host.c (copie de travail)
@@ -1783,7 +1783,7 @@
delArticle (extraRef) ;
remArticle (article,&host->processed,&host->processedTail) ;
- if (!cxnCheckstate (cxn))
+ if (cxn == NULL || !cxnCheckstate (cxn))
{
host->artsToTape++ ;
host->gArtsToTape++ ;
}}}
--
Ticket URL: <http://inn.eyrie.org/trac/ticket/121>
INN <http://www.eyrie.org/~eagle/software/inn/>
InterNetNews
More information about the inn-bugs
mailing list