> Hopefully you have a startup script you use to load various modules
> into the server memory.  If so, could you add the following to it:
> 
> BEGIN {
>   $ENV{DBI_TRACE} = 2;
> }
> 
> This will cause DBI and Apache::DBI (as the case may be) to put a LOT
> of information into the error file.  This might help pinpoint the
> problem.  It sure helped me a lot.  Then, if it's not readily
> apparent what the problem is, post the relavent output so we can take
> another look at it.

Thanks for the pointer about DBI_TRACE; I tried it and
collected some output.  The increased level of output 
still doesn't allow me personally to figure out what's
wrong; I'm still too new to mod_perl.

The output I'm getting now looks like:

httpd_1.3.4+raven: [Thu Oct 28 06:56:54 1999] [error] [Thu Oct 28 06:56:54 1999] 
headline.pm: IEO/headline.pm did not return a true value at (eval 53) line 2.

[Thu Oct 28 06:56:54 1999] null: ------------------------------
[Thu Oct 28 06:56:54 1999] null: About to open database at /dev/null line 0
    -> DBI->Apache::DBI::connect(DBI:mysql:database=news, root)
    -> DBI->install_driver(mysql) for perl=5.00502 pid=28905 ruid=20 euid=20
       install_driver: DBD::mysql loaded (version 2.0406)
    <- install_driver= DBI::dr=HASH(0x3c5cbc)
    <- FETCH= 'mysql' ('Name' from cache) at DBI.pm line 64.
    -> connect for DBD::mysql::dr (DBI::dr=HASH(0x3c5cbc)~0x3b9394 'database=news' 
'root' '' HASH(0x4e8af8))
imp_dbh->connect: dsn = database=news, uid = root, pwd = 
imp_dbh->MyLogin: dbname = news, uid = root, pwd = NULL,host = NULL, port = NULL
imp_dbh->MyConnect: host = NULL, port = 0, uid = root, pwd = NULL
imp_dbh->MyConnect: client_flags = 0
    <- connect= DBI::db=HASH(0x3b9480) at DBI.pm line 120.
    -> STORE for DBD::mysql::db (DBI::db=HASH(0x47bf8c)~INNER 'PrintError' 1)
    <- STORE= 1 at DBI.pm line 407.
    -> STORE for DBD::mysql::db (DBI::db=HASH(0x47bf8c)~INNER 'AutoCommit' 1)
    <- STORE= 1 at DBI.pm line 407.
    <- connect= Apache::DBI::db=HASH(0x3b9480)
[Thu Oct 28 06:56:54 1999] null: The db is now open at /dev/null line 0
    -> prepare for DBD::mysql::db (Apache::DBI::db=HASH(0x3b9480)~0x47bf8c 'SELECT 
headline, filename FROM story')
Setting mysql_use_result to 0
    <- prepare= DBI::st=HASH(0x55757c) at headline.pm line 26.
[Thu Oct 28 06:56:54 1999] null: We've done the prepare at /dev/null line 0
    -> execute for DBD::mysql::st (DBI::st=HASH(0x55757c)~0x3b951c)
    -> dbd_st_execute for 003b9558
ase Selected error 30 recorded: ase Selected
    <- dbd_st_execute -2 rows
    !! ERROR: 30 'ase Selected'
    <- execute= undef at headline.pm line 30.
[Thu Oct 28 06:56:54 1999] null: DBD::mysql::st execute failed: ase Selected at 
/usr/local/apache/smtp/perl-scripts/IEO/headline.pm line 30.
    -> rows for DBD::mysql::st (DBI::st=HASH(0x55757c)~0x3b951c)
    <- rows= -2 at headline.pm line 31.
    -> rows for DBD::mysql::st (DBI::st=HASH(0x55757c)~0x3b951c)
    <- rows= -2 at headline.pm line 33.
[Thu Oct 28 06:56:54 1999] null: We got -2 records at /dev/null line 0
    -> fetchrow for DBD::mysql::st (DBI::st=HASH(0x55757c)~0x3b951c)
    -> dbd_st_fetch for 003b9558, chopblanks 0
fetch() without execute() error 19 recorded: fetch() without execute()
    !! ERROR: 19 'fetch() without execute()'
    <- fetchrow= ( ) [0 items] at headline.pm line 34.
[Thu Oct 28 06:56:54 1999] null: DBD::mysql::st fetchrow failed: fetch() without 
execute() at /usr/local/apache/smtp/perl-scripts/IEO/headline.pm line 34.
    -> DESTROY for DBD::mysql::st (DBI::st=HASH(0x3b951c)~INNER)
    <- DESTROY= undef at unknown location!

It appears that something truly funky is happening 
with the $dbh->execute() call.  In the output above
dbd_st_execute is logging an "ERROR: 30 'ase Selected'";
where is error 30 defined? Is that coming from DBD, mod_perl,
or mysql?  It appears that an incomplete chunk of text
is coming out as a text message.

Any pointers on where I ought to look next?

Dan Mahoney
[EMAIL PROTECTED]

Reply via email to