Bugzilla gives Internal Server Error after Ubuntu and Perl upgrades

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Bugzilla gives Internal Server Error after Ubuntu and Perl upgrades

Joel Griffith
I recently upgraded a Bugzilla installation from Ubuntu 14.04 to 16.04.
This included a Perl upgrade from 5.18 to 5.22.  Bugzilla is configured as
a virtual host in Apache.  After the upgrade, accessing Bugzilla returns an
"Internal Server Error: The server encountered an internal error or
misconfiguration and was unable to complete your request."

The Apache error log /var/log/apache2/error.log has only one line related
to this error:

    [Tue Apr 30 08:34:21.227311 2019] [cgid:error] [pid 90210:tid
86753098675309] [client url:port] End of script output before headers:
index.cgi

I haven't been able to find out a whole lot about this error.  It seems to
refer to the file /var/www/bugzilla/index.cgi, which does exist on the
system:

    $ sudo ls -Alh /var/www/bugzilla/index.cgi
    -rwxr-x--- 1 root www-data 2.2K May 12  2016 /var/www/bugzilla/index.cgi

I've tried to run Bugzilla's checksetup.pl, but it segfaults:

    # perl /var/www/bugzilla/checksetup.pl
    Segmentation fault (core dumped)

Most of the information I've found so far indicates that this is a Perl
error, which I'm willing to believe.  However, I can't go to a Perl forum
and just say, "Bugzilla says it doesn't work."  I know next to nothing
about Perl, the only thing I can think of to check is the Perl version,
which does work without segfaulting:

    $ perl --version
    This is perl 5, version 22, subversion 1 (v5.22.1) built for
x86_64-linux-gnu-thread-multi
    (with 73 registered patches, see perl -V for more detail)
    ...

('$ perl -V' also executes without segfaulting).

Is anyone familiar with this Bugzilla error?  How can I get more
information about what exactly the problem with Perl is?

Thanks!
_______________________________________________
support-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/support-bugzilla
PLEASE put [hidden email] in the To: field when you reply.
Reply | Threaded
Open this post in threaded view
|

Re: Bugzilla gives Internal Server Error after Ubuntu and Perl upgrades

Joel Griffith
Thorsten,

Thanks for your help, you put me on the right path.

After digging into my notes, it looks like using install-module.pl *was* a
last resort.  I originally installed Bugzilla 5.0 on Ubuntu 14.04, and
checksetup.pl complained about the modules DateTime::TimeZone and
Email::Sender.  These are provided by the Ubuntu packages
'libdatetime-timezone-perl' and 'libemail-sender-perl', respectively.

Both packages were installed on 14.04 at the time, but evidently they
weren't at recent enough versions to satisfy Bugzilla, so I had to use
install-module.pl to install more advanced versions of these two modules to
make Bugzilla work.  As of now, on the upgraded 16.04,
'libdatetime-timezone-perl' is at version `1:1.95-1+2016a` and
'libemail-sender-perl' is at version `1.300021-1`, which are the most
up-to-date versions in the 16.04 repo.

This is what's in the `lib/` directory for Bugzilla right now:

DateTime/
Email/
.htaccess
man/
Method/
Module/
Moo/
Moo.pm
Net/
oo.pm
README
Role/
Sub/
Test/
x86_64-linux-gnu-thread-multi/

I'm not quite sure what to do.  It sounded like you recommend that I delete
the DateTime/ and Email/ directories?  Do you expect that to fix the
problem by itself, or is there something else I'll need to do next?

Thanks,
Joel

On Mon, May 6, 2019 at 10:11 AM Thorsten Schöning <[hidden email]>
wrote:

> Guten Tag Joel Griffith,
> am Montag, 6. Mai 2019 um 15:56 schrieben Sie:
>
> > I recently upgraded a Bugzilla installation from Ubuntu 14.04 to 16.04.
>
> Check the lib folder of your Bugzilla installation and if it contains
> anything other than some README and mybe some .htaccess, remove that.
> If so, you have installed Perl packages necessary or suggested by
> Bugzilla using install-module.pl privately and those are preferred
> during loading any Bugzilla-Perl-file and simply break now.
>
> Prefer your package manager instead, which handles upgrades most
> likely. most necessary and many/most optional packages forf Bugzilal
> are available using that. install-mnodule.pl is a last resort only.
>
> Mit freundlichen Grüßen,
>
> Thorsten Schöning
>
> --
> Thorsten Schöning       E-Mail: [hidden email]
> AM-SoFT IT-Systeme      http://www.AM-SoFT.de/
>
> Telefon...........05151-  9468- 55
> Fax...............05151-  9468- 88
> Mobil..............0178-8 9468- 04
>
> AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
> AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow
>
> _______________________________________________
> support-bugzilla mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/support-bugzilla
> PLEASE put [hidden email] in the To: field when you
> reply.
>
_______________________________________________
support-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/support-bugzilla
PLEASE put [hidden email] in the To: field when you reply.
Reply | Threaded
Open this post in threaded view
|

Re: Bugzilla gives Internal Server Error after Ubuntu and Perl upgrades

Joel Griffith
Progress is slow but steady so far.  Again, I'm using Ubuntu 16.04/Perl
5.22, having recently upgraded from Ubuntu 14.04/Perl 5.18.

After following your advice, I was able to run `checksetup.pl` without
segfaulting.  It indicated that I need to run `contrib/recode.pl` to
convert my `bugs` MySQL database from Latin1 to UTF-8.  When I attempt to
run `contrib/recode.pl`, however, I get the error

Can't locate /usr/share/bugzilla/lib/Bugzilla.pm in @INC (you may need to
install the ::usr::share::bugzilla::lib::Bugzilla module) (@INC contains:
/usr/share/bugzilla/lib /usr/share/bugzilla/lib/lib . lib /etc/perl
/usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1
/usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5
/usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22
/usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at
Bugzilla.pm line 48.
BEGIN failed--compilation aborted at Bugzilla.pm line 48.
Compilation failed in require at ./recode.pl line 15.
BEGIN failed--compilation aborted at ./recode.pl line 15.

The directory `/usr/share/bugzilla/` does not exist, so naturally the file
`/usr/share/bugzilla/lib/Bugzilla.pm` will never be found.  `locate`,
however, finds many instances of the file `Bugzilla.pl`:

# locate Bugzilla.pm
/usr/share/perl5/WWW/Bugzilla.pm
/var/www/bugzilla/Bugzilla.pm
/var/www/bugzilla/Bugzilla/BugUrl/Bugzilla.pm
/var/www/bugzilla/Bugzilla/Template/Plugin/Bugzilla.pm
/var/www/bugzilla/Bugzilla/WebService/Bugzilla.pm
/var/www/bugzilla/Bugzilla/WebService/Server/REST/Resources/Bugzilla.pm
/var/www/bugzilla/contrib/Bugzilla.pm
/var/www/bugzilla/docs/lib/Pod/Simple/HTML/Bugzilla.pm
/var/www/bugzilla/docs/lib/Pod/Simple/HTMLBatch/Bugzilla.pm

Assuming that @INC is some sort of path-like variable, and given that I'm
running `recode.pl` from within the `/var/www/bugzilla/contrib/` directory,
`recode.pl` ought to find `/var/www/bugzilla/contrib/Bugzilla.pm`, since
`.` is in my @INC path.

I get zero relevant results from a web search for the "Can't locate
/usr/share/bugzilla/lib/Bugzilla.pm".  I also can't find an Ubuntu package
that gives the `::usr::share::bugzilla::lib::Bugzilla` module.

What exactly is the problem here?

Thanks,
Joel

On Wed, May 8, 2019 at 2:15 AM Thorsten Schöning <[hidden email]>
wrote:

> Guten Tag Joel Griffith,
> am Dienstag, 7. Mai 2019 um 20:14 schrieben Sie:
>
> > I'm not quite sure what to do.  It sounded like you recommend that I
> delete
> > the DateTime/ and Email/ directories?
>
> No, delete everything except .htaccess and README.
>
> > Do you expect that to fix the
> > problem by itself, or is there something else I'll need to do next?
>
> Everything deleted from "lib" and not already installed using APT
> needs to be reinstalled using APT and depending on mod_perl etc. it
> might be necessary to restart your web server. checksetup.pl will tell
> you what's missing after emptying "lib".
>
> Mit freundlichen Grüßen,
>
> Thorsten Schöning
>
> --
> Thorsten Schöning       E-Mail: [hidden email]
> AM-SoFT IT-Systeme      http://www.AM-SoFT.de/
>
> Telefon...........05151-  9468- 55
> Fax...............05151-  9468- 88
> Mobil..............0178-8 9468- 04
>
> AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
> AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow
>
> _______________________________________________
> support-bugzilla mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/support-bugzilla
> PLEASE put [hidden email] in the To: field when you
> reply.
>
_______________________________________________
support-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/support-bugzilla
PLEASE put [hidden email] in the To: field when you reply.
Reply | Threaded
Open this post in threaded view
|

Re: Bugzilla gives Internal Server Error after Ubuntu and Perl upgrades

Joel Griffith
That was it exactly.  I was able to run contrib/recode.pl and finish
running checksetup.pl.  Everything seems to work now!

Thanks again for your help.

Best,
Joel

On Tue, May 14, 2019 at 1:11 AM Thorsten Schöning <[hidden email]>
wrote:

> Guten Tag Joel Griffith,
> am Montag, 13. Mai 2019 um 16:52 schrieben Sie:
>
> > Assuming that @INC is some sort of path-like variable, and given that I'm
> > running `recode.pl` from within the `/var/www/bugzilla/contrib/`
> directory,
> > `recode.pl` ought to find `/var/www/bugzilla/contrib/Bugzilla.pm`, since
> > `.` is in my @INC path.
>
> It does and that's where your problem comes from, look at that file,
> it has the path of your error message hard-coded. The goal really is
> to find Bugzilla.pm in the installation dir of Bugzilla, the
> upper-most one. So try running "contrib/recode.pl" from the
> installation dir, so that "." in @INC contains the Bugzilla root dir
> itself, not "contrib".
>
> Mit freundlichen Grüßen,
>
> Thorsten Schöning
>
> --
> Thorsten Schöning       E-Mail: [hidden email]
> AM-SoFT IT-Systeme      http://www.AM-SoFT.de/
>
> Telefon...........05151-  9468- 55
> Fax...............05151-  9468- 88
> Mobil..............0178-8 9468- 04
>
> AM-SoFT GmbH IT-Systeme, Brandenburger Str. 7c, 31789 Hameln
> AG Hannover HRB 207 694 - Geschäftsführer: Andreas Muchow
>
> _______________________________________________
> support-bugzilla mailing list
> [hidden email]
> https://lists.mozilla.org/listinfo/support-bugzilla
> PLEASE put [hidden email] in the To: field when you
> reply.
>
_______________________________________________
support-bugzilla mailing list
[hidden email]
https://lists.mozilla.org/listinfo/support-bugzilla
PLEASE put [hidden email] in the To: field when you reply.