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: [email protected]
For additional commands, e-mail: [email protected]