[Catalyst] Catalyst modperl - child process segmentation fault

Terence Monteiro terence at deeproot.co.in
Tue Dec 9 06:05:13 GMT 2008

Toby Corkindale wrote:
> Terence Monteiro wrote:
>> Toby Corkindale wrote:
>>> Terence Monteiro wrote:
>>>> I'm running my Catalyst application on apache2 using modperl with mysql
>>>> database accessed by DBIx::SearchBuilder. I'm getting the message in
>>>> the
>>>> apache2 error logs:
>>>> child pid 1140 exit signal Segmentation fault (11), possible core dump
>>>> in /tmp
> ]snip]
>>> Ugh.. Dumping core? That's rather drastic!
>>> What versions of DBI and DBD::mysql are you running?
>>> And is DBD::mysql linked against the same mysql client libraries as
>>> mod_php?
>> Thanks, Toby
>> DBD::mysql version: 4.008
>> DBI version:        1.607
>> libapache2-mod-php5 version: 5.2.0-8+etch10
>> How can I find out the mysql client libraries DBD::mysql and mod_php are
>> linked with? What you say is possible because I upgraded DBD::mysql from
>> the latest debian sources in unstable, but not (yet) mod_php. But I don't
>> understand why mod_php should matter.

> Could you humour me, and try disabling PHP in Apache, and then seeing if> 
> that stops the Catalyst app crashing?
> I think you can do it by 'rm /etc/apache/mods-enabled/*php*.load' or
> something very similar?

Thanks for the reply. I have switched to fastcgi deployment and so far have
not had any segfaults. I will try what you're saying tonight, since being a
production environment, I get downtime only after 7:30pm IST (0100 UTC).

> To check the actual versions of libraries used, you can do:
> ldd /usr/lib/apache2/modules/mod_php*.so
> ldd /usr/lib/perl5/auto/DBD/mysql/mysql.so
> (At least I'm pretty sure that's where the files should be on debian etch)
> But if you've recompiled dbd::mysql from source, and not mod_php, then
> I'll bet this IS the problem. Sorry.

I installed both DBD::mysql and mod_php from debian packages
(libdbd-mysql-perl and libapache2-mod-php5). I did not compile DBD::mysql
(never have before).

ldd /usr/lib/perl5/auto/DBD/mysql/mysql.so:
        libmysqlclient.so.15 => /usr/lib/libmysqlclient.so.15 (0xb7d04000)

The only .so file I can find on libapache2-mod-php5 deb package is
/usr/lib/apache2/modules/libphp5.so, but running ldd on it does not yield
any mysql client libraries. The output is:

        linux-gate.so.1 =>  (0xffffe000)
        libcrypt.so.1 => /lib/libcrypt.so.1 (0xb79ff000)
        libz.so.1 => /usr/lib/libz.so.1 (0xb79ea000)
        libssl.so.0.9.8 => /usr/lib/i686/cmov/libssl.so.0.9.8 (0xb79a3000)
        libdb-4.6.so => /usr/lib/libdb-4.6.so (0xb7870000)
        libbz2.so.1.0 => /lib/libbz2.so.1.0 (0xb7860000)
        libpcre.so.3 => /usr/lib/libpcre.so.3 (0xb7831000)
        libresolv.so.2 => /lib/libresolv.so.2 (0xb781f000)
        libm.so.6 => /lib/libm.so.6 (0xb77fa000)
        libdl.so.2 => /lib/libdl.so.2 (0xb77f5000)
        libnsl.so.1 => /lib/libnsl.so.1 (0xb77de000)
        libgssapi_krb5.so.2 => /usr/lib/libgssapi_krb5.so.2 (0xb77b4000)
        libkrb5.so.3 => /usr/lib/libkrb5.so.3 (0xb7720000)
        libk5crypto.so.3 => /usr/lib/libk5crypto.so.3 (0xb76fc000)
        libcom_err.so.2 => /lib/libcom_err.so.2 (0xb76f9000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0xb75bf000)
        libc.so.6 => /lib/libc.so.6 (0xb748a000)
        libcrypto.so.0.9.8 => /usr/lib/i686/cmov/libcrypto.so.0.9.8
        libpthread.so.0 => /lib/libpthread.so.0 (0xb7320000)
        /lib/ld-linux.so.2 (0x80000000)
        libkrb5support.so.0 => /usr/lib/libkrb5support.so.0 (0xb7318000)
        libkeyutils.so.1 => /lib/libkeyutils.so.1 (0xb7314000)

> -Toby

Thanks and Regards,
Terence Monteiro.

DeepRoot Linux,
Ph: +91 (80) 4089 0000
Getting GNU/Linux to work for you. Faster. Better. Today. Every way

More information about the Catalyst mailing list