Stas Bekman wrote:
Randy Kobes wrote:

On Mon, 15 Sep 2003, Steve Hay wrote:


Jarkko Hietaniemi wrote:


      http://www.iki.fi/jhi/[EMAIL PROTECTED]
      http://www.iki.fi/jhi/[EMAIL PROTECTED]

Regarding the *sigh* modperl *sigh*.  What should we do with the
elusive modperl problems?

My opinion is that we can't let them hold up 5.8.1 forever and I would
appreciate your opinions on the preferred length of "forever".


My preferred length of "forever" is "until we establish whether it is Perl's or mod_perl's fault that mp2+perl-5.8.1 doesn't currently even start up on Win32 (plus the time to fix it if it is Perl's fault" :-)

Regarding the problem that I've got (which, unlike Stas' trouble, is
completely reproduceable -- the server fails to start every time if mp2
is enabled), Randy Kobes has shed some light on this on the mod_perl dev
list.  My Apache server gets this far:

   main
   ap_run_pre_config
   modperl_hook_pre_config
   modperl_hash_seed_init
   Perl_safesysmalloc

and then crashes trying to do:

   ptr = (Malloc_t)PerlMem_malloc(size?size:1);    /* malloc(0) is
NASTY on our system */

Notice the modperl_hash_seed_init() call there?  Randy has found, and I
can confirm, that Apache+mp2 is able to start up if we add

#undef MP_NEED_HASH_SEED_FIXUP

to the top of mp2's src/modules/perl/mod_perl.c.

However, Stas says that mp2 won't work properly on the latest 5.8.1
without the fixups that having MP_NEED_HASH_SEED_FIXUP defined introduces.


So: Is this a Perl or a mod_perl problem?

Anything more I can do to help? I'm somewhat out of my depth here.



I'm somewhat out of my depth here too ... What I can add is that, in the call to ptr = (Malloc_t)PerlMem_malloc(size?size:1); "size" has a value of 16, which is the correct value corresponding to sizeof(apr_uuid_t) that modperl_hash_seed_init() is calling it with. Also, although this isn't the right thing, replacing the safemalloc() call in modperl_hash_seed_init() with a malloc() call allows the compilation to go through, but there's then problems later on with the tests.


fprintf is just a debug printout, so you can safely comment it out - definitely not a showstopper from perl 5.8.1.

doh, need more coffee, this is the problem with:


apr_uuid_t *uuid = (apr_uuid_t *)safemalloc(sizeof(apr_uuid_t));

which happens to be a perl call. I will post a patch for you test with shortly.


__________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com


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



Reply via email to