Nikos Vaggalis
2015-04-28 06:16:48 UTC
I've tried posting to the perl.dbi google group to no avail,so I'm trying
here as well
My dbi trace log is full of <> DESTROY(DBI::db=HASH(0x38bd330)) ignored for
outer handle (inner DBI::db=HASH(0x3817a48) has ref cnt 1)
In detail:
I'm building a site and there are two queries each one in its own sub, the
first one
which populates some elements like drop down
select menus,sliders etc
When the user makes a choice the second query is fired through an Ajax call:
$.ajax({
url: '/query2',
type: "POST",
data: AllData(1)}).success(function(data){
$("#contentx").append(data);
});
which populates a #contentx div with the results of the query.
Now,when in the same session, the error does not occur no matter how much I
stress it. When opening another 4-5 sessions,or doing a couple of reloads
of the same session, the following DBI error comes up :
<-- dbd_st_finish
safety or forking the handles?
The same error happens either in a preforked http server environment
(Starman) or a non-preforked one (HTTP::Server::Simple::PSGI)
Setup
DBD:mysql 4.031
DBI 1.633 (DBI 1.633-nothread)
Dancer2 0.158000
Starman,Plack
Ubuntu 14.04 x86_64 x86_64 x86_64 GNU/Linux
Any help deeply appreciated
here as well
My dbi trace log is full of <> DESTROY(DBI::db=HASH(0x38bd330)) ignored for
outer handle (inner DBI::db=HASH(0x3817a48) has ref cnt 1)
In detail:
I'm building a site and there are two queries each one in its own sub, the
first one
which populates some elements like drop down
select menus,sliders etc
When the user makes a choice the second query is fired through an Ajax call:
$.ajax({
url: '/query2',
type: "POST",
data: AllData(1)}).success(function(data){
$("#contentx").append(data);
});
which populates a #contentx div with the results of the query.
Now,when in the same session, the error does not occur no matter how much I
stress it. When opening another 4-5 sessions,or doing a couple of reloads
of the same session, the following DBI error comes up :
<-- dbd_st_finish
1 <- fetch= ( undef ) [1 items] row1 at
/home/starman/perl5/perlbrew/perls/perl-5.18.1/lib/site_perl/5.18.1/x86_64-linux/DBD/mysql.pm line 867 via at /home/starman/Foo/bin/../lib/MySite/Model.pm
line 219
<- fetchrow_hashref= ( undef ) [1 items] row1 at
/home/starman/Foo/bin/../lib/MySite/Model.pm line 219 via at
/home/starman/Foo/bin/../lib/Foo.pm line 34
<> DESTROY(DBI::st=HASH(0x3fcfc60)) ignored for outer handle (inner
DBI::st=HASH(0x3fcfac8) has ref cnt 1)
-> DESTROY for DBD::mysql::st (DBI::st=HASH(0x3fcfac8)~INNER)
<- DESTROY= ( undef ) [1 items] at /home/starman/Foo/bin/../lib/Foo.pm
line 34 via at /home/starman/Foo/bin/../lib/Foo.pm line 34
DESTROY (dbih_clearcom) (sth 0x3fcfac8, com 0x41e4d70, imp
FLAGS 0x180191: COMSET Warn RaiseError PrintError PrintWarn
PARENT DBI::db=HASH(0x3d23dc0)
KIDS 0 (0 Active)
NUM_OF_FIELDS 38
NUM_OF_PARAMS 0
dbih_clearcom 0x3fcfac8 (com 0x41e4d70, type 3) done.
<> DESTROY(DBI::db=HASH(0x3d18b00)) ignored for outer handle (inner
DBI::db=HASH(0x3d23dc0) has ref cnt 1)
-> DESTROY for DBD::mysql::db (DBI::db=HASH(0x3d23dc0)~INNER)
imp_dbh->pmysql: 42d7440
<- DESTROY= ( undef ) [1 items] at /home/starman/Foo/bin/../lib/Foo.pm
line 34 via at /home/starman/Foo/bin/../lib/Foo.pm line 34
DESTROY (dbih_clearcom) (dbh 0x3d23dc0, com 0x418e4e0, imp
FLAGS 0x180391: COMSET Warn RaiseError PrintError PrintWarn
AutoCommit
PARENT DBI::dr=HASH(0x3c85940)
KIDS 0 (0 Active)
IMP_DATA HASH(0x3d23478)
dbih_clearcom 0x3d23dc0 (com 0x418e4e0, type 2) done.
"
and the site breaks. Is that a concurrency issue having to do with threadline 219
<- fetchrow_hashref= ( undef ) [1 items] row1 at
/home/starman/Foo/bin/../lib/MySite/Model.pm line 219 via at
/home/starman/Foo/bin/../lib/Foo.pm line 34
<> DESTROY(DBI::st=HASH(0x3fcfc60)) ignored for outer handle (inner
DBI::st=HASH(0x3fcfac8) has ref cnt 1)
-> DESTROY for DBD::mysql::st (DBI::st=HASH(0x3fcfac8)~INNER)
<- DESTROY= ( undef ) [1 items] at /home/starman/Foo/bin/../lib/Foo.pm
line 34 via at /home/starman/Foo/bin/../lib/Foo.pm line 34
DESTROY (dbih_clearcom) (sth 0x3fcfac8, com 0x41e4d70, imp
FLAGS 0x180191: COMSET Warn RaiseError PrintError PrintWarn
PARENT DBI::db=HASH(0x3d23dc0)
KIDS 0 (0 Active)
NUM_OF_FIELDS 38
NUM_OF_PARAMS 0
dbih_clearcom 0x3fcfac8 (com 0x41e4d70, type 3) done.
<> DESTROY(DBI::db=HASH(0x3d18b00)) ignored for outer handle (inner
DBI::db=HASH(0x3d23dc0) has ref cnt 1)
-> DESTROY for DBD::mysql::db (DBI::db=HASH(0x3d23dc0)~INNER)
imp_dbh->pmysql: 42d7440
<- DESTROY= ( undef ) [1 items] at /home/starman/Foo/bin/../lib/Foo.pm
line 34 via at /home/starman/Foo/bin/../lib/Foo.pm line 34
DESTROY (dbih_clearcom) (dbh 0x3d23dc0, com 0x418e4e0, imp
FLAGS 0x180391: COMSET Warn RaiseError PrintError PrintWarn
AutoCommit
PARENT DBI::dr=HASH(0x3c85940)
KIDS 0 (0 Active)
IMP_DATA HASH(0x3d23478)
dbih_clearcom 0x3d23dc0 (com 0x418e4e0, type 2) done.
"
safety or forking the handles?
The same error happens either in a preforked http server environment
(Starman) or a non-preforked one (HTTP::Server::Simple::PSGI)
Setup
DBD:mysql 4.031
DBI 1.633 (DBI 1.633-nothread)
Dancer2 0.158000
Starman,Plack
Ubuntu 14.04 x86_64 x86_64 x86_64 GNU/Linux
Any help deeply appreciated