Joe Maimon <jmaimon@ttec.com> wrote:
This morning logs look like this:
Fri Oct 7 08:29:29 2005 : Error: !!! ERROR !!! The server is blocked: discarding new request 181169 ... (any idea why? this never happened before [ before means cvs from 20050316 ])
I don't *think* any of the changes to threads.c would cause this problem. But that message is produced only when the request queue is full. i.e. new requests are coming in faster than the server can process them.
so I executed /etc/init.d/freeradius stop
and got the above assert.
Apparently a gracefull exit is hard to do if the server has blocked threads?
Yes. It tries to exit cleanly, but something calls request_free() on a request currently being used by a thread. The solution to that problem is simply to *not* call request_free() when exiting. As for why it's blocked, see the rest of the debug log. It *should* tell you what's blocked, and where. Alan DeKok.