I have big traffic (at least 100 computers) , and squid often crashed in Comm::DoSelect(int msec) function. I have interception mode and NAT redirect.
In coredump I saw then bug is in next fragment of code: 446│ for (size_t loopIndex = 0; loopIndex < nfds; ++loopIndex) { 447│ fde *F; 448│ int revents = pfds[loopIndex].revents; 449│ fd = pfds[loopIndex].fd; 450│ 451│ if (fd == -1) 452│ continue; 453│ 454├> if (fd_table[fd].flags.read_pending) 455│ revents |= POLLIN; SIGSEGV occured often (about 1 time in a minute) in line 454 : fd=-66012128 , loopindex=283 (gdb) p pfds[282] $17 = {fd = 291, events = 64, revents = 0} -- looks ok (gdb) p pfds[283] $18 = {fd = -66012128, events = 32595, revents = 0} -- looks strange and spoiled (gdb) p Biggest_FD $19 = 292 Please, could you fix it. Thanks.
_______________________________________________ squid-dev mailing list squid-dev@lists.squid-cache.org http://lists.squid-cache.org/listinfo/squid-dev