Debian stableFreeradius 1.0.2 + IOdbc + FreeTDS + MSSQL Segmentation fault.
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
participants (1)
-
Angelo Compagnucci