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