As discussed in <http://bugs.debian.org/711213>, we encountered somewhat
non-deterministic SIGSEGVs at the end of the mod_perl test suite when
building our packages based on the httpd24 branch (merged with the
2.0.8 release.)
It turns out the 'pre_cleanup' function cleanup_perl_global_providers()
was getting called after mod_perl had been unloaded, because the cleanup
was registered against the server process pool. This pool has a longer
lifetime than that of the mod_perl shared object.
As suggested by Stefan Fritsch, registering the cleanup against the
configuration pool seems to work better. This fixes the problem completely
according to my tests. Proposed patch attached.
--
Niko Tyni ntyni@debian.org
non-deterministic SIGSEGVs at the end of the mod_perl test suite when
building our packages based on the httpd24 branch (merged with the
2.0.8 release.)
It turns out the 'pre_cleanup' function cleanup_perl_global_providers()
was getting called after mod_perl had been unloaded, because the cleanup
was registered against the server process pool. This pool has a longer
lifetime than that of the mod_perl shared object.
As suggested by Stefan Fritsch, registering the cleanup against the
configuration pool seems to work better. This fixes the problem completely
according to my tests. Proposed patch attached.
--
Niko Tyni ntyni@debian.org