DESTROY ignored for outer handle

Nikos Vaggalis <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.general
Message-ID <CA+PXb4bFpiNFj5GVtOc0Lhpddit70rKMBmWPAGtYjsP-KN0Hmw@mail.gmail.com>
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
> 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
> DBD::mysql::st):
>        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
> DBD::mysql::db):
>        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 thread
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.