> > > [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]

Reply via email to