Subject: | from gborg: crash on select |
[ this bug has been migrated from Gborg. A new comment as at the bottom. ]
Environment:
FreeBSD: 4.9
DBDPg: 1.22
PostgreSQL: 7.4
Created By: gborg@rbt.ca
Description:
Sorry, I'm not sure which select does it -- but it is one used by PostgreSQL Autodoc against the system tables.
#0 0x480e727a in Perl_newSVpv () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#1 0x4825162f in dbd_st_FETCH_attrib () from /usr/local/lib/perl5/site_perl/5.8.2/mach/auto/DBD/Pg/Pg.so#2 0x4824d88b in XS_DBD__Pg__st_FETCH_attrib () from /usr/local/lib/perl5/site_perl/5.8.2/mach/auto/DBD/Pg/Pg.so#3 0x48234e1f in XS_DBI_dispatch () from /usr/local/lib/perl5/site_perl/5.8.2/mach/auto/DBI/DBI.so#4 0x480dd685 in Perl_pp_entersub () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#5 0x480d6b3d in Perl_runops_standard () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#6 0x48088148 in S_call_body () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#7 0x48087c86 in Perl_call_sv () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#8 0x48087a9a in Perl_call_method () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#9 0x480cdf32 in S_magic_methcall () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#10 0x480ce035 in S_magic_methpack () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#11 0x480ce183 in Perl_magic_getpack () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#12 0x480cbd80 in Perl_mg_get () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#13 0x480e28b4 in Perl_sv_setsv_flags () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#14 0x480e7759 in Perl_newSVsv () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#15 0x48239000 in XS_DBD_____st_fetchrow_hashref () from /usr/local/lib/perl5/site_perl/5.8.2/mach/auto/DBI/DBI.so#16 0x48234e1f in XS_DBI_dispatch () from /usr/local/lib/perl5/site_perl/5.8.2/mach/auto/DBI/DBI.so#17 0x480dd685 in Perl_pp_entersub () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#18 0x480d6b3d in Perl_runops_standard () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#19 0x480877c0 in S_run_body () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#20 0x48087453 in perl_run () from /usr/local/lib/perl5/5.8.2/mach/CORE/libperl.so#21 0x8048fa6 in main ()#22 0x8048e4a in _start ()
Bug Comments: Add A Comment
gborg@rbt.ca : 04/27/2004
The query is below:
SELECT quote_ident('public') AS namespace
, format_type(pg_type.oid, typlen) AS type_name
FROM pg_type
WHERE pg_type.oid = ?;
What you get from the command line:
bash-2.05b$ postgresql_autodoc -d sc
DBD::Pg::st execute failed: ERROR: invalid INTERVAL typmod: 0xc at /usr/local/bin/postgresql_autodoc line 1039.
column number 1 is out of range 0..-1
Segmentation fault (core dumped)
########################
There is reason to believe this bug may be fixed with the CVS version of DBD::Pg. Could you give it a try and let us know? A snapshot from CVS is here:
http://mark.stosberg.com/perl/DBD-Pg-cvs-2004-09-24.tgz
gborg@rbt.ca : 04/27/2004
The value substituted for the ? is '1186'.
1138: foreach my $type (@types) { 1139: $sth_FunctionArg->execute($type);
1140: my $hash = $sth_FunctionArg->fetchrow_hashref;
gborg@rbt.ca : 04/27/2004
Sorry, that should be:
1038: foreach my $type (@types) {
1039: $sth_FunctionArg->execute($type);
1041: my $hash = $sth_FunctionArg->fetchrow_hashref;
adrian.head@bytecomm.com.au : 04/27/2004
This happens on my machine as well.
The details are:
akh@heady tmp $ postgresql_autodoc -d user_db -h localhost -u postgres -f
userdb_multisync_datareduction
DBD::Pg::st execute failed: ERROR: invalid INTERVAL typmod: 0xc
at /usr/local/bin/postgresql_autodoc line 1043.
column number 1 is out of range 0..-1
Segmentation fault
========
This happens with both DBD-Pg 1.22 & 1.31
DBI = 1.38
Postgres = 7.4.2
Perl = 5.8.2