I've recently been working on migrating our Bugzilla installation from
an Ubuntu 14.04 system to an Ubuntu 18.04 system.
While for the most part this went smoothly (aside from some renamed
packages, which is easy enough to deal with) I did have trouble
getting it to run under mod_perl as we have usually done.
While Apache will quite happily start up, trying to load any page will
fail as follows:
[perl:error] [pid 14783] failed to resolve handler
`Bugzilla::ModPerl::CleanupHandler': Can't locate
Bugzilla/ModPerl/CleanupHandler.pm in @INC (you may need to install
the Bugzilla::ModPerl::CleanupHandler module) at (eval 491) line 1.
Searching around I see that CleanupHandler is defined in mod_perl.pl,
so this should be available already. The Apache setup is identical to
the 14.04 system (where this same logic works perfectly)
If I edit mod_perl..pl and split the CleanupHandler and
ResponseHandler declarations out into their own files (at
Bugzilla/ModPerl/*.pm) then Bugzilla is quite happy to run, aside from
the following warning in the Apache logs for each page that is
Subroutine handler redefined at Bugzilla/ModPerl/ResponseHandler.pm line 19.
Any ideas as to why this change is now required? (Looks like a Perl
behaviour change to me)