> > > [Wed May 24 19:58:28 2000] [error] PerlRun: `Bizarre copy of HASH in aassign
> > > at /usr5/perl/lib/5.6.0/Carp/Heavy.pm line 79.
> > > ...
> > Do the following:
> >
> > 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) = @_;
> > ...
> do you have small test case to reproduce this bug?
Well, that turned out to be a challenging request! Here's a module that
always segfaults, if you run with
httpd -X -Dperldb -Dperlsi
#!/usr/bin/perl -w
package MailApp::temp;
use CGI::Carp ;
use Apache ();
if (Apache->server->dir_config('InDB')) {
1;
}
use Email::Valid ();
$a = Email::Valid->mx(1);
1;
----
And here's my perl.conf (which defines the perldb and perlsi symbols):
<IfDefine perldb>
PerlSetVar InDB 1
PerlFreshRestart On
</IfDefine>
PerlRequire conf/startup.pl
<IfDefine perlsi>
PerlModule Apache::StatINC
PerlInitHandler Apache::StatINC
PerlSetVar StatINCDebug On
</IfDefine>
<IfDefine !perldb>
PerlTaintCheck On
</IfDefine>
<Location /test>
<IfDefine perldb>
PerlFixupHandler Apache::DB
</IfDefine>
SetHandler perl-script
PerlHandler MailApp::temp
Order deny,allow
Allow from all
</Location>
Note that there's no 'use Apache::DB'--httpd segfaults with or without
it... So it doesn't seem to be a debugger bug.
If I remove _any_ of the lines from the test module, I don't get the
error. That's why it's so hard to debug and replicate.
--
Jeremy Howard
[EMAIL PROTECTED]