[Resending, as my first try on March 1st apparently got lost somewhere.
 Apologies if this ends up as a duplicate.]

1. Problem Description:

We're switching to Perl 5.10 in Debian soon, and I'm trying to update the
mod_perl2 package to keep it working. Unfortunately the ModPerl-Registry
test suite is failing on the Sparc architecture because apache2 is killed
by a bus error (SIGBUS).

I can reproduce this with a "clean" current SVN trunk (r631932)
without any Debian-specific changes, and bisecting shows it broke with
r620440. This is still with Perl 5.8.8 (from Debian unstable, package
version 5.8.8-12).

The kernel messages show the SIGBUS is an unaligned access (as usual on
Sparc). I assume the U32->U16 changes in r615751 are related.

 Kernel unaligned access at TPC[45dc4c] handle_futex_death+0x20/0x90

This is Debian bug #468327, http://bugs.debian.org/468327 . I'm Cc'ing
the report as [EMAIL PROTECTED], please keep the Cc
if possible.

I'd be happy to help in any way I can, please let me know if you need
more information or testing.

~/mod-perl2$ make -C ModPerl-Registry/ test
make: Entering directory `/home/buildd/mod-perl2/ModPerl-Registry'
/usr/bin/perl -I../blib/arch -I../blib/lib \
    t/TEST  -clean
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl 
/home/buildd/mod-perl2/ModPerl-Registry/t/TEST -clean
APACHE_TEST_GROUP= APACHE_TEST_HTTPD= APACHE_TEST_PORT= APACHE_TEST_USER= 
APACHE_TEST_APXS= \
    /usr/bin/perl -I../blib/arch -I../blib/lib \
    t/TEST  -bugreport -verbose=0 
[warning] setting ulimit to allow core files
ulimit -c unlimited; /usr/bin/perl 
/home/buildd/mod-perl2/ModPerl-Registry/t/TEST -bugreport -verbose=0
/usr/sbin/apache2  -d /home/buildd/mod-perl2/ModPerl-Registry/t -f 
/home/buildd/mod-perl2/ModPerl-Registry/t/conf/httpd.conf -D APACHE2 -D 
PERL_USEITHREADS
using Apache/2.2.8 (worker MPM)

waiting 180 seconds for server to start: .[  error] 
server has died with status 255 (please examine t/logs/error_log)
[  error] oh crap, server dumped core 
[  error] for stacktrace, run: gdb /usr/sbin/apache2 -core 
/home/buildd/mod-perl2/ModPerl-Registry/core
sh: line 1: 23645 Terminated              /usr/bin/perl 
/home/buildd/mod-perl2/ModPerl-Registry/t/TEST -bugreport -verbose=0
make: *** [run_tests] Error 143

2. Used Components and their Configuration:

*** mod_perl version 2.000004

*** using /home/buildd/mod-perl2/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB     => aprext
  MP_APXS        => /usr/bin/apxs2
  MP_CCOPTS      => -g -Wall
  MP_COMPAT_1X   => 1
  MP_DEBUG       => 1
  MP_GENERATE_XS => 1
  MP_INCLUDE_DIR => /usr/include/apache2 /usr/include/apr-1.0
  MP_LIBNAME     => mod_perl
  MP_TRACE       => 1
  MP_USE_DSO     => 1
  MP_USE_GTOP    => 1
  MP_USE_STATIC  => 0


*** The httpd binary was not found


*** (apr|apu)-config linking info

 -L/usr/lib -laprutil-1  
 -L/usr/lib -lapr-1 -luuid -lrt -lcrypt  -lpthread -ldl 



*** /usr/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 8) configuration:
  Platform:
    osname=linux, osvers=2.6.22.6, archname=sparc-linux-gnu-thread-multi
    uname='linux londo 2.6.22.6 #1 mon sep 10 05:00:47 est 2007 sparc64 
gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN 
-Dcccdlflags=-fPIC -Darchname=sparc-linux-gnu -Dprefix=/usr 
-Dprivlib=/usr/share/perl/5.8 -Darchlib=/usr/lib/perl/5.8 -Dvendorprefix=/usr 
-Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 
-Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.8 
-Dsitearch=/usr/local/lib/perl/5.8.8 -Dman1dir=/usr/share/man/man1 
-Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 
-Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl 
-Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Ud_ualarm -Uusesfio -Uusenm 
-Duseshrplib -Dlibperl=libperl.so.5.8.8 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define 
usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN 
-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN 
-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='4.2.3 20071014 (prerelease) (Debian 4.2.2-3)', 
gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', 
lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.6.1.so, so=so, useshrplib=true, libperl=libperl.so.5.8.8
    gnulibc_version='2.6.1'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT
                        PERL_MALLOC_WRAP THREADS_HAVE_PIDS USE_ITHREADS
                        USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
  Built under linux
  Compiled at Nov  8 2007 10:57:52
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /etc/perl
    /usr/local/lib/perl/5.8.8
    /usr/local/share/perl/5.8.8
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.8
    /usr/share/perl/5.8
    /usr/local/lib/site_perl
    .

*** Packages of interest status:

Apache2            : -
Apache2::Request   : -
CGI                : 3.15
ExtUtils::MakeMaker: 6.30_01
LWP                : 5.808
mod_perl           : -
mod_perl2          : -


3. This is the core dump trace:

Core was generated by `/usr/sbin/apache2 -d 
/home/buildd/mod-perl2/ModPerl-Registry/t -f /home/buildd/'.
Program terminated with signal 10, Bus error.
#0  0x70c16914 in Perl_pop_scope (my_perl=0x13ecb0) at scope.c:143
143     const I32 oldsave = PL_scopestack[--PL_scopestack_ix];
(gdb) bt
#0  0x70c16914 in Perl_pop_scope (my_perl=0x13ecb0) at scope.c:143
#1  0x70bc5798 in Perl_pp_entersub (my_perl=0x13ecb0) at pp_hot.c:2888
#2  0x70b8d87c in Perl_runops_debug (my_perl=0x13ecb0) at dump.c:1459
#3  0x70af9278 in S_call_body (my_perl=0x13ecb0, myop=0xff8ad490, is_eval=1 
'\001') at perl.c:2731
#4  0x70af9650 in Perl_eval_sv (my_perl=0x13ecb0, sv=0x140358, flags=2) at 
perl.c:2793
#5  0x70af9ea8 in Perl_require_pv (my_perl=0x13ecb0, 
    pv=0xfcec8 
"/home/buildd/mod-perl2/ModPerl-Registry/t/conf/modperl_extra_startup.pl") at 
perl.c:2887
#6  0x70a7d6a8 in modperl_require_file (my_perl=0x13ecb0, 
    pv=0xfcec8 
"/home/buildd/mod-perl2/ModPerl-Registry/t/conf/modperl_extra_startup.pl", 
logfailure=1)
    at modperl_util.c:48
#7  0x70a72d14 in modperl_config_apply_PerlRequire (s=0x84640, scfg=0xc8bc8, 
perl=0x13ecb0, p=0x7e0c8)
    at modperl_config.c:427
#8  0x70a69e74 in modperl_startup (s=0x84640, p=0x7e0c8) at mod_perl.c:327
#9  0x70a6983c in modperl_startup (s=0x84640, p=0x7e0c8) at mod_perl.c:207
#10 0x70a6ba9c in modperl_init (base_server=0x84640, p=0x7e0c8) at 
mod_perl.c:458
#11 0x70a6c3c4 in modperl_hook_init (pconf=0x7e0c8, plog=0xb0190, 
ptemp=0xb2198, s=0x84640)
    at mod_perl.c:631
#12 0x0003f620 in ap_run_open_logs ()
#13 0x0002ce8c in main ()

This report was generated by t/REPORT on Sat Mar  1 11:55:17 2008 GMT.

Cheers,
-- 
Niko Tyni   [EMAIL PROTECTED]

Reply via email to