Re: How to debug bizarre memory corruption in mod_perl - modperl

This is a discussion on Re: How to debug bizarre memory corruption in mod_perl - modperl ; On Tue, Jul 8, 2008 at 1:04 PM, Perrin Harkins wrote: > Are you running prefork, or threaded? prefork. It's a stock Fedora 9 Apache/mod_perl. > Did you change anything else? Other than installing my app, no. > The kind ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: Re: How to debug bizarre memory corruption in mod_perl

  1. Re: How to debug bizarre memory corruption in mod_perl

    On Tue, Jul 8, 2008 at 1:04 PM, Perrin Harkins wrote:

    > Are you running prefork, or threaded?



    prefork. It's a stock Fedora 9 Apache/mod_perl.


    > Did you change anything else?



    Other than installing my app, no.


    > The kind of problems you're seeing usually come from bad XS code.



    That's my guess, too, but I don't know how to narrow it down. It's a long
    list:

    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Compress/Raw/Zlib/Zlib.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Cwd/Cwd.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Data/Dumper/Dumper.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Digest/MD5/MD5.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Fcntl/Fcntl.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/File/Glob/Glob.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/IO/IO.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/List/Util/Util.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Math/BigInt/FastCalc/FastCalc.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/MIME/Base64/Base64.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/POSIX/POSIX.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Socket/Socket.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Storable/Storable.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Sys/Hostname/Hostname.so
    /usr/lib/perl5/5.10.0/i386-linux-thread-multi/auto/Time/HiRes/HiRes.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/Const/Const.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/Log/Log.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/Module/Module.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/RequestIO/RequestIO.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/RequestRec/RequestRec.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/RequestUtil/RequestUtil.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/ServerUtil/ServerUtil.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Apache2/SubRequest/SubRequest.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Brigade/Brigade.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/BucketAlloc/BucketAlloc.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Pool/Pool.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Request/Apache2/Apache2.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Request/Cookie/Cookie.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Request/Param/Param.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Request/Request.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/APR/Table/Table.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/BSD/Resource/Resource.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Date/Calc/Calc.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/DBD/mysql/mysql.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/DBI/DBI.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Digest/SHA1/SHA1.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/GD/GD.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/HTML/Parser/Parser.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Net/DNS/DNS.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/OSSP/uuid/uuid.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Params/Validate/Validate.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/Text/CSV_XS/CSV_XS.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/XML/LibXML/Common/Common.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/XML/LibXML/LibXML.so
    /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi/auto/XML/LibXSLT/LibXSLT.so

    You
    > might try reverting to Perl 5.8 or mod_perl 1.3 to determine what is
    > causing the problem.
    >


    Fedora currently ships with mod_perl 2.0 and perl 5.10. No good way to
    revert there

    --
    Stephen Clouse


  2. Re: How to debug bizarre memory corruption in mod_perl

    On Tue, Jul 8, 2008 at 2:28 PM, Stephen Clouse wrote:
    >> You
    >> might try reverting to Perl 5.8 or mod_perl 1.3 to determine what is
    >> causing the problem.

    >
    > Fedora currently ships with mod_perl 2.0 and perl 5.10. No good way to
    > revert there


    I don't use vendor packages for this stuff. If a web app is the
    primary purpose of this machine, using a generic compile that Red Hat
    made to try to please the broadest possible audience is likely to be
    worse than your own compile, even if you just take defaults.

    At this point, since you didn't change your app, you know that the
    problem is either mod_perl 2, perl 5.10, or the Fedora compile. If
    you do your own compile, that will let you test if it's Fedora's
    problem. Then you can try swapping out the others. Unless you're
    familiar with debugging perl guts, I don't really see another way for
    you to find the problem.

    - Perrin


+ Reply to Thread