httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Manish Singh" <>
Subject DSO problem with PHP loaded
Date Mon, 02 Oct 2006 18:50:07 GMT
Hello Thanh,


This is regarding apache which is not coming up with PHP. If you can
give me some suggestions I will move it further.


I found that Apache has a DSO(Dynamic Shared Object). Using this DSO it
tries to register any third party shared library which has been compiled
as a plug in to be used by apache. When I load PHP module then this DSO
registers one function to be called at the time of cleanup. During
startup Apache runs this cleanup once and in this process when it calls
that function(dso_cleanup) which in turn calls dlclose() causes the
SIGABRT to be issued because of which Apache aborts.

I am not able to fugure out why at this moment it aborts. One reason can
be that handle which is passed in dlclose does not exist. But dlsym
suggests that handle exists. Here is the GDB output I got.


(gdb) bt

#0  0x0f584430 in __do_global_dtors_aux ()

   from /home/msingh/httpd-2.2.3/usr/local/modules/

#1  0x0f7bb288 in _fini ()

   from /home/msingh/httpd-2.2.3/usr/local/modules/

#2  0x0fb4f170 in _dl_close () from /lib/

#3  0x0fba1fe4 in dlopen () from /lib/

#4  0x3000ba24 in _dl_rtld_di_serinfo () from /lib/

#5  0x0fba259c in dlerror () from /lib/

#6  0x0fba2038 in dlclose () from /lib/

#7  0x0fceb354 in dso_cleanup (thedso=Variable "thedso" is not

) at dso/unix/dso.c:72

#8  0x0fcf1004 in run_cleanups (cref=0x100ba100)

    at memory/unix/apr_pools.c:2034

#9  0x0fcf1f4c in apr_pool_clear (pool=0x100ba0f0)

    at memory/unix/apr_pools.c:689

#10 0x1001d890 in main (argc=2, argv=0x7fc39b74) at main.c:667

(gdb) b main.c:667

Breakpoint 2 at 0x1001d888: file main.c, line 667.



Thanks and Regards,




View raw message