FreeRadius crashed on loading test.
Konstantin Chekushin
koch2 at inbox.lv
Tue Sep 14 16:46:00 CEST 2010
Good day. I want to continue Dinh Pham Cong topic ((FreeRadius
crashed on accounting load tests with 1000 concurrent clients - Tue,
10 Nov 2009 01:39:30 -0800 ))
I use freeradius 2.1.9
Linux myhost 2.6.26-2-amd64
Some info from radiusd.conf :
--------------
max_request_time = 30
cleanup_delay = 5
max_requests = 2048
hostname_lookups = no
allow_core_dumps = yes
regular_expressions = yes
extended_expressions = yes
log {
destination = files
file =
${logdir}/radius.log
syslog_facility = daemon
stripped_names = no
auth = yes
auth_badpass = yes
auth_goodpass = yes
}
checkrad = ${sbindir}/checkrad
security {
max_attributes = 200
reject_delay = 1
status_server = yes
}
proxy_requests = no
$INCLUDE clients.conf
thread pool {
start_servers = 5
max_servers = 32
min_spare_servers = 3
max_spare_servers = 10
max_requests_per_server =
0
}
--------------
I'm using rlm_sql for my own ippool module:
database = "mysql"
num_sql_socks = 32
I've started
./radius -xxx -f
I've prepared huge file with auth requests for sending:
Packet-Type = Access-Request
NAS-Identifier = "nas1"
User-Name = "test"
User-Password = "test"
NAS-IP-Address = 212.93.99.126
NAS-Port-Type = Virtual
Called-Station-Id = "1000"
Calling-Station-Id = "37129111111"
Service-Type = Framed-User
Framed-Protocol = GPRS-PDP-Context
Acct-Session-Id = "d45d637e72d54736"
Acct-Multi-Session-Id = "d45d637e396391a1"
Packet-Type = Access-Request
NAS-Identifier = "nas1"
User-Name = "test2"
User-Password = "test2"
NAS-IP-Address = 212.93.99.126
NAS-Port-Type = Virtual
Called-Station-Id = "3"
Calling-Station-Id = "37126222222"
Service-Type = Framed-User
Framed-Protocol = GPRS-PDP-Context
Acct-Session-Id = "d45d637e5b97ac8e"
Acct-Multi-Session-Id = "d45d637e2dc41c4e"
and so on
then, I've run radclient:
cat auth-det.log |/usr/local/freeradius2.1.9/bin/radclient -c 1 -p
500 -q localhost:1812 auth testkey
my module process requests too slow (I will discover this problem in
few days, this is mysql-db-cluster issues), but this test causes
radiusd segmentation fault. I've grabbed the core and look what it
shows:
Core was generated by `./radiusd -xxx -f'.
Program terminated with signal 11, Segmentation fault.
[New process 7173]
[New process 7180]
[New process 7181]
[New process 7182]
[New process 7183]
[New process 7185]
[New process 7187]
[New process 7188]
[New process 7191]
[New process 7193]
[New process 7196]
[New process 7197]
[New process 7174]
[New process 7199]
[New process 7177]
[New process 7202]
[New process 7203]
[New process 7205]
[New process 7176]
[New process 7175]
[New process 7184]
[New process 7186]
[New process 7189]
[New process 7190]
[New process 7192]
[New process 7194]
[New process 7195]
[New process 7198]
[New process 7200]
[New process 7201]
[New process 7204]
[New process 7206]
[New process 7107]
#0 request_pre_handler (request=0xb493fc20) at event.c:1769
1769
if (request->packet->dst_port == 0) {
(gdb) bt
#0 request_pre_handler (request=0xb493fc20) at event.c:1769
#1 0x0806e404 in radius_handle_request (request=0xb493fc20,
fun=0x804ef20 <rad_authenticate>) at event.c:3728
#2 0x08066970 in request_handler_thread (arg=0xae9cbf8) at
threads.c:493
#3 0xb780e4c0 in start_thread () from
/lib/i686/cmov/libpthread.so.0
#4 0xb75b684e in clone () from /lib/i686/cmov/libc.so.6
And here is last breath of my radius (from radius.log)
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16359 in component module .
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16366 in component module .
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16369 in component module .
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16383 in component module .
Tue Sep 14 16:44:43 2010 : Debug: Waking up in 0.1 seconds.
Tue Sep 14 16:44:43 2010 : Info: Cleaning up request 16169 ID 189
with timestamp +952
Tue Sep 14 16:44:43 2010 : Info: Child is finally responsive for
request 14864
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16165 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16186 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16189 in component post-auth module lmtsqlippool1.
***
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16241 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16243 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Debug: Waking up in 0.1 seconds.
Tue Sep 14 16:44:43 2010 : Info: Cleaning up request 16223 ID 21 with
timestamp +952
Tue Sep 14 16:44:43 2010 : Debug: Waking up in 0.1 seconds.
Tue Sep 14 16:44:43 2010 : Info: Cleaning up request 16173 ID 190
with timestamp +952
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16165 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16186 in component post-auth module lmtsqlippool1.
***
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16241 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Info: WARNING: Child is hung for request
16243 in component post-auth module lmtsqlippool1.
Tue Sep 14 16:44:43 2010 : Info: Cleaning up request 16174 ID 151
with timestamp +952
Tue Sep 14 16:44:43 2010 : Debug: Waking up in 0.1 seconds.
Tue Sep 14 16:44:43 2010 : Info: Cleaning up request 16177 ID 58 with
timestamp +952
Tue Sep 14 16:44:44 2010 : Info: Cleaning up request 16181 ID 60 with
timestamp +952
Tue Sep 14 16:44:44 2010 : Debug: rlm_sql_mysql: query: COMMIT
Tue Sep 14 16:44:44 2010 : Info:
[lmtsqlippool1] expand:
UPDATE ippool SET active=1, username=%{Calling-Station-Id} WHERE
username=0 AND iprange_id IN (2) LIMIT 1 -> UPDATE ippool SET
active=1, username=37126333333 WHERE username=0 AND iprange_id IN (2)
LIMIT 1
Tue Sep 14 16:44:44 2010 : Debug: rlm_sql_mysql: query: UPDATE
ippool SET active=1, username=37126333333 WHERE username=0 AND
iprange_id IN (2) LIMIT 1
Tue Sep 14 16:44:44 2010 : Debug: rlm_sql (sql1): Released sql socket
id: 19
Tue Sep 14 16:44:44 2010 : Info: ++++[lmtsqlippool1] returns ok
Tue Sep 14 16:44:44 2010 : Info: +++- policy redundant returns ok
Tue Sep 14 16:44:44 2010 : Info: ++- else else returns ok
Tue Sep 14 16:44:44 2010 : Info: } # server localonly
Tue Sep 14 16:44:44 2010 : Info: request 16165 was cancelled.
Tue Sep 14 16:44:44 2010 : Info: Finished request 16165.
Tue Sep 14 16:44:44 2010 : Debug: Going to the next request
Tue Sep 14 16:44:44 2010 : Debug: Thread 1 waiting to be assigned a
request
Tue Sep 14 16:44:44 2010 : Debug: Thread 1 got semaphore
Tue Sep 14 16:44:44 2010 : Debug: Thread 1 handling request 16244,
(20 handled so far)
Looks like a bug, am I right?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freeradius.org/pipermail/freeradius-users/attachments/20100914/6d3326e2/attachment.html>
More information about the Freeradius-Users
mailing list