Salut Romain -
Quel plaisir de pouvoir regarder le tennis a Roland-Garros en ce moment! :-) (ayant vecu a deux pas du stade ....) I have copied Mike on this mail, but have you tested the same scenario with Radiator 3.1? I know there has been some work done in this area. Please let me know if 3.1 fixes the problem. If not, please send me the config and trace 4 again for the new version. A+ Hugues On Fri, 31 May 2002 20:58, Romain Vergniol wrote: > Hello Hugh, Mike, everyone, > > I use Radiator 3.0 together with MySQL on Slackware 8.0 servers. > I noticed that Radiator badly manages the loss of MySQL server ; in certain > cases, > Radiator consumes all available memory then crashes down. > > I set up a test server and it was easy to reproduce the problem, here is > the scenario : > > - start MySQL server > - start Radiator > - start radpwtst with thousands iterations to have the time to do our > tests > - shutdown MySQL server > > At this moment, Radiator starts to consume all available memory until it > crashes (restarting Mysql server doesn't change anything...). > I tried to increase or reduce 'FailureBackoffTime' but it doesn't seem to > change anything. > > Shutting down MySQL when no radius request is sent doesn't reproduce the > problem. > > Is my config file OK ? > > Here is a trace 4 debug with the config file > > > Romain Vergniol > CEGEDIM > France > > PS : Radiator is a great product ! :) > > > ====================================================================== > > Trace 4 debug: > > *** Received from 172.xxxxxxx port 1074 .... > Code: Access-Request > Identifier: 219 > Authentic: 1234567890123456 > Attributes: > User-Name = "[EMAIL PROTECTED]" > Service-Type = Framed > NAS-IP-Address = 172.xxxxxx > NAS-Port = 1234 > Called-Station-Id = "0000" > Calling-Station-Id = "987654321" > NAS-Port-Type = Async > Framed-IP-Address = 172.xxxxxxx > User-Password = > "<170>n<243>=<28><251><161><238>4<31><131>"B<18><249><132>" > > Fri May 31 11:50:46 2002: DEBUG: Handling request with Handler > 'Request-Type=Access-Request' > Fri May 31 11:50:46 2002: DEBUG: Deleting session for > [EMAIL PROTECTED], 172.xxxxxx, 1234 > Fri May 31 11:50:46 2002: DEBUG: Handling with Radius::AuthGROUP > Fri May 31 11:50:46 2002: DEBUG: Handling with Radius::AuthSQL > Fri May 31 11:50:46 2002: DEBUG: Handling with Radius::AuthSQL: > Fri May 31 11:50:46 2002: DEBUG: Query is: select S.PASSWORD, S.CHECKATTR, > S.REPLYATTR from SUBSCRIBERS as S, REL_PROFCOM as P where > S.USERNAME='[EMAIL PROTECTED]' and S.NASIDENTIFIER='172.xxxxxx' > and S.PROFCOM=P.ID and P.NUM='0000' > > Fri May 31 11:50:46 2002: DEBUG: Radius::AuthSQL looks for match with > [EMAIL PROTECTED] > Fri May 31 11:50:46 2002: DEBUG: Expiration date converted to: 1798758000 > Fri May 31 11:50:46 2002: DEBUG: Radius::AuthSQL ACCEPT: > Fri May 31 11:50:46 2002: DEBUG: Access accepted for > [EMAIL PROTECTED] > Fri May 31 11:50:46 2002: DEBUG: Packet dump: > *** Sending to 172.xxxxxxxxport 1074 .... > Code: Access-Accept > Identifier: 219 > Authentic: 1234567890123456 > Attributes: > Framed-IP-Address = 172.xxxxxxxxx > Service-Type = Framed > cisco-avpair = "ip:dns-servers=xxxxxxx yyyyyyyyyyyyyy" > cisco-avpair = "ip:inacl#1=permit ip any 172.xxxxxxxxx/16" > cisco-avpair = "ip:inacl#2=permit ip any host xxxxxxxxxxxxxxxx" > cisco-avpair = "ip:inacl#3=permit ip any host yyyyyyyyyyyy" > cisco-avpair = "ip:inacl#4=deny all any any" > Framed-Protocol = PPP > > Fri May 31 11:50:46 2002: DEBUG: Packet dump: > > #------------------------------------------------ > # Up to here, everything is OK > # MySQL shuts down now > #------------------------------------------------ > > > *** Received from 172.xxxxxxxxx port 1074 .... > Code: Accounting-Request > Identifier: 220 > Authentic: > <212><29><155>$\<246><202><193><141><206><12><148><15><138><210>Q > Attributes: > User-Name = "[EMAIL PROTECTED]" > Service-Type = Framed > NAS-IP-Address = 172.xxxxxxx > NAS-Port = 1234 > NAS-Port-Type = Async > Acct-Session-Id = "00001400" > Acct-Status-Type = Start > Called-Station-Id = "0000" > Calling-Station-Id = "987654321" > Framed-IP-Address = 172xxxxxxx > Acct-Delay-Time = 0 > > Fri May 31 11:50:46 2002: DEBUG: Handling request with Handler > 'Request-Type=Accounting-Request' > Fri May 31 11:50:46 2002: DEBUG: Adding session for > [EMAIL PROTECTED], 172.xxxxxx, 1234 > Fri May 31 11:50:46 2002: DEBUG: Handling with Radius::AuthSQL > Fri May 31 11:50:46 2002: DEBUG: Handling accounting with Radius::AuthSQL > Fri May 31 11:50:46 2002: DEBUG: do query is: insert into ACCOUNTING > (USERNAME, TIME_STAMP, ACCTSTATUSTYPE, ACCTDELAYTIME, > ACCTSESSIONID, NASIDENTIFIER, FRAMEDIPADDRESS, ASCEND_CALLED_STATION_ID, > ASCEND_CALLING_STATION_ID, FORMATTED_DATE) > values > ('[EMAIL PROTECTED]', 1022838646, 'Start', 0, > '00001400', '172.xxxxxxxx', '172.xxxxxxx', '0000', '987654321', > '2002-05-31.11.50.46') > > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > Fri May 31 11:50:46 2002: ERR: do failed for 'insert into ACCOUNTING > (USERNAME, TIME_STAMP, ACCTSTATUSTYPE, ACCTDELAYTIME, > ACCTSESSIONID, NASIDENTIFIER, FRAMEDIPADDRESS, ASCEND_CALLED_STATION_ID, > ASCEND_CALLING_STATION_ID, FORMATTED_DATE) > values > ('[EMAIL PROTECTED]', 1022838646, 'Start', 0, > '00001400', '172.xxxxxx', '172.xxxxxxxx', '0000', '987654321', > '2002-05-31.11.50.46')': MySQL server has gone away > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > DBD::mysql::db do failed: MySQL server has gone away at > /usr/lib/perl5/site_perl/Radius/SqlDb.pm line 218. > Out of memory! > Attempt to free unreferenced scalar during global destruction. > > > =========================================================================== > > radius.cfg of the test server > > Foreground > LogStdout > LogDir /usr/local/etc/radius > DbDir /usr/local/etc/radius > > PidFile /usr/local/etc/radius/radius.pid > > BindAddress 172.xxxxxxxxxxx > AuthPort 1812 > AcctPort 1813 > > <ClientListSQL> > DBSource dbi:mysql:xxxxxxxxxxxxxx > DBUsername xxxxxxxxxxxxx > DBAuth xxxxxxxx > FailureBackoffTime 20 > > </ClientListSQL> > > <Client DEFAULT> > Secret xxxxxxxxxxxxxxx > </Client> > > #<AddressAllocator SQL> > # Identifier SQLAllocator > # > # DBSource dbi:mysql:xxxxxxxxxxxxxx > # DBUsername xxxxxxxxxxxxx > # DBAuth xxxxxxxx > # FailureBackoffTime 5 > # > # #DefaultLeasePeriod 86400 > # #LeaseReclaimInterval 86400 > # FindQuery select TIME_STAMP, YIADDR, SUBNETMASK, DNSSERVER from > RADPOOL where POOL='%0' and STATE=0 limit 1 > # > # AllocateQuery update RADPOOL set STATE=1, TIME_STAMP=%0, EXPIRY=%1, > USERNAME='%2' where YIADDR='%3' > # > # DeallocateQuery update RADPOOL set STATE=0, TIME_STAMP=%t where > YIADDR='%0' > # > #</AddressAllocator> > > <AuthBy GROUP> > Identifier AUTH_USER > # AuthByPolicy ContinueWhileAccept > <AuthBy SQL> > Identifier AUTH_USER > > DBSource dbi:mysql:xxxxxxxxxxxxxx > DBUsername xxxxxxxxxxxxx > DBAuth xxxxxxxx > > FailureBackoffTime 20 > > AuthSelect select PASSWORD, CHECKATTR, REPLYATTR from > SUBSCRIBERS where USERNAME='%n' limit 1 > AuthColumnDef 0, User-Password, check > AuthColumnDef 1, GENERIC, check > AuthColumnDef 2, GENERIC, reply > > </AuthBy SQL> > # <AuthBy DYNADDRESS> > # Allocator SQLAllocator > # #MapAttribute yiaddr, Framed-IP-Address > # #MapAttribute subnetmask, Framed-IP-Netmask > # StripFromReply PoolHint > # </AuthBy> > </AuthBy> > > > <AuthBy GROUP> > Identifier AUTH_USER_NAS > # AuthByPolicy ContinueWhileAccept > <AuthBy SQL> > DBSource dbi:mysql:xxxxxxxxxxxxxx > DBUsername xxxxxxxxxxxxx > DBAuth xxxxxxxx > > FailureBackoffTime 20 > > #AuthSelect select PASSWORD, CHECKATTR, REPLYATTR from > SUBSCRIBERS where USERNAME='%n' and NASIDENTIFIER='%N' > > AuthSelect select S.PASSWORD, S.CHECKATTR, S.REPLYATTR \ > from SUBSCRIBERS as S, REL_PROFCOM as P \ > where S.USERNAME='%n' and S.NASIDENTIFIER='%N' \ > and S.PROFCOM=P.ID \ > and P.NUM='%{Called-Station-Id}' > > AuthColumnDef 0, User-Password, check > AuthColumnDef 1, GENERIC, check > AuthColumnDef 2, GENERIC, reply > > </AuthBy SQL> > # <AuthBy DYNADDRESS> > # Allocator SQLAllocator > # #MapAttribute yiaddr, Ascend-Assign-IP-Pool > # MapAttribute yiaddr, Framed-IP-Address > # MapAttribute subnetmask, Framed-IP-Netmask > # StripFromReply PoolHint > # </AuthBy> > </AuthBy> > > > <AuthBy GROUP> > Identifier AUTH_USER_NAS_CSID > NoDefault > AuthByPolicy ContinueWhileAccept > <AuthBy SQL> > DBSource dbi:mysql:xxxxxxxxxxxxxx > DBUsername xxxxxxxxxxxxx > DBAuth xxxxxxxx > > FailureBackoffTime 20 > > AuthSelect select S.PASSWORD, S.CHECKATTR, S.REPLYATTR \ > from SUBSCRIBERS as S, REL_PROFCOM as P \ > where S.USERNAME='%n' and S.NASIDENTIFIER='%N' \ > and S.PROFCOM=P.ID \ > and P.NUM='%{Called-Station-Id}' > > AuthColumnDef 0, User-Password, check > AuthColumnDef 1, GENERIC, check > AuthColumnDef 2, GENERIC, reply > > </AuthBy> > > </AuthBy> > > > > > <AuthBy SQL> > > Identifier ACCT > > DBSource dbi:mysql:xxxxxxxxxxxxxx > DBUsername xxxxxxxxxxxxx > DBAuth xxxxxxxx > > > AccountingTable ACCOUNTING > AcctColumnDef USERNAME,User-Name > AcctColumnDef REALM,User-Realm > AcctColumnDef TIME_STAMP,Timestamp,integer > AcctColumnDef ACCTSTATUSTYPE,Acct-Status-Type > AcctColumnDef ACCTDELAYTIME,Acct-Delay-Time,integer > AcctColumnDef ACCTINPUTOCTETS,Acct-Input-Octets,integer > AcctColumnDef ACCTOUTPUTOCTETS,Acct-Output-Octets,integer > AcctColumnDef ACCTSESSIONID,Acct-Session-Id > AcctColumnDef ACCTSESSIONTIME,Acct-Session-Time,integer > AcctColumnDef > ASCEND_DISCONNECT_CAUSE,Ascend-Disconnect-Cause,integer > AcctColumnDef ACCTTERMINATECAUSE,Acct-Terminate-Cause > AcctColumnDef NASIDENTIFIER,%N,formatted > AcctColumnDef FRAMEDIPADDRESS,Framed-IP-Address > AcctColumnDef > ASCEND_CONNECT_PROGRESS,Ascend-Connect-Progress,integer > AcctColumnDef ASCEND_DATA_RATE,Ascend-Data-Rate,integer > AcctColumnDef > ASCEND_PRE_INPUT_OCTETS,Ascend-Pre-Input-Octets,integer > AcctColumnDef > ASCEND_PRE_OUTPUT_OCTETS,Ascend-Pre-Output-Octets,integer > AcctColumnDef > ASCEND_PRESESSION_TIME,Ascend-PreSession-Time,integer > AcctColumnDef ASCEND_XMIT_RATE,Ascend-Xmit-Rate,integer > AcctColumnDef ASCEND_CALLED_STATION_ID,Called-Station-Id > AcctColumnDef ASCEND_CALLING_STATION_ID,Calling-Station-Id > AcctColumnDef FRAMED_PROTOCOL,Framed-Protocol,integer > AcctColumnDef FORMATTED_DATE,%Y-%m-%d.%H.%M.%S,formatted > > AcctFailedLogFileName /usr/local/etc/radius/missedaccounting > > > </AuthBy> > > <AuthLog SQL> > Identifier AUTHLOG > > DBSource dbi:mysql:xxxxxxxxxxxxx > DBUsername xxxxxxxxx > DBAuth xxxxxxxxxxxxxxxxx > FailureBackoffTime 20 > > LogSuccess 1 > LogFailure 1 > Table RADAUTHLOG_1 > SuccessQuery INSERT into RADAUTHLOG_1 values("%t","%n" , "%N" , > "Radius2: OK. %1" ) > FailureQuery INSERT into RADAUTHLOG_1 values("%t","%n" , "%N" , > "Radius2: NOK. %1(C-S-Id:%{Called-Station-Id})" ) > </AuthLog> > > # Scripts de Fail-Over > <Handler Request-Type=Access-Request,Realm=test.fr> > AuthBy AUTH_USER > </Handler> > > # TEST > <Handler Request-Type=Access-Request,Realm=test.cegedim> > #AuthBy AUTH_USER_NAS > AuthBy AUTH_USER_NAS_CSID > AuthLog AUTHLOG > </Handler> > > ##################################################### > # OTHER.USERS > #################################################### > > > <Handler Request-Type=Accounting-Request> > AuthBy ACCT > </Handler> > > <Handler Request-Type=Access-Request,Realm=teams.bak> > RejectHasReason > AuthBy AUTH_USER > AuthLog AUTHLOG > </Handler> > > > <Handler Request-Type=Access-Request> > RejectHasReason > AuthBy AUTH_USER_NAS_CSID > AuthLog AUTHLOG > </Handler> > > ###################################################### > > > > <Log SQL> > DBSource dbi:mysql:xxxxxxxxxxxxxx > DBUsername xxxxxxxxxxxxx > DBAuth xxxxxxxx > FailureBackoffTime 20 > > Trace 3 > </Log> > > === > Archive at http://www.open.com.au/archives/radiator/ > Announcements on [EMAIL PROTECTED] > To unsubscribe, email '[EMAIL PROTECTED]' with > 'unsubscribe radiator' in the body of the message. -- Radiator: the most portable, flexible and configurable RADIUS server anywhere. Available on *NIX, *BSD, Windows 95/98/2000, NT, MacOS X. - Nets: internetwork inventory and management - graphical, extensible, flexible with hardware, software, platform and database independence. === Archive at http://www.open.com.au/archives/radiator/ Announcements on [EMAIL PROTECTED] To unsubscribe, email '[EMAIL PROTECTED]' with 'unsubscribe radiator' in the body of the message.