You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Hyoung-Kee Choi <hk...@ece.gatech.edu> on 2004/01/06 17:43:17 UTC

RE: [mp2] mod_perl 2.0 "make test" generated a coredump

I am reposing the following bug report again with a hope that I would get an
answer soon.

> -----Original Message-----
> From: Hyoung-Kee Choi [mailto:hkchoi@lancope.com]
> Sent: Friday, December 26, 2003 11:01 AM
> To: modperl@perl.apache.org
> Subject: [mp2] mod_perl 2.0 "make test" generated a coredump
>
>
> My system has httpd 2.0 compiled with
> "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" . "make test" of mod_perl has
> genearted a coredump with the following backtrace.
>
> ----------------------------------
>
> (gdb) backtrace
> #0  0x405c1bec in ap_pcw_walk_files_config (pconf=0x809d078, s=0x80b7230,
>     dconf=0x80b7908, modp=0x405d3a00,
>     dir_cb=0x405c18b0 <modperl_hash_handlers_dir>, data=0x0)
>     at modperl_pcw.c:52
> #1  0x405c1dae in ap_pcw_walk_config (pconf=0x809d078, s=0x80b7230,
>     modp=0x405d3a00, data=0x0, dir_cb=0x405c18b0
> <modperl_hash_handlers_dir>,
>     srv_cb=0x405c1960 <modperl_hash_handlers_srv>) at modperl_pcw.c:106
> #2  0x405c1abc in modperl_mgv_hash_handlers (p=0x0, s=0x0) at
> modperl_mgv.c:485
> #3  0x405b63ff in modperl_hook_post_config (pconf=0x809d078,
> plog=0x80c7120,
>     ptemp=0x80c9128, s=0x80b7230) at mod_perl.c:483
> #4  0x08065e8a in ap_run_post_config ()
> #5  0x0806b2bb in main ()
> #6  0x403aa49d in __libc_start_main () from /lib/libc.so.6
> (gdb) print dconf
> $1 = (core_dir_config *) 0x80b7908
> (gdb) display dconf
> (gdb) print dconf->sec_file
> $2 = (apr_array_header_t *) 0x0
>
> ---------------------------------------
>
> But, mod_perl works fine with httpd w/o largefile support.
>
>
>
> -------------8<---------- Start Bug Report ------------8<----------
> 1. Problem Description:
>
>   [DESCRIBE THE PROBLEM HERE]
>
> 2. Used Components and their Configuration:
>
> *** using
> /usr/src/redhat/BUILD/mod_perl-1.99_07/t/../lib/Apache/BuildConfig.pm
> *** Makefile.PL options:
>   MP_APXS        => /usr/sbin/apxs
>   MP_DEBUG       => 1
>   MP_GENERATE_XS => 1
>   MP_LIBNAME     => mod_perl
>   MP_TRACE       => 1
>   MP_USE_DSO     => 1
>   MP_USE_STATIC  => 1
>
>
> *** /usr/sbin/httpd -V
> Server version: Apache/2.0.40
> Server built:   Dec 19 2003 15:52:17
> Server's Module Magic Number: 20020628:0
> Architecture:   32-bit
> Server compiled with....
>  -D APACHE_MPM_DIR="server/mpm/prefork"
>  -D APR_HAS_SENDFILE
>  -D APR_HAS_MMAP
>  -D APR_HAVE_IPV6
>  -D APR_USE_SYSVSEM_SERIALIZE
>  -D APR_USE_PTHREAD_SERIALIZE
>  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
>  -D APR_HAS_OTHER_CHILD
>  -D AP_HAVE_RELIABLE_PIPED_LOGS
>  -D HTTPD_ROOT="/etc/httpd"
>  -D SUEXEC_BIN="/usr/sbin/suexec"
>  -D DEFAULT_PIDLOG="logs/httpd.pid"
>  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
>  -D DEFAULT_LOCKFILE="logs/accept.lock"
>  -D DEFAULT_ERRORLOG="logs/error_log"
>  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
>  -D SERVER_CONFIG_FILE="conf/httpd.conf"
>
>
> *** /usr/bin/perl -V
> Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
>   Platform:
>     osname=linux, osvers=2.4.21-1.1931.2.382.entsmp,
> archname=i386-linux-thread-multi
>     uname='linux str'
>
>
>
>
> config_args='-des -Doptimize=-O2 -g -pipe -march=i386 -mcpu=i686
> -Dmyhostnam
> e=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red Hat,
> Inc. -Dinstallprefix=/usr -Dprefix=/usr -Darchname=i386-linux
> -Dvendorprefix
> =/usr -Dsiteprefix=/usr -Dotherlibdirs=/usr/lib/perl5/5.8.0
> -Duseshrplib -Du
> sethreads -Duseithreads -Duselargefiles -Dd_dosuid
> -Dd_semctl_semun -Di_db -
> Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -Duseperlio
> -Dinstallus
> rbinperl -Ubincompat5005 -Uversiononly -Dpager=/usr/bin/less -isr'
>     hint=recommended, useposix=true, d_sigaction=define
>     usethreads=define use5005threads=undef'
>  useithreads=define usemultiplicity=
>     useperlio= d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=un uselongdouble=
>     usemymalloc=, bincompat5005=undef
>   Compiler:
>     cc='gcc', ccflags
> ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING
> -fno-strict-ali
> asing -I/usr/local/include -D_LARGEFILE_SOURCE
> -D_FILE_OFFSET_BITS=64 -I/usr
> /include/gdbm',
>     optimize='',
>
>
>
>
> cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
> -DDEBUGGING -fno-st
> rict-aliasing -I/usr/local/include -I/usr/include/gdbm'
>     ccversion='', gccversion='3.2.2 20030222 (Red Hat Linux 3.2.2-5)',
> gccosandvers=''
> gccversion='3.2.2 200302'
>     intsize=r, longsize=r, ptrsize=5, doublesize=8, byteorder=1234
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
>     ivtype='long'
> k', ivsize=4'
> ivtype='l, nvtype='double'
> o_nonbl', nvsize=, Off_t='', lseeksize=8
>     alignbytes=4, prototype=define
>   Linker and Libraries:
>     ld='gcc'
> l', ldflags =' -L/u'
>     libpth=/usr/local/lib /lib /usr/lib
>     libs=-lnsl -lgdbm -ldb -ldl -lm -lpthread -lc -lcrypt -lutil
>     perllibs=
>     libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libper
>     gnulibc_version='2.3.2'
>   Dynamic Linking:
>     dlsrc=dl_dlopen.xs, dlext=so', d_dlsymun=undef,
> ccdlflags='-rdynamic
> -Wl,-rpath,/usr/lib/perl5/5.8.0/i386-linux-thread-multi
> /CORE'
>     cccdlflags='-fPIC'
> ccdlflags='-rdynamic -Wl,-rpath,/usr/lib/perl5', lddlflags='s
> Unicode/Normalize XS/A'
>
>
> Characteristics of this binary (from libperl):
>   Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS
> USE_LARGE_FILES
> PERL_IMPLICIT_CONTEXT
>   Locally applied patches:
>   	MAINT18379
>   Built under linux
>   Compiled at Aug 13 2003 11:47:58
>   %ENV:
>     PERL_LWP_USE_HTTP_10="1"
>   @INC:
>     /usr/lib/perl5/5.8.0/i386-linux-thread-multi
>     /usr/lib/perl5/5.8.0
>     /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi
>     /usr/lib/perl5/site_perl/5.8.0
>     /usr/lib/perl5/site_perl
>     /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi
>     /usr/lib/perl5/vendor_perl/5.8.0
>     /usr/lib/perl5/vendor_perl
>     /usr/lib/perl5/5.8.0/i386-linux-thread-multi
>     /usr/lib/perl5/5.8.0
>     .
>
>
> 3. This is the core dump trace: (if you get a core dump):
>
>   [CORE TRACE COMES HERE]
>
> This report was generated by ./REPORT on Tue Dec 23 22:33:48 2003 GMT.
>
> -------------8<---------- End Bug Report --------------8<----------
>
> Note: Complete the rest of the details and post this bug report to
> dev <at> perl.apache.org. To subscribe to the list send an empty
> email to dev-subscribe@perl.apache.org.
>
>
>
>
>
> --
> Reporting bugs: http://perl.apache.org/bugs/
> Mail list info: http://perl.apache.org/maillist/modperl.html
>
>


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


RE: [mp2] mod_perl 2.0 "make test" generated a coredump

Posted by Hyoung-Kee Choi <hk...@ece.gatech.edu>.
I was able to manipulate both apache 1.xx, moperl 1.xx  and wget to support
large files. This manipulation was turned out to work fine so far. The
attempt to apply the manipulation to a newer version has failed because the
coredump. My  rationale on the cause of the coredump is not related to the
large file support in apache but more or less related to an initialization
of the "core_dir_config" structure.

I will certainly follow your suggestion of the rebuilding.

THank you.

> -----Original Message-----
> From: Stas Bekman [mailto:stas@stason.org]
> Sent: Tuesday, January 06, 2004 1:13 PM
> To: Hyoung-Kee Choi
> Cc: modperl@perl.apache.org
> Subject: Re: [mp2] mod_perl 2.0 "make test" generated a coredump
>
>
> Hyoung-Kee Choi wrote:
> > I am reposing the following bug report again with a hope that I
> would get an
> > answer soon.
>
> AFAIK, Apache doesn't support large files on linux. You can enable them
> manually by adding "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64", but the
> consequences could be bad. This is mainly because of the sendfile(2) API.
> Though you get the segfault in a different place, so probably the
> cause is
> different. Usually things segfault when either Apache and Perl don't have
> large file support, when the variable length mismatch (e.g. off_t has a
> different size w/ and w/o largefile support).
>
> Can you please rebuild with the latest mod_perl 1.99_12 and post
> a new report
> and a new backtrace if it still segfaults? Thanks.
>
> __________________________________________________________________
> Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
> http://stason.org/     mod_perl Guide ---> http://perl.apache.org
> mailto:stas@stason.org http://use.perl.org http://apacheweek.com
> http://modperlbook.org http://apache.org   http://ticketmaster.com
>
>


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html


Re: [mp2] mod_perl 2.0 "make test" generated a coredump

Posted by Stas Bekman <st...@stason.org>.
Hyoung-Kee Choi wrote:
> I am reposing the following bug report again with a hope that I would get an
> answer soon.

AFAIK, Apache doesn't support large files on linux. You can enable them 
manually by adding "-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64", but the 
consequences could be bad. This is mainly because of the sendfile(2) API. 
Though you get the segfault in a different place, so probably the cause is 
different. Usually things segfault when either Apache and Perl don't have 
large file support, when the variable length mismatch (e.g. off_t has a 
different size w/ and w/o largefile support).

Can you please rebuild with the latest mod_perl 1.99_12 and post a new report 
and a new backtrace if it still segfaults? Thanks.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com


-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html