(RADIATOR) DBI handle cleared whilst still active
Andrew Stevenson
andrews at ntt.net.au
Thu Jul 10 23:37:19 CDT 2003
Hi,
I'm running radiator 3.6 with DBI.pm 1.37, DBD::Sybase 1.00 talking to a
MS SQL Server 2000 database using freetds 0.61.
Whenever radiator does a database transaction (which apparently works) I
get the errors:
DBI handle cleared whilst still active at /usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 531.
DBI handle has uncleared implementors data at /usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 531.
dbih_clearcom (sth 0x8536300 0x8538000, com 0x8545c00, imp DBD::Sybase::st):
FLAGS 0x117: COMSET IMPSET Active Warn PrintError
PARENT DBI::db=HASH(0x8536210)
KIDS 0 (0 Active)
IMP_DATA undef
LongReadLen 32768
NUM_OF_FIELDS 0
NUM_OF_PARAMS 0
DBI::db=HASH(0x8536210)->disconnect invalidates 2 active statement handles (either destroy statement handles or call finish on them before disconnecting) at /usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 278.
Appearing on stderr. It seems these errors aren't uncommon but google
didn't find me a solution...I'm not sure it's a radiator problem, I'm beginning to suspect
it's a DBD::Sybase problem however my perl test script (connect, do,
disconnect) works fine.
An example of a query that causes the problem is:
DELETE FROM Radius..acc WHERE nas_ip = 'x.x.x.x' AND port = '1'
Any ideas? I've turned on DBI tracing (output below, names changed) and I
can't see anything suspicious. Turning on tracing(4) in radiator doesn't
reveal anything either.
Thanks,
Andrew
-- DBI trace --
DBI 1.37-nothread dispatch trace level set to 4
Note: perl is running without the recommended perl -w option
->
DBI->connect(dbi:Sybase:server=SERVER;database=Radius,
user, ****)
-> DBI->install_driver(Sybase) for freebsd perl=5.00503 pid=6421
ruid=0 euid=0
syb_init() -> DBD::Sybase 1.00 initialized
OpenClient version:
install_driver: DBD::Sybase version 1.00 loaded from
/usr/local/lib/perl5/site_perl/5.005/i386-freebsd/DBD/Sybase.pm
New DBI::dr (for DBD::Sybase::dr, parent=, id=)
dbih_setup_handle(DBI::dr=HASH(0x841361c)=>DBI::dr=HASH(0x853ab60),
DBD::Sybase::dr, 0, Null!)
dbih_make_com(Null!, 0x0, DBD::Sybase::dr, 84, 0x0) thr#0x0
<- install_driver= DBI::dr=HASH(0x841361c)
-> connect for DBD::Sybase::dr (DBI::dr=HASH(0x841361c)~0x853ab60
'server=SERVER;database=Radius' 'radius' ****
HASH(0x8537288))
New DBI::db (for DBD::Sybase::db, parent=DBI::dr=HASH(0x853ab60), id=)
dbih_setup_handle(DBI::db=HASH(0x853aadc)=>DBI::db=HASH(0x8537264),
DBD::Sybase::db, 8413354, Null!)
dbih_make_com(DBI::dr=HASH(0x853ab60), 0x8535380, DBD::Sybase::db,
1708, 0x0) thr#0x0
syb_db_use() -> ct_command(use Radius)
syb_db_login() -> checking for chained transactions
syb_db_login() -> chained transactions are supported
<- connect= DBI::db=HASH(0x853aadc) at DBI.pm line 582 via
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 527
-> STORE for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER
'PrintError' 1)
STORE DBI::db=HASH(0x8537264) 'PrintError' => 1
<- STORE= 1 at DBI.pm line 622 via
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 527
-> STORE for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER
'AutoCommit' 1)
<- STORE= 1 at DBI.pm line 622 via
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 527
-> STORE for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER 'Username'
'user')
STORE DBI::db=HASH(0x8537264) 'Username' => 'user'
<- STORE= 1 at DBI.pm line 625 via
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 527
<- connect= DBI::db=HASH(0x853aadc)
-> STORE for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER
'dbi_connect_closure' CODE(0x8531228))
STORE DBI::db=HASH(0x8537264) 'dbi_connect_closure' => CODE(0x8531228)
<- STORE= 1 at DBI.pm line 639 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 108
-> STORE for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER
'AutoCommit' 1)
<- STORE= 1 at SqlDb.pm line 116 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 212
-> STORE for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER
'syb_flush_finish' 1)
<- STORE= 1 at SqlDb.pm line 119 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 212
-> do for DBD::Sybase::db (DBI::db=HASH(0x853aadc)~0x8537264 'DELETE
FROM Radius..acc WHERE nas_ip = 'x.x.x.x' AND
port = '1'')
1 -> prepare for DBD::Sybase::db (DBI::db=HASH(0x8537264)~INNER 'DELETE
FROM Radius..acc WHERE nas_ip = 'x.x.x.x' AND
port = '1'' undef)
New DBI::st (for DBD::Sybase::st, parent=DBI::db=HASH(0x8537264), id=)
dbih_setup_handle(DBI::st=HASH(0x8537324)=>DBI::st=HASH(0x8537318),
DBD::Sybase::st, 8537330, Null!)
dbih_make_com(DBI::db=HASH(0x8537264), 0x84b3800, DBD::Sybase::st,
396, 0x0) thr#0x0
1 <- prepare= DBI::st=HASH(0x8537324) at Sybase.pm line 150 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 219
-> execute for DBD::Sybase::st (DBI::st=HASH(0x8537324)~0x8537318)
syb_st_execute() -> ct_command() OK
syb_st_execute() -> ct_send() OK
st_next_result() -> ct_results(4047) == 1
ct_results() final retcode = 15
st_next_result() -> lasterr = 0, lastsev = 0
<- execute= '0E0' at Sybase.pm line 151 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 219
-> err in DBD::_::common for DBD::Sybase::st
(DBI::st=HASH(0x8537324)~0x8537318)
<- err= undef at Sybase.pm line 152 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 219
-> rows for DBD::Sybase::st (DBI::st=HASH(0x8537324)~0x8537318)
<- rows= 0 at Sybase.pm line 153 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 219
-> FETCH for DBD::Sybase::st (DBI::st=HASH(0x8537318)~INNER
'syb_more_results')
.. FETCH DBI::st=HASH(0x8537318) 'syb_more_results' = undef
<- FETCH= undef at Sybase.pm line 154 via
/usr/local/lib/perl5/site_perl/5.005/Radius/SqlDb.pm line 219
<- do= '0E0' at SqlDb.pm line 219 via
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 527
<> DESTROY ignored for outer handle DBI::st=HASH(0x8537324) (inner
DBI::st=HASH(0x8537318))
-> DESTROY for DBD::Sybase::st (DBI::st=HASH(0x8537318)~INNER)
syb_st_finish() -> flushing
DBI handle cleared whilst still active at
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 531.
DBI handle has uncleared implementors data at
/usr/local/lib/perl5/site_perl/5.005/Radius/Util.pm line 531.
dbih_clearcom (sth 0x8537324 0x8563940, com 0x8546c00, imp
DBD::Sybase::st):
FLAGS 0x117: COMSET IMPSET Active Warn PrintError
PARENT DBI::db=HASH(0x8537264)
KIDS 0 (0 Active)
IMP_DATA undef
LongReadLen 32768
NUM_OF_FIELDS 0
NUM_OF_PARAMS 0
dbih_clearcom 0x8537324 (com 0x8546c00, type 3) done.
===
Archive at http://www.open.com.au/archives/radiator/
Announcements on radiator-announce at open.com.au
To unsubscribe, email 'majordomo at open.com.au' with
'unsubscribe radiator' in the body of the message.
More information about the radiator
mailing list