Debian stableFreeradius 1.0.2 + IOdbc + FreeTDS + MSSQL Segmentation fault.
Angelo Compagnucci
emailvarie at davide.it
Mon Oct 9 17:43:45 CEST 2006
Hi to all!
I've a GREAT problem ...
Freeradius exits abnormally with a segmentation fault error when user
logoff ...
This is the log:
...
Processing the preacct section of radiusd.conf
modcall: entering group preacct for request 2
modcall[preacct]: module "preprocess" returns noop for request 2
rlm_acct_unique: Hashing 'NAS-Port = 45,Client-IP-Address =
192.168.0.2,NAS-IP-Address = 192.168.0.2,Acct-Session-Id
= "81700000",User-Name = "tester6"'
rlm_acct_unique: Acct-Unique-Session-ID = "14ec0af158f89db2".
modcall[preacct]: module "acct_unique" returns ok for request 2
modcall: leaving group preacct (returns ok) for request 2
Processing the accounting section of radiusd.conf
modcall: entering group accounting for request 2
radius_xlat: '/var/log/radius/radutmp'
radius_xlat: 'tester6'
modcall[accounting]: module "radutmp" returns ok for request 2
radius_xlat: 'tester6'
rlm_sql (sql): sql_set_user escaped user --> 'tester6'
radius_xlat: 'UPDATE radacct SET AcctStopTime = '2006-10-09 16:28:21',
AcctSessionTime = '5', AcctInputOctets = '96', AcctOutputOctets = '200',
AcctTerminateCause = 'User-Request', AcctStopDelay = '0', ConnectInfo_stop
= '' WHERE AcctSessionId = '81700000' AND UserName = 'tester6' AND
NASIPAddress = '192.168.0.2' AND AcctStopTime = 0'
rlm_sql (sql): Reserving sql socket id: 1
Segmentation fault
---------------
This is the strace:
time(NULL) = 1160408543
getsockname(4, {sa_family=AF_INET, sin_port=htons(1813),
sin_addr=inet_addr("0.0.0.0")}, [23053941335916560]) = 0
recvmsg(4, {msg_name(16)={sa_family=AF_INET, sin_port=htons(1035),
sin_addr=inet_addr("192.168.0.2")}, msg_iov(1)=[{"\4
[\0\302\362n\337zq`9\211\335\320@^\n\307\360\214\6\6"..., 4096}],
msg_controllen=32, {cmsg_len=28, cmsg_level=SOL_IP, cmsg_type=, ...},
msg_flags=0}, 0) = 194
write(1, "rad_recv: Accounting-Request pac"..., 82rad_recv: Accounting-Request
packet from host 192.168.0.2:1035, id=91, length=194
) = 82
time(NULL) = 1160408543
write(1, "\tService-Type = Framed-User\n", 28 Service-Type = Framed-User
) = 28
write(1, "\tFramed-Protocol = PPP\n", 23 Framed-Protocol = PPP
) = 23
write(1, "\tNAS-Port = 47\n", 15 NAS-Port = 47
) = 15
write(1, "\tNAS-Port-Type = Ethernet\n", 26 NAS-Port-Type = Ethernet
) = 26
write(1, "\tUser-Name = \"tester6\"\n", 23 User-Name = "tester6"
) = 23
write(1, "\tCalling-Station-Id = \"00:02:3F:"..., 42 Calling-Station-Id
= "00:02:3F:17:65:34"
) = 42
write(1, "\tCalled-Station-Id = \"service1\"\n", 32 Called-Station-Id
= "service1"
) = 32
write(1, "\tNAS-Port-Id = \"ether1\"\n", 24 NAS-Port-Id = "ether1"
) = 24
write(1, "\tAcct-Session-Id = \"81800001\"\n", 30 Acct-Session-Id
= "81800001"
) = 30
write(1, "\tFramed-IP-Address = 10.0.102.17"..., 34 Framed-IP-Address =
10.0.102.175
) = 34
write(1, "\tFramed-IP-Netmask = 255.255.255"..., 35 Framed-IP-Netmask =
255.255.255.0
) = 35
write(1, "\tAcct-Authentic = RADIUS\n", 25 Acct-Authentic = RADIUS
) = 25
write(1, "\tAcct-Session-Time = 5\n", 23 Acct-Session-Time = 5
) = 23
write(1, "\tAcct-Input-Octets = 96\n", 24 Acct-Input-Octets = 96
) = 24
write(1, "\tAcct-Input-Gigawords = 0\n", 26 Acct-Input-Gigawords = 0
) = 26
write(1, "\tAcct-Input-Packets = 9\n", 24 Acct-Input-Packets = 9
) = 24
write(1, "\tAcct-Output-Octets = 200\n", 26 Acct-Output-Octets = 200
) = 26
write(1, "\tAcct-Output-Gigawords = 0\n", 27 Acct-Output-Gigawords = 0
) = 27
write(1, "\tAcct-Output-Packets = 11\n", 26 Acct-Output-Packets = 11
) = 26
write(1, "\tAcct-Status-Type = Stop\n", 25 Acct-Status-Type = Stop
) = 25
write(1, "\tAcct-Terminate-Cause = User-Req"..., 37 Acct-Terminate-Cause =
User-Request
) = 37
write(1, "\tNAS-Identifier = \"MikroTik\"\n", 29 NAS-Identifier
= "MikroTik"
) = 29
write(1, "\tNAS-IP-Address = 192.168.0.2\n", 30 NAS-IP-Address = 192.168.0.2
) = 30
write(1, "\tAcct-Delay-Time = 0\n", 21 Acct-Delay-Time = 0
) = 21
time(NULL) = 1160408543
write(1, " Processing the preacct section"..., 49 Processing the preacct
section of radiusd.conf
) = 49
time(NULL) = 1160408543
write(1, "modcall: entering group preacct "..., 46modcall: entering group
preacct for request 2
) = 46
time(NULL) = 1160408543
write(1, " modcall[preacct]: module \"prep"..., 67 modcall[preacct]:
module "preprocess" returns noop for request 2
) = 67
time(NULL) = 1160408543
write(1, "rlm_acct_unique: Hashing \'NAS-Po"..., 153rlm_acct_unique:
Hashing 'NAS-Port = 47,Client-IP-Address = 192.168.0.2,NAS-IP-Address =
192.168.0.2,Acct-Session-Id = "81800001",User-Name = "tester6"'
) = 153
time(NULL) = 1160408543
write(1, "rlm_acct_unique: Acct-Unique-Ses"..., 62rlm_acct_unique:
Acct-Unique-Session-ID = "8132fc6445e0c224".
) = 62
time(NULL) = 1160408543
write(1, " modcall[preacct]: module \"acct"..., 66 modcall[preacct]:
module "acct_unique" returns ok for request 2
) = 66
time(NULL) = 1160408543
write(1, "modcall: leaving group preacct ("..., 58modcall: leaving group
preacct (returns ok) for request 2
) = 58
time(NULL) = 1160408543
write(1, " Processing the accounting sect"..., 52 Processing the accounting
section of radiusd.conf
) = 52
time(NULL) = 1160408543
write(1, "modcall: entering group accounti"..., 49modcall: entering group
accounting for request 2
) = 49
time([1160408543]) = 1160408543
time(NULL) = 1160408543
write(1, "radius_xlat: \'/var/log/radius/r"...,
40radius_xlat: '/var/log/radius/radutmp'
) = 40
time(NULL) = 1160408543
write(1, "radius_xlat: \'tester6\'\n", 24radius_xlat: 'tester6'
) = 24
open("/var/log/radius/radutmp", O_RDWR|O_CREAT, 0600) = 11
fcntl(11, F_SETLKW, {type=F_WRLCK, whence=SEEK_CUR, start=0, len=112}) = 0
lseek(11, 6944, SEEK_SET) = 6944
read(11, "tester6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 112) =
112
lseek(11, -112, SEEK_CUR) = 6944
write(11, "tester6\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 112) =
112
close(11) = 0
time(NULL) = 1160408543
write(1, " modcall[accounting]: module \"r"..., 65 modcall[accounting]:
module "radutmp" returns ok for request 2
) = 65
time(NULL) = 1160408543
write(1, "radius_xlat: \'tester6\'\n", 24radius_xlat: 'tester6'
) = 24
time(NULL) = 1160408543
write(1, "rlm_sql (sql): sql_set_user esca"..., 55rlm_sql (sql): sql_set_user
escaped user --> 'tester6'
) = 55
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=951, ...}) = 0
time(NULL) = 1160408543
write(1, "radius_xlat: \'UPDATE radacct SE"..., 338radius_xlat: 'UPDATE
radacct SET AcctStopTime = '2006-10-09 17:42:23', AcctSessionTime = '5',
AcctInputOctets = '96', AcctOutputOctets = '200', AcctTerminateCause
= 'User-Request', AcctStopDelay = '0', ConnectInfo_stop = '' WHERE
AcctSessionId = '81800001' AND UserName = 'tester6' AND NASIPAddress
= '192.168.0.2' AND AcctStopTime = 0'
) = 338
time(NULL) = 1160408543
write(1, "rlm_sql (sql): Reserving sql soc"..., 42rlm_sql (sql): Reserving sql
socket id: 1
) = 42
time(NULL) = 1160408543
select(7, NULL, [6], NULL, NULL) = 1 (out [6])
sendto(6, "\1\1\1I\0\0\0\0UPDATE radacct SET AcctS"..., 329, MSG_NOSIGNAL,
NULL, 0) = 329
time(NULL) = 1160408543
select(7, [6], NULL, NULL, NULL) = 1 (in [6])
recvfrom(6, "\4\1\0\21\0007\1\0", 8, MSG_NOSIGNAL, NULL, NULL) = 8
time(NULL) = 1160408543
time(NULL) = 1160408543
select(7, [6], NULL, NULL, NULL) = 1 (in [6])
recvfrom(6, "\375\20\0\305\0\1\0\0\0", 9, MSG_NOSIGNAL, NULL, NULL) = 9
time(NULL) = 1160408543
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++
Process 3981 detached
More information about the Freeradius-Users
mailing list