Closed Bug 100259 Opened 24 years ago Closed 24 years ago

known install issues: DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS

Categories

(Bugzilla :: Documentation, defect, P1)

2.14
x86
Windows 2000
defect

Tracking

()

RESOLVED FIXED
Bugzilla 2.16

People

(Reporter: haakon.dybdahl, Assigned: bz)

References

Details

Attachments

(1 file)

Had to change sponge.pm (/Perl/site/lib/DBD), line 63 and line 64 from } elsif ($attribs->{'NAME'}) { $numFields = @{$attribs->{NAME}}; to } elsif ($attribs->{'NAMES'}) { $numFields = @{$attribs->{NAMES}}; Using following versions: Checking perl modules ... Checking for DBI (v1.13) ok: found v1.14 Checking for Data::Dumper (any) ok: found v2.102 Checking for DBD::mysql (v1.2209) ok: found v2.0400 Checking for Date::Parse (any) ok: found v2.20 Checking for CGI::Carp (any) ok: found v1.20 The following Perl modules are optional: Checking for GD (v1.19) ok: found v1.27 Checking for Chart::Base (v0.99) ok: found v0.99 Checking for XML::Parser (any) ok: found v2.27 Error shown: DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/l ib/DBD/mysql.pm line 248. SV = NULL(0x0) at 0x20fc444 REFCNT = 1 FLAGS = (PADBUSY,PADMY) Use of uninitialized value in subroutine entry at D:/Perl/site/lib/DBD/mysql.pm line 250 (#1) (W uninitialized) An undefined value was used as if it were already defined. It was interpreted as a "" or a 0, but maybe it was a mistake. To suppress this warning assign a defined value to your variables. To help you figure out what was undefined, perl tells you what operation you used the undefined value in. Note, however, that perl optimizes your program and the operation displayed in the warning may not necessarily appear literally in your program. For example, "that $foo" is usually optimized into "that " . $foo, and the warning will refer to the concatenation (.) operator, even though there is no . in your program. Uncaught exception from user code: Invalid DBI handle at D:/Perl/site/lib/DBD/mysql.pm line 250. DBD::mysql::db::table_info('DBI::db=HASH(0x1e3dbf0)') called at D:/Perl/ site/lib/DBI.pm line 1016 DBD::_::db::tables('DBI::db=HASH(0x1e3dbf0)') called at C:\bugzilla\sour ce\checksetup.pl line 1137 Thanks to psycko-hacker Harald Bakken for great help!
This is not a Bugzilla bug, but a bug in the DBD::mysql module, which we have no power over. Bug reports and support for this module are handled on a mailing list... please report it there. From the DBD::mysql docs: This module is maintained and supported on a mailing list, msql-mysql-modules@lists.mysql.com To subscribe to this list, send a mail to msql-mysql-modules-subscribe@lists.mysql.com or msql-mysql-modules-digest-subscribe@lists.mysql.com Mailing list archives are available at http://www.progressive-comp.com/Lists/?l=msql-mysql-modules Additionally you might try the dbi-user mailing list for questions about DBI and its modules in general. Subscribe via http://www.fugue.com/dbi Mailing list archives are at http://www.rosat.mpe-garching.mpg.de/mailing-lists/PerlDB-Interest/ http://outside.organic.com/mail-archives/dbi-users/ http://www.coe.missouri.edu/~faq/lists/dbi.html
Status: NEW → RESOLVED
Closed: 24 years ago
Resolution: --- → INVALID
*** Bug 101639 has been marked as a duplicate of this bug. ***
*** Bug 101920 has been marked as a duplicate of this bug. ***
If this is a bug in DBD::MySQL, however, it needs to be documented. Are there any older versions of DBD::MySQL which, perhaps, work correctly? Reopening, assigning to myself.
Status: RESOLVED → REOPENED
Resolution: INVALID → ---
Reassigning to myself.
Assignee: zach → barnboy
Status: REOPENED → NEW
Status: NEW → ASSIGNED
->documentation
Component: Installation & Upgrading → Documentation
*** Bug 103741 has been marked as a duplicate of this bug. ***
Priority: -- → P1
Target Milestone: --- → Bugzilla 2.16
David Mooney emailed me the above file privately. On 11/2/01 4:50 PM -0500, David Mooney wrote: > I figured this problem out a couple of months ago but I don't remember where > I found the answer. It turns out there is a bug is sponge.pm and you have to > fix it yourself because apparently the official fix hasn't been released > yet. > > Attached is the correct sponge.pm. Backup your original copy just in case > but this should fix the problem. > > It goes in d:\perl\site\lib\DBD\ or whatever your perl path is. > > Matt: Perhaps you could add this to the win32 section of your install docs?
This is not just a W2K bug but affects all systems using DBD:mysql. We encountered this issue on W2K as well as on Debin.
Status: ASSIGNED → NEW
*** Bug 129991 has been marked as a duplicate of this bug. ***
Rudolf: are you sure? We use Debian (Potato) on our test server (http://landfill.bugzilla.org) and have never run into this. Of course, we used CPAN to install our Perl modules and not the Debian packages... Since the CPAN versions (which are built from source) don't have this problem, I'd file a bug on Debian if that's true.
Dave: We're using Debian 2.2 (Potato) and the modules from the distribution, though we fiddled around a bit with Perl so I'm not exactly sure whether or not these are still the original versions: > Checking perl modules ... > Checking for DBI (v1.13) ok: found v1.13 > Checking for Data::Dumper (any) ok: found v2.101 > Checking for DBD::mysql (v1.2209) ok: found v2.0402 > Checking for Date::Parse (any) ok: found v2.22 > Checking for CGI::Carp (any) ok: found v1.13 I rather think we got DBD::myperl (v2.0402) from somewhere other than the stable Debian distribution. :-) Anyway, the point is that this isn't primarily a platform dependent issue.
from npmw: So in 2 words, if someone encounters the following problem: "DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/l ib/DBD/mysql.pm line 248. SV = NULL(0x0) at 0x20fc444 REFCNT = 1 FLAGS = (PADBUSY,PADMY)" just go to Perl/sit/lib/DBD/sponge.pm in your perl installation and replace my $numFields; if ($attribs->{'NUM_OF_FIELDS'}) { $numFields = $attribs->{'NUM_OF_FIELDS'}; } elsif ($attribs->{'NAME'}) { $numFields = @{$attribs->{NAME}}; by my $numFields; if ($attribs->{'NUM_OF_FIELDS'}) { $numFields = $attribs->{'NUM_OF_FIELDS'}; } elsif ($attribs->{'NAMES'}) { $numFields = @{$attribs->{NAMES}}; ( note the S to NAME ) Cedric Perthuis.
Summary: checksetup.pl fails during creation of tables → known install issues: DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS
Barnboy changed his email address and opened a new account instead of having the address changed on his existing one. Reassigning all docs bugs to his new account.
Assignee: barnboy → mbarnson
*** Bug 136918 has been marked as a duplicate of this bug. ***
This could go in Installation General Notes (3.5). Gerv
Documented in Troubleshooting section on 2.16 branch. Gerv
Status: NEW → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → FIXED
*** Bug 154595 has been marked as a duplicate of this bug. ***
QA Contact: matty_is_a_geek → default-qa
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: