radius going to sleep?

Alan DeKok aland at deployingradius.com
Thu Nov 8 09:22:40 CET 2007


Norbert Wegener wrote:
> Now it works again with num_sql_socks=30.
> To make it work, I increased the number of connections on the mysql
> server via
> set global max_connections =200;
> (I have  more than one sql-module and each one starts its own connections)

  The only other change I see in the SQL module is rlm_sql.c:


@@ -555,7 +556,7 @@
 	/*
 	 *	Get the list of groups this user is a member of
 	 */
-	if (sql_get_grouplist(inst, sqlsocket, req, &group_list)) {
+	if (sql_get_grouplist(inst, sqlsocket, req, &group_list) < 0) {
 		radlog(L_ERR, "rlm_sql (%s): Error getting group membership",
 		       inst->config->xlat_name);
 		/* Remove the username we (maybe) added above */
@@ -605,7 +606,7 @@
 	/*
 	 *	Get the list of groups this user is a member of
 	 */
-	if (sql_get_grouplist(inst, sqlsocket, request, &group_list)) {
+	if (sql_get_grouplist(inst, sqlsocket, request, &group_list) < 0) {
 		radlog(L_ERR, "rlm_sql (%s): Error retrieving group list",
 		       inst->config->xlat_name);
 		return -1;


> It seems, freeradius comes into trouble, when the number of connections
> allowed by mysql is exceeded.

  That sounds like it's not properly handling errors returned from the
SQL libraries.

> I did not notice that in former versions of freeradius.
> Hope this information helps to find the real cause for freeradius going
> to sleep.

  I don't see much in rlm_sql that could cause this problem.  I don't
see how changes to the server core can affect the SQL module.

  Alan DeKok.



More information about the Freeradius-Users mailing list