request_dequeue problems (recent 3.0, when home-server stalls)

Alan DeKok aland at
Thu Sep 20 16:29:41 CEST 2012

Brian Julin wrote:
> After collecting some more debug logs, I noticed that this problem was happening too often
> on requests numbered around 260 to be a coincidence.  It turns out this happens after
> a thread is marked for recycling due to having handled over 128 requests.

  Well, set "max_requests_per_server = 0".

  There's really no reason to clean up old threads.

> Below is a debug log with some extra radlogs thrown in by hand.  The "Reaping" lines
> happen in the loop that tests whether threads have handled so many connections that
> they should be retired.  Is it normal for a thread to grab and handle requests after it has
> been marked for recycling?

  No.  See src/main/threads.c.  The thread loops around

	while self.status != cancelled

  That's a poorly tested edge condition.  The honest recommendation is
just to set "max_requests_per_server = 0".  My suggestion is also to
remove that configuration entirely in 3.0.

  Alan DeKok.

More information about the Freeradius-Users mailing list