[Catalyst] Apache2 and mod_perl deployment issue

Adam Jimerson vendion at gmail.com
Mon Nov 14 20:59:38 GMT 2011


I did use the -X flag on gdb and it didn't provide any useful information.
On Nov 14, 2011 3:30 PM, "Peter Edwards" <peter at dragonstaff.co.uk> wrote:

> Hi if you run the Apache server in single threaded mode with the -X flag
> you should be able to strace it or gdb it.
> Regards, Peter
> On Nov 14, 2011 7:34 PM, "Adam Jimerson" <vendion at gmail.com> wrote:
>
>> On Mon, Nov 14, 2011 at 4:21 AM, Tomas Doran <bobtfish at bobtfish.net>wrot=
e:
>>
>>>
>>> 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**
>>>> b92df489aa<http://cloud.vendion.net/apps/files_sharing/get.php?token=
=3D9e6836a8d9e633e2c81390d73423beb92df489aa>
>>>> .
>>>>
>>>> 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 coup=
le
>> 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|SIGCHLD,
>> 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 descripto=
r)
>>
>>
>>>
>>>  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 bei=
ng
>>> 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.
>>
>> _______________________________________________
>> List: Catalyst at lists.scsys.co.uk
>> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
>> Searchable archive:
>> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
>> Dev site: http://dev.catalyst.perl.org/
>>
>>
> _______________________________________________
> List: Catalyst at lists.scsys.co.uk
> Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
> Searchable archive:
> http://www.mail-archive.com/catalyst@lists.scsys.co.uk/
> Dev site: http://dev.catalyst.perl.org/
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20111114/aceb6=
90b/attachment.htm


More information about the Catalyst mailing list