perl-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From E R <pc88m...@gmail.com>
Subject modperl_shutdown question
Date Wed, 09 Feb 2011 22:40:36 GMT
Hi all,

In my large modperl app I am getting a segfault with this back trace:

gdb) bt
#0  0x00000000 in ?? ()
#1  0xb5a5aba6 in std::ios_base::Init::~Init() () from /usr/lib/libstdc++.so.6
#2  0xb753aa68 in __cxa_finalize () from /lib/libc.so.6
#3  0xb4b41854 in ?? () from /usr/lib/libHalf.so.6
#4  0xb4b41da0 in _fini () from /usr/lib/libHalf.so.6
#5  0xb7793256 in ?? () from /lib/ld-linux.so.2
#6  0xb7793d17 in ?? () from /lib/ld-linux.so.2
#7  0xb7668ca4 in ?? () from /lib/libdl.so.2
#8  0xb778e306 in ?? () from /lib/ld-linux.so.2
#9  0xb766909c in ?? () from /lib/libdl.so.2
#10 0xb7668cda in dlclose () from /lib/libdl.so.2
#11 0xb73e57ed in modperl_sys_dlclose ()
   from /home/erantapaa/rn/apps/2011-02-02/apache/modules/mod_perl.so
#12 0xb73dbd10 in modperl_xs_dl_handles_close ()
   from /home/erantapaa/rn/apps/2011-02-02/apache/modules/mod_perl.so
#13 0xb73d6327 in modperl_shutdown ()
   from /home/erantapaa/rn/apps/2011-02-02/apache/modules/mod_perl.so
#14 0xb76d8a6e in run_cleanups (pool=0xce98698) at memory/unix/apr_pools.c:2308
#15 apr_pool_destroy (pool=0xce98698) at memory/unix/apr_pools.c:779
#16 0xb76d8d20 in apr_pool_clear (pool=0x934e0a8) at memory/unix/apr_pools.c:734
#17 0x0806771d in main (argc=4, argv=0xbfaaa624) at main.c:689

This is happening right after my perl init code completes but before
any children have been spawned (as far as I can tell.)

Questions:

1. Is is normal for modperl_shutdown to be called this early? The code
at main.c line 689 in httpd looks like:

    for (;;) {
        apr_hook_deregister_all();
        apr_pool_clear(pconf);   // <--- segfault is happening in here

        for (mod = ap_prelinked_modules; *mod != NULL; mod++) {
            ap_register_hooks(*mod, pconf);
        }

2. It is possible to determine which dl handle is being closed in
modperl_sys_dlclose (i.e. a path name to the dynamic library)?

3. Is there a way to enable the MP_TRACE facility with mod perl's
Makefile.PL command? To build mod perl I am using:

  perl Makefile.PL MP_APXS=...
  make
  make install

Versions:
  httpd: 2.2.17
  mod_perl: 2.0.4
  perl: 5.12.2

Thanks,
ER

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Mime
View raw message