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

Re: [mp2] repeatable segfault at ap_get_module_config

Expand Messages
  • Philippe M. Chiasson
    ... Makes sense, since that s not going thru mod_perl anymore. ... Nope, I was only asking if there was a way to reduce this bug to a single script of a few
    Message 1 of 5 , Oct 21, 2005
    • 0 Attachment
      Ali ISIK wrote:
      > Philippe,
      > Thank you for your help. Please find the gdb
      > output below. m doesn't seem to point to
      > anything.
      > Here is some more information that may be relevant.
      > (1) The segfault seems to happen *after* the http session
      > is complete, perhaps during some destroy/garbage-collect
      > sequence. That is, the browser gets what it asks for.
      > If you have tens of server children, the user does not
      > feel that anything is amiss.
      > (2) When I configure the /perl/ directory to be the
      > equivalent of /cgi-bin/ (ScriptAlias), all seems to
      > be fine; no error messages in the log.

      Makes sense, since that's not going thru mod_perl anymore.

      > (3) here is the end of http.conf:
      > [...]
      > On 10/21/05, Philippe M. Chiasson <gozer@...> wrote:
      >>Ali ISIK wrote:
      >>>-------------8<---------- Start Bug Report ------------8<----------
      >>>1. Problem Description:
      >>>I am building a web application with a Postgres backend using
      >>>Class::DBI. Some scripts generate repeatable Segmentation
      >>>Faults on their second invocation. I tried compiling everything
      >>>with cc and then compiling everything with gcc. Still the same
      >>>segfaults. Perl, Apache, mod_perl and the CPAN modules are
      >>>all the latest stable versions.
      >>Any chance at reducing these scripts to a short example that causes
      >>this bug ?
      > There are so many modules that you would curse at me
      > if I sent you all that stuff. I can create a tarball of the
      > used modules and send that as an attachment, but
      > even that would require some work, as I would like
      > to reduce the info-noise as much as possible.
      > Please tell me if you would like this.

      Nope, I was only asking if there was a way to reduce this bug to
      a single script of a few lines ;-) No tarballs please!

      >>>3. This is the core dump trace: (if you get a core dump):
      >>>(gdb) where
      >>>#0 ap_get_module_config (cv=0x30303320, m=0x30303320) at util_debug.c:106
      >>>#1 0x40331f30 in Perl_pp_entersub () at pp_hot.c:2888
      >>> [...]
      >>Can you :
      >>(gdb) print *m
      >>(gdb) print *cv
      > (gdb) run -X
      > Starting program: /usr/local/apache2/bin/httpd -X
      > [Thread debugging using libthread_db enabled]
      > [New Thread 1076002208 (LWP 18474)]
      > Program received signal SIGSEGV, Segmentation fault.
      > [Switching to Thread 1076002208 (LWP 18474)]
      > ap_get_module_config (cv=0x2, m=0x2) at util_debug.c:106
      > 106 return ((void **)cv)[m->module_index];
      > (gdb) print *m
      > Cannot access memory at address 0x2
      > (gdb) print *cv
      > $1 = <incomplete type>

      That's odd, from the previous backtrace you sent, m and cv were apparently
      valid. Can you try again ?

      Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5
      http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
    Your message has been successfully submitted and would be delivered to recipients shortly.