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]