Randy Kobes said:
> - the patch posted to this list a few days ago by
> Jeremy Howard for an error about a "Bizarre copy of HASH ...":
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> In Carp::Heavy, change 'DB' to 'DB_tmp':
> Line 39: while (do { { package DB_tmp; @a = caller($i++) } } ) {
> Line 79: @a = @{DB_tmp::args}; # must get local copy of args
>
> In CGI::Carp, change Line 257:
> FROM: my $message = shift;
> TO: my ($message) = @_;
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> also fixes a problem with both Apache-ASP and HTML-Mason
> under Perl-5.6.0 of the (0.6) mod_perl binary. The minimal
> prerequisites for both ASP and Mason are included in this binary.
>
Although these changes get around the immediate segfaults and errors when
using Perl 5.6, there are a few things to be aware of if you are looking
at using mod_perl + Perl 5.6.
Basically, when problems in mod_perl come up after moving to Perl 5.6,
I've found that they tend to appear as segfaults in httpd, which I never
used to get under 5.005_03. Problems I'm aware of:
* I'm still working with Lincoln to properly fix CGI::Carp (the patch I
submitted, and his original code, ignores all but the first argument to
die()). Unfortunately any attempt to access beyond the 1st argument
causes a segfault under certain circumstances
* Many problems appear running under Apache::DB. In particular,
Apache::Util::escape_uri causes a segfault under Apache::DB in some
circumstances, as does Apache::Request::register_cleanup (when called as
a class rather than an object method)
* Slight changes to code can cause a segfault for no apparent reason.
For instance, under Apache::DB, the following causes a crash (from
Email::Valid)...
$Resolver = new Net::DNS::Resolver unless $@;
...while the following works fine...
if (!$@) {
$Resolver = new Net::DNS::Resolver;
}
You may well not hit any of these problems, since many only come up with
certain combinations of modules loaded. Having said that, I'd recommend
avoiding Perl 5.6 for the time being until these issues are sorted out,
since if you do hit one of these issues they are a real pain to debug.
--
Jeremy Howard
[EMAIL PROTECTED]