Stas Bekman wrote:

Stas Bekman wrote:

Steve Hay wrote:

modperl_mgv.c:264: package Apache::PerlSections not defined, attempting to load

Free to wrong pool 262770 not 925938.



The problems is this: perl uses dTHX; calls in some functions which disregards the passed context and retrieves the globally stored context. Which means that *every* time we select an interpreter, we must call PERL_SET_CONTEXT() and pass to it the parent interpreter of the currently used pool :(


In particular for your and mine segfaults the Perl_safesysfree() call is the one that uses dTHX and gets the wrong context at times, and then it crashes.


I think if you build perl without using perl's malloc this particular segfault will go away. Certainly it's not a good solution.

No, that's not true - my Perl is built without Perl's malloc anyway :(


It isn't possible to build mp2 using a Perl that doesn't have ithreads, and on Win32 at least (I don't know if this limitation exists on other OS's too or not?) you can't use Perl's malloc with ithreads! Perl's win32/Makefile says of the PERL_MALLOC option (equivalent to -Dusemymalloc): "Currently, this cannot be enabled if you ask for USE_IMP_SYS". Hence I have:

   C:\Temp\modperl-2.0>perl -V:usemymalloc
   usemymalloc='n';

I've never liked that, nor understood why it is. I would rather use Perl's malloc if possible; I do with my current mp1 setup which doesn't require ithreads.

- Steve


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to