[Catalyst] Apache2 and mod_perl deployment issue

Adam Jimerson vendion at gmail.com
Mon Nov 14 19:24:21 GMT 2011


On Mon, Nov 14, 2011 at 4:21 AM, Tomas Doran <bobtfish at bobtfish.net> wrote:

>
> On 14 Nov 2011, at 02:55, Adam Jimerson wrote:
>
>  I am trying to deploy my app using the Catalyst Runtime 5.90006 using
>> mod_perl  2.0.5 on apache 2.2.17.  I have all my configurations in a
>> virtual host file, can be found here http://cloud.vendion.net/apps/**
>> files_sharing/get.php?token=3D**9e6836a8d9e633e2c81390d73423be**b92df489=
aa<http://cloud.vendion.net/apps/files_sharing/get.php?token=3D9e6836a8d9e6=
33e2c81390d73423beb92df489aa>
>> .
>>
>> My app runs fine under the development server script that ships with
>> catalyst, but when I try to start Apache with this virtual host file it
>> crashes Apache.  If I enable -Debug in my Catalyst app
>> I can see where the app is being loaded with Apache and that mod_perl is
>> working
>>
>
> You mean it is loading, not that it's working :)
>
>
Yea that is what I mean, and to answer an earlier question yes I do have a
LoadModule directive for mod_perl


>
>  , and that the virtual host file passed the Syntax check.  The only clue
>> that can find in my servers logs is:
>>
>> httpd2-prefork[21582]: segfault at 7f1cac9f84c0 ip 00007f1cac9f84c0 sp
>> 00007fffd98d11d8 error 14 in librt-2.11.3.so[7f1cae229000+**8000]
>>
>
> Hmm, that's not particularly nice.. But it's not crashing inside perl - so
> I'd guess this is an issue with your apache and/or mod_perl, rather than
> with the perl code itself.
>
>
>
That was my first thought as well, but not getting help from my Distros
support forums as far as server/module falls


>  Running Apache under gdb with debug symbols for apache and mod_perl
>> installed there is no stack trace generated but the only error I see is
>> this:
>>
>
> This would be as apache forks, and the gdb doesn't follow that..
>
>
Would strace be able to follow the fork, or would I be in the same boat
there?  The only thing that I can see that would be causing it is a couple
of lines like this:

rt_sigprocmask(SIG_BLOCK, [INT CHLD], [CHLD], 8) =3D 0
clone(child_stack=3D0, flags=3DCLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGC=
HLD,
child_tidptr=3D0x7f6cc00c69d0) =3D 23938
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) =3D 0
close(3)                                =3D 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) =3D 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) =3D 0
rt_sigprocmask(SIG_BLOCK, [CHLD], [CHLD], 8) =3D 0
rt_sigaction(SIGINT, {0x439950, [], SA_RESTORER|SA_RESTART,
0x7f6cbf4b9e10}, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6cbf4b9e10}, 8)
=3D 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 0}], 0, NULL) =3D 23937
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) =3D=3D 1}], 0, NULL) =3D 23938
rt_sigaction(SIGINT, {SIG_DFL, [], SA_RESTORER|SA_RESTART, 0x7f6cbf4b9e10},
{0x439950, [], SA_RESTORER|SA_RESTART, 0x7f6cbf4b9e10}, 8) =3D 0
rt_sigprocmask(SIG_SETMASK, [CHLD], NULL, 8) =3D 0
close(3)                                =3D -1 EBADF (Bad file descriptor)


>
>  Syntax error on line 7 of /etc/apache2/vhosts.d/www.**vendion.net.conf:
>> Invalid command 'PerlSwitches', perhaps misspelled or defined by a module
>> not included in the server configuration
>>
>
> How much of the config can you remove (and still get the segfault?)
>
> Does it only take the PerlSwitches line and/or the <Perl> block (if so
> it's _definitely_ an issue with your mod_perl/Apache, as with the
> 'PerlModule' statement removed, no code except mod_perl is actually being
> loaded.
>
>
Without the <Perl> block I get this error when trying to start Apache2:

startproc:  exit status of parent of /usr/sbin/httpd2-prefork: 1

Without the PerlSwitches line that is what causes it to segfault.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20111114/c3a17=
eee/attachment.htm


More information about the Catalyst mailing list