Hi,
I got below assertion once in a few days.
assertion failed: comm.c:583: "F->flags.open"
I'm running squid-2.2.STABLE3 + squid-2.2.STABLE3.19990521.snapshot on
Linux 2.2.9-ac1 (4096 fds). Below is gdb stack trace:
#0 0x40093781 in __kill ()
#1 0x400935af in raise (sig=6) at ../sysdeps/posix/raise.c:27
#2 0x400947bf in abort () at ../sysdeps/generic/abort.c:83
#3 0x805f7f2 in xassert (msg=0x809f7e0 "F->flags.open", file=0x809f675 "comm.c", line=583) at debug.c:242
#4 0x805dcbb in comm_close (fd=63) at comm.c:583
#5 0x80645bb in ftpTimeout (fd=60, data=0x146490e0) at ftp.c:340
#6 0x805f1f8 in checkTimeouts () at comm_select.c:828
#7 0x805ed4b in comm_poll (msec=10) at comm_select.c:337
#8 0x8075bbf in main (argc=4, argv=0xbffffd34) at main.c:627
After browse through the code, I think below patch should solve the
problem since comm_close() already called inside ftpFailed()
--- src/ftp.c~ Fri Jun 4 18:45:45 1999
+++ src/ftp.c Fri Jun 4 18:45:52 1999
@@ -337,7 +337,6 @@
StoreEntry *entry = ftpState->entry;
debug(9, 4) ("ftpTimeout: FD %d: '%s'\n", fd, storeUrl(entry));
ftpFailed(ftpState, ERR_READ_TIMEOUT);
- comm_close(ftpState->ctrl.fd);
/* don't modify ftpState here, it has been freed */
}
Suggestion?
-- aetReceived on Fri Jun 04 1999 - 05:42:28 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:46:43 MST