I am running Freeradius 0.9 and I am writing accounting records to an
Oracle DB ver 8i. If the Database goes down, the Freeradius gives a
segmentation fault error and dies. I've tried also to point to another
database as a fail-over option, but the same results were encountered.
My configuration looks like this:
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
Radiusd.conf
accounting {
detail
redundant {
sql2 {
fail = 1
notfound = return
noop = return
ok = return
updated = return
reject = return
userlock = return
invalid = return
handled = return
}
sql2_redundant {
fail = 1
notfound = return
noop = return
ok = return
updated = return
reject = return
userlock = return
invalid = return
handled = return
}
}
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>>>>>>>
oraclesql.conf
sql sql2 {
driver = "rlm_sql_oracle"
# Connect info
server = "xxx.xxx.xxx.001"
login = "test"
password = "testpass"
# Database table configuration
radius_db = "oracle1"
...
}
sql sql2_redundant {
driver = "rlm_sql_oracle"
# Connect info
server = "xxx.xxx.xxx.002"
login = "test"
password = "testpass"
# Database table configuration
radius_db = "oracle2"
...
}
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>>
The debug output before accounting DB shutdown :
rad_recv: Accounting-Request packet from host xxx.xxx.xxx.xxx:38499,
id=163, length=79
Sun Aug 3 07:12:01 2003 : Debug: Thread 1 assigned request 0
Sun Aug 3 07:12:01 2003 : Debug: Thread 1 handling request 0, (1
handled so far)
User-Name = "test"
NAS-IP-Address = xxx.xxx.xxx.xxx
NAS-Port = 0
NAS-Port-Type = Async
Service-Type = Framed-User
Framed-Protocol = PPP
Acct-Session-Id = "379094841"
Acct-Status-Type = Start
Acct-Delay-Time = 0
Sun Aug 3 07:12:01 2003 : Debug: modcall: entering group preacct
Sun Aug 3 07:12:01 2003 : Debug: modcall[preacct]: module
"preprocess" returns noop
Sun Aug 3 07:12:01 2003 : Debug: rlm_realm: No '@' in User-Name =
"test", looking up realm NULL
Sun Aug 3 07:12:01 2003 : Debug: rlm_realm: No such realm "NULL"
Sun Aug 3 07:12:01 2003 : Debug: modcall[preacct]: module "suffix"
returns noop
Sun Aug 3 07:12:01 2003 : Debug: modcall[preacct]: module "files"
returns noop
Sun Aug 3 07:12:01 2003 : Debug: modcall: group preacct returns noop
Sun Aug 3 07:12:01 2003 : Debug: modcall: entering group accounting
Sun Aug 3 07:12:01 2003 : Debug: radius_xlat:
'/app/experimental/free-0.9/local/var/log/radius/radacct/xxx.xxx.xxx.xxx
/detail-20030803'
Sun Aug 3 07:12:01 2003 : Debug: rlm_detail:
/app/experimental/free-0.9/local/var/log/radius/radacct/%{Client-IP-Addr
ess}/detail-%Y%m%d expands to
/app/experimental/free-0.9/local/var/log/radius/radacct/xxx.xxx.xxx.xxx/
detail-20030803
Sun Aug 3 07:12:01 2003 : Debug: --- Walking the entire request list
---
Sun Aug 3 07:12:01 2003 : Debug: Threads: total/active/spare threads =
5/1/4
Sun Aug 3 07:12:01 2003 : Debug: Waking up in 5 seconds...
Sun Aug 3 07:12:01 2003 : Debug: modcall[accounting]: module "detail"
returns ok
Sun Aug 3 07:12:01 2003 : Debug: modcall: entering group redundant
Sun Aug 3 07:12:01 2003 : Debug: radius_xlat: 'test'
Sun Aug 3 07:12:01 2003 : Debug: rlm_sql (sql2): sql_set_user escaped
user --> 'test'
Sun Aug 3 07:12:01 2003 : Debug: radius_xlat: 'INSERT into RADACCT
(RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress,
NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime,
AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets,
AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause,
ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay,
AcctStopDelay) values('', '379094841', '', 'test', '',
'xxx.xxx.xxx.xxx', '0', 'Async', TO_DATE('2003-08-03
07:12:01','yyyy-mm-dd hh24:mi:ss'), '', '0', '', '', '', '0', '0', '',
'', '', 'Framed-User', 'PPP', '', '0', '0')'
Sun Aug 3 07:12:01 2003 : Debug: rlm_sql (sql2): Reserving sql socket
id: 2
Sun Aug 3 07:12:01 2003 : Debug: rlm_sql (sql2): Released sql socket
id: 2
Sun Aug 3 07:12:01 2003 : Debug: modcall[accounting]: module "sql2"
returns ok
Sun Aug 3 07:12:01 2003 : Debug: modcall: group redundant returns ok
Sun Aug 3 07:12:01 2003 : Debug: modcall: group accounting returns ok
Sending Accounting-Response of id 163 to xxx.xxx.xxx.xxx:38499
Sun Aug 3 07:12:01 2003 : Debug: Finished request 0
Sun Aug 3 07:12:01 2003 : Debug: Going to the next request
Sun Aug 3 07:12:01 2003 : Debug: Thread 1 waiting to be assigned a
request
Sun Aug 3 07:12:06 2003 : Debug: --- Walking the entire request list
---
Sun Aug 3 07:12:06 2003 : Debug: Threads: total/active/spare threads =
5/0/5
Sun Aug 3 07:12:06 2003 : Debug: Waking up in 1 seconds...
Sun Aug 3 07:12:07 2003 : Debug: --- Walking the entire request list
---
Sun Aug 3 07:12:07 2003 : Debug: Cleaning up request 0 ID 163 with
timestamp 3f2c7d81
Sun Aug 3 07:12:07 2003 : Debug: Nothing to do. Sleeping until we see
a request.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>>>
The debug output after accounting DB shutdown:
rad_recv: Accounting-Request packet from host xxx.xxx.xxx.xxx:38501,
id=164, length=79
Sun Aug 3 07:12:30 2003 : Debug: Thread 2 assigned request 1
Sun Aug 3 07:12:30 2003 : Debug: --- Walking the entire request list
---
Sun Aug 3 07:12:30 2003 : Debug: Threads: total/active/spare threads =
5/1/4
Sun Aug 3 07:12:30 2003 : Debug: Waking up in 5 seconds...
Sun Aug 3 07:12:30 2003 : Debug: Thread 2 handling request 1, (1
handled so far)
User-Name = "test"
NAS-IP-Address = xxx.xxx.xxx.xxx
NAS-Port = 0
NAS-Port-Type = Async
Service-Type = Framed-User
Framed-Protocol = PPP
Acct-Session-Id = "379094841"
Acct-Status-Type = Start
Acct-Delay-Time = 0
Sun Aug 3 07:12:30 2003 : Debug: modcall: entering group preacct
Sun Aug 3 07:12:30 2003 : Debug: modcall[preacct]: module
"preprocess" returns noop
Sun Aug 3 07:12:30 2003 : Debug: rlm_realm: No '@' in User-Name =
"test", looking up realm NULL
Sun Aug 3 07:12:30 2003 : Debug: rlm_realm: No such realm "NULL"
Sun Aug 3 07:12:30 2003 : Debug: modcall[preacct]: module "suffix"
returns noop
Sun Aug 3 07:12:30 2003 : Debug: modcall[preacct]: module "files"
returns noop
Sun Aug 3 07:12:30 2003 : Debug: modcall: group preacct returns noop
Sun Aug 3 07:12:30 2003 : Debug: modcall: entering group accounting
Sun Aug 3 07:12:30 2003 : Debug: radius_xlat:
'/app/experimental/free-0.9/local/var/log/radius/radacct/xxx.xxx.xxx.xxx
/detail-20030803'
Sun Aug 3 07:12:30 2003 : Debug: rlm_detail:
/app/experimental/free-0.9/local/var/log/radius/radacct/%{Client-IP-Addr
ess}/detail-%Y%m%d expands to
/app/experimental/free-0.9/local/var/log/radius/radacct/xxx.xxx.xxx.xxx/
detail-20030803
Sun Aug 3 07:12:30 2003 : Debug: modcall[accounting]: module "detail"
returns ok
Sun Aug 3 07:12:30 2003 : Debug: modcall: entering group redundant
Sun Aug 3 07:12:30 2003 : Debug: radius_xlat: 'test'
Sun Aug 3 07:12:30 2003 : Debug: rlm_sql (sql2): sql_set_user escaped
user --> 'test'
Sun Aug 3 07:12:30 2003 : Debug: radius_xlat: 'INSERT into RADACCT
(RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress,
NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime,
AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets,
AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause,
ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay,
AcctStopDelay) values('', '379094841', '', 'test', '',
'xxx.xxx.xxx.xxx', '0', 'Async', TO_DATE('2003-08-03
07:12:30','yyyy-mm-dd hh24:mi:ss'), '', '0', '', '', '', '0', '0', '',
'', '', 'Framed-User', 'PPP', '', '0', '0')'
Sun Aug 3 07:12:30 2003 : Debug: rlm_sql (sql2): Reserving sql socket
id: 1
Sun Aug 3 07:12:30 2003 : Error: rlm_sql_oracle: execute query failed
in sql_query: ORA-03113: end-of-file on communication channel
Sun Aug 3 07:12:30 2003 : Debug: rlm_sql (sql2): Attempting to connect
rlm_sql_oracle #1
Sun Aug 3 07:12:30 2003 : Debug: rl_next: returning NULL
Sun Aug 3 07:12:30 2003 : Debug: Waking up in 5 seconds...
Sun Aug 3 07:12:30 2003 : Error: rlm_sql_oracle: Oracle logon failed:
'ORA-01034: ORACLE not available ORA-27101: shared memory realm does not
exist SVR4 Error: 2: No such file or directory '
Sun Aug 3 07:12:30 2003 : Error: rlm_sql (sql2): Failed to connect DB
handle #1
Sun Aug 3 07:12:30 2003 : Error: rlm_sql (sql2): reconnect failed,
database down?
Segmentation Fault
Can anyone help in this regard?
Regards
Yasser Ahmed Hosny
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html