Loading ...
Sorry, an error occurred while loading the content.

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

Expand Messages
  • Hyoung-Kee Choi
    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
    Message 1 of 5 , Dec 26, 2003
    • 0 Attachment
      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@....





      --
      Reporting bugs: http://perl.apache.org/bugs/
      Mail list info: http://perl.apache.org/maillist/modperl.html
    • Hyoung-Kee Choi
      I am reposing the following bug report again with a hope that I would get an answer soon. ... -- Reporting bugs: http://perl.apache.org/bugs/ Mail list info:
      Message 2 of 5 , Jan 6, 2004
      • 0 Attachment
        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@...]
        > Sent: Friday, December 26, 2003 11:01 AM
        > To: modperl@...
        > 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@....
        >
        >
        >
        >
        >
        > --
        > 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
      • Stas Bekman
        ... 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
        Message 3 of 5 , Jan 6, 2004
        • 0 Attachment
          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@... 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
        • Hyoung-Kee Choi
          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
          Message 4 of 5 , Jan 6, 2004
          • 0 Attachment
            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@...]
            > Sent: Tuesday, January 06, 2004 1:13 PM
            > To: Hyoung-Kee Choi
            > Cc: modperl@...
            > 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@... 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
          Your message has been successfully submitted and would be delivered to recipients shortly.