On Oct 22, 2012, at 10:57 AM, Tim Bunce <tim.bu...@pobox.com> wrote:

> On Sun, Oct 21, 2012 at 03:59:56PM +0200, Henri Asseily wrote:
>> Some more comments from the user (he should probably modernize his whole 
>> stack but that's not the point here :)):
> 
> What perl and DBI versions?

He's using:
Perl 5.10.0
DBI 1.609
Apache::DBI 1.10
DBD::Pg 2.18

This stuff is relatively old, and he says they're in the process of upgrading 
to:
Perl 5.16.0
DBI 1.617
Apache::DBI 1.11
DBD::Pg 2.18

Sorry I can't set up a test environment for this and I have to go through him.

> 
>> From our testing, somewhere $dbh gets overrun by something but we
>> could not tell if it was in DBI/DBD::Pg/Apache::DBI or DBIx::HA. What
>> we saw was that on attempt #1 and #2, it wouldn't fail but on attempt
>> #3 $dbh was not pointing to a database handle anymore but a scalar
>> reference to the letter 'n'. Very odd and something we couldn't track
>> down who was stomping on $dbh.
> 
>> Assertion error from swap_inner_handle:
>> 
>> 'PERL_BACKTRACE' => '** Assertion i == (((((SV *) (name_av))->sv_flags & 
>> 0x00800000)) ? Perl_mg_size(my_perl, (SV *) name_av) : ((XPVAV*) 
>> (name_av)->sv_any)->xav_fill)+1 failed: file "DBI.xs", line 2001
> 
> That doesn't ring any bells.
> 
> Maybe try a perl built with -DDEBUGGING enabled.
> 
> If that doesn't shed any useful light, and you've a small test case,
> then try using valgrind with a perl built with -DPURIFY.
> 
> Good luck!

Thanks I'll let him try that.

Reply via email to