Trevor,
1. Yes, it is threaded MPM.
2. We don't use a lot of other external modules. Here is our full list:
- DBI
- DBD-MySQL
- GD
- GDGraph
- Template-Toolkit
- MIME-Lite
- Digest-SHA
- TimeDate
- Test-Class (developer machine only)
- Log-Log4perl
- Class-Singleton
- Apache-DBI
- Apache-Session
- Session
And here is the method that use clone:
sub filter_empty_modules
{
my ($sectors) = @_;
my $ar = [];
foreach my $sec ( @$sectors )
{
my $sector = clone($sec);
my $modules = [];
foreach my $mod ( @{$$sec{modules}} )
{
my $pages = $$mod{pages} or next;
push(@$modules, $mod) if $$pages{has_program};
}
next if @$modules == 0;
$$sector{modules} = $modules;
push @$ar, $sector;
}
return $ar;
}
The problem with mod_perl env. is that you don't know when the problem
will occur; could be after 100 hits or a thousand hit.
I really appreciate that you are looking into this prob.
Thanks.
On Sun Aug 27 00:00:05 2006, hallta@gmail.com wrote:
Show quoted text> Thank you for your quick respose.
>
> I understand that you will (might) need thread-safe Perl to run
mod_perl in
Show quoted text> some environments (ie. if you have a threadded MPM versus forked
MPM), and I
Show quoted text> suppose my question was more general than Perl. Subsequently, I have
a few
Show quoted text> more questions that would help in my troubleshooting:
>
> 1. I understand you are not running a muti-threadded application in
Perl,
Show quoted text> though is your Apache compiled to run with thread or fork based
MPMs? I
Show quoted text> know you are running Windows XP, so I will assume threadded MPMs
versus
Show quoted text> forked.
>
> 2. I fully understand the constraints of providing too much
infomration, but
Show quoted text> I was hoping I could get more infomation on your application. Such
as:
Show quoted text>
> * What other modules are you running
> * How are you using Clone::More::clone? IE Can you give me a quick
code
Show quoted text> example of your implementation.
>
> The more information you can give, the better. I have never seen this
> module segfault and I have seen the module implemented in very large
and
Show quoted text> heavily used environments; though never in Windows - I think the
threadded
Show quoted text> MPMs may be the culperate.
>
> Given your data structure, I see nothing that would lend to the idea
that
Show quoted text> you are stretching the bounds of Clone::More; it's best at A(o[AH])+.
>
> Thank you again for working with me on this - I will do what I can to
patch
Show quoted text> this issue for you as soon as I can duplicate it or otherwise figure
it out.
Show quoted text>