Troubleshooting

The Bugzilla Guide - 2.18rc1 Release
Prev | Chapter 2. Installing Bugzilla | Next

# 2.6. Troubleshooting

This section gives solutions to common Bugzilla installation problems. If none of the section headings seems to match your problem, read the general advice.

## 2.6.1. General Advice

If you can't get `checksetup.pl` to run to completion, it normally explains what's wrong and how to fix it. If you can't work it out, or if it's being uncommunicative, post the errors in the netscape.public.mozilla.webtools newsgroup.

If you have made it all the way through Section 2.1 (Installation) and Section 2.2 (Configuration) but accessing the Bugzilla URL doesn't work, the first thing to do is to check your webserver error log. For Apache, this is often located at `/etc/logs/httpd/error_log`. The error messages you see may be self-explanatory enough to enable you to diagnose and fix the problem. If not, see below for some commonly-encountered errors. If that doesn't help, post the errors to the newsgroup.

## 2.6.2. The Apache webserver is not serving Bugzilla pages

After you have run checksetup.pl twice, run testserver.pl http://yoursite.yourdomain/yoururl to confirm that your webserver is configured properly for Bugzilla.

    ./testserver.pl http://landfill.bugzilla.org/bugzilla-tip
    TEST-OK Webserver is running under group id in $webservergroup.
    TEST-OK Got ant picture.
    TEST-OK Webserver is executing CGIs.
    TEST-OK Webserver is preventing fetch of http://landfill.bugzilla.org/bugzilla-tip/localconfig.

## 2.6.3. I installed a Perl module, but `checksetup.pl` claims it's not installed!

You have two versions of Perl on your machine. You are installing modules into one, and Bugzilla is using the other. Rerun the CPAN commands (or manual compile) using the full path to Perl from the top of `checksetup.pl`. This will make sure you are installing the modules in the right place.

## 2.6.4. Bundle::Bugzilla makes me upgrade to Perl 5.6.1

Try executing perl -MCPAN -e 'install CPAN' and then continuing.

Certain older versions of the CPAN toolset were somewhat naive about how to upgrade Perl modules. When a couple of modules got rolled into the core Perl distribution for 5.6.1, CPAN thought that the best way to get those modules up to date was to haul down the Perl distribution itself and build it. Needless to say, this has caused headaches for just about everybody. Upgrading to a newer version of CPAN with the commandline above should fix things.

## 2.6.5. DBD::Sponge::db prepare failed

The following error message may appear due to a bug in DBD::mysql (over which the Bugzilla team have no control):

     DBD::Sponge::db prepare failed: Cannot determine NUM_OF_FIELDS at D:/Perl/site/lib/DBD/mysql.pm line 248.
      SV = NULL(0x0) at 0x20fc444
      REFCNT = 1
      FLAGS = (PADBUSY,PADMY)

To fix this, go to `<path-to-perl>/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 added to NAME.)

## 2.6.6. cannot chdir(/var/spool/mqueue)

If you are installing Bugzilla on SuSE Linux, or some other distributions with "paranoid" security options, it is possible that the checksetup.pl script may fail with the error:

    cannot chdir(/var/spool/mqueue): Permission denied

This is because your `/var/spool/mqueue` directory has a mode of "drwx------". Type chmod 755 `/var/spool/mqueue` as root to fix this problem.

## 2.6.7. Your vendor has not defined Fcntl macro O_NOINHERIT

This is caused by a bug in the version of File::Temp that is distributed with perl 5.6.0. Many minor variations of this error have been reported:

    Your vendor has not defined Fcntl macro O_NOINHERIT, used
    at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 208.

    Your vendor has not defined Fcntl macro O_EXLOCK, used
    at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 210.

    Your vendor has not defined Fcntl macro O_TEMPORARY, used
    at /usr/lib/perl5/site_perl/5.6.0/File/Temp.pm line 233.

Numerous people have reported that upgrading to version 5.6.1 or higher solved the problem for them. A less involved fix is to apply the following patch, which is also available as a patch file.

    --- File/Temp.pm.orig   Thu Feb  6 16:26:00 2003
    +++ File/Temp.pm        Thu Feb  6 16:26:23 2003
    @@ -205,6 +205,7 @@
         # eg CGI::Carp
         local $SIG{__DIE__} = sub {};
         local $SIG{__WARN__} = sub {};
    +    local *CORE::GLOBAL::die = sub {};
         $bit = &$func();
         1;
       };
    @@ -226,6 +227,7 @@
         # eg CGI::Carp
         local $SIG{__DIE__} = sub {};
         local $SIG{__WARN__} = sub {};
    +    local *CORE::GLOBAL::die = sub {};
         $bit = &$func();
         1;
       };

Prev | Home | Next
UNIX (non-root) Installation Notes | Up | Administering Bugzilla